text:
« 'Survivor: Ghost Island' Power Rankings Final Round – It's In the Bag Edition
'Survivor' Champion Wendell – "Dom Thought He Was Going to Beat Me 8-2" »
'Survivor: Ghost Island' Finale Recap – Saving the Best for Last
"Survivor: Ghost Island" (CBS)
QUICK NOTE: XFINITY.com is the place to be for all of your bug-eatin', back-stabbin', "Survivor" coverage. Be sure to come back for exit interviews with all six of tonight's finalists. Follow me on Twitter (@gordonholmes) for up-to-the-minute updates.
Last Week: Wendell lost a challenge due to a lack of yellin', Don was worried Dom had a secret he wasn't tellin', and the person voted out of the game was totally adorable.
39 Days, 20 People, 1 "Survivor" Blog
Let's take a look at the tribe as it currently stands…
The Lavita Tribe (wearing black)
Angela, 42 – Army Veteran
Donathan, 26 – Caretaker
Domenick, 38 – Construction Supervisor
Laurel, 29 – Financial Consultant
Sebastian, 22 – Fishing Guide
Wendell, 33 – Furniture Company Owner
Post-Tribal Shenanigans
Wendell cracks a joke, telling Dom that if he'd known which way the vote was going to go, he could have sent Dom home. Yeah…that feels like one of those jokes that has a little too much truth in it.
Donathan is (rightfully) shocked to still be in the game. But, Laurel tries to talk him down.
In other news, Dom and Wendell (Domedell?) aren't worried about Donathan, so they decide to target Sebastian next. And what bait do you use to catch a Sea Bass? Banana Laffy Taffy.
Immunity Challenge Time: The players will run through the MOST AMAZING SKULL-SHAPED MAZE EVER in search of three bags of puzzle pieces. The first person to complete their puzzle will win immunity and a steak dinner.
Result: Wendell finished the puzzle first and made sure to tip Jeff Probst off to that fact. He was allowed to share his meal with two people and chose Sebastian and someone named Angela.
Pre-Tribal Politicking
Laurel is really bummed that she didn't get to go on the reward. She uses this as her 30th wierdo reason to not trust her alliance.
Sebastian realizes that he's playing a game and that he's in Dom and Wendell's shadow. He approaches Donathan and Angela with a plan to use his secret extra vote. Angela is psyched to be a part of someone's plan.
CUT TO: Angela telling Dom about Sebastian's extra vote.
SERIOUSLY?! She just offered it up. Didn't try to use the information as leverage to get further in the game. Ugh…tell me she wasn't in charge of any military secrets.
Best ways to spread a secret on "Survivor": Telephone, telegraph, tell-a-swing-vote.
Dom's concern is that everyone knows he has two idols, but everyone suspects that one of those idols is fake.
Tribal Time
So, this one got weird quickly.
Donathan downplayed his chances in the game, but Domenick didn't buy it. He immediately called out Sebastian and Donathan, spilling the beans about Sebastian's extra vote.
Domenick then breaks out his two idols and provides a fun little backstory for each. He even goes so far as to hand the fake idol to Probst.
This…uh…this isn't a great look for Domenick. He's coming off as a bully. Chris even refers to him as "The Godfather."
Then Wendell and Domenick have an awkward back-and-forth where Wendell claims that they wanted to work with him.
Voting Time: Sebastian votes for someone whose name starts with a "Do" and the rest of the votes are secret.
Probst tallies and returns. He asks if anyone wants to play an idol and Dom confesses that the one he gave to Jeff didn't have a chance to mature and is worthless.
Alright, we've got one vote for Domenick, one vote for Donathan, two votes for Sebastian, and the fifteenth person voted out of "Survivor: Ghost Island" and the eighth member of the jury is…Sea Bass.
Wow…he didn't play the vote at all. OMG, so cursed, you guys.
Quick Analysis: That was it. That was the last chance to get Wendell or Dom out before final four. One of them will win this game no matter what.
Immunity Challenge Time: The players will race through an obstacle course while retrieving bags of puzzle pieces. The first person to complete the pyramid-shaped puzzle will win immunity.
Result: Wendell takes another one. Who knew a carpenter would be so good at putting wooden pieces into place? Ooo…and now he's free to gift that idol to somebody.
Laurel appreciates that she's the biggest challenge threat left on the board. And Domenick knows that she'd take Donathan to the end if she was given a chance. She claims that she needs him on the jury. Yeah, Laurel would need six Donathans on the jury.
Wendell counters by mentioning that taking them out would be a big resume builder.
Laurel again pushes the idea that Domenick and Wendell would split the votes and she'd pick up the rest. Yes, she'd get all of the votes that don't go to Wendell and Domenick. Unfortunately for her, that number would probably be zero.
Ha! Sebastian is the only jury member who looks the same as he did in the game.
And that's pretty much it excitement-wise. Everyone appreciates that Dom and Wendell have all the power and can do whatever they want.
Voting Time: Donathan votes for Laurel, Laurel votes for Donathan, and the rest of the votes are lost to the magic of editing.
JPro tallies and returns. He asks if anyone wants to play an idol and…Dom does. Then, Wendell plays his idol for Laurel…while giving a big speech. Like…too big of a speech.
Alright, we've got one vote for Laurel, two votes for Donathan, and the sixteenth person voted out of "Survivor: Ghost Island" and the ninth member of the jury is…Donathan.
During the break, Jeff tells us that Sia is gifting $10,000 to Donathan. So, Sia is like the new Sprint?
Quick Aside: Both Donathan and Sebastian were awesome on their way out. Say what you want about this season, but this cast is full of class acts.
Immunity Challenge Time: The players will stand on a wobbly board and stack balls and platforms. The first person to stack six balls will win immunity.
Result: Wendell almost had it, but Domenick pulled off the win. Also, the foursome will spend the day at Ghost Island where Domenick will be faced with another decision.
Wendell immediately accepts that Domenick won't be taking him to the final three. So, it's up to Dom to figure out who he thinks can beat Wendell in the fire-making challenge.
Laurel makes the case that she's not very good at making fire. While Angela makes the case that the jury likes Laurel. So…Angela is pitching that Laurel is a threat? Maybe that's why we don't hear a lot from Angela…
In any case, Domenick doesn't love the chances of Angela or Laurel getting the best of Wendell.
Quick Aside: Is it crazy for Dom to take Wendell to the end? That way you show you're not afraid of him. And, you avoid the very real possibility of Wendell looking like a champ if he wins the fire challenge.
In other news, Domenick must choose which urn will be used for the final vote. He's given the choice between "The Australian Outback," "Cagayan," and "Game Changers." The thought is that these are urns where people took the wrong person to the finals.
He stands there pondering this nothing decision for way too long before going with Cagayan.
Heh…my favorite "Survivor" joke ever: What's the sound of a million dollars flying out the window? Woo…
But then Dom comes up with the idea of giving his necklace to Angela and facing Wendell himself. Wait…what?!
Whoa… I literally got goosebumps. That'd be the biggest move ever or the worst.
Laurel and Angela both lobby to be the one who Dom takes to the end. It actually makes both of them look really bad. Meanwhile, Wendell has accepted his fate and kind of looks like a bad ass in doing so.
When it's all said and done, Domenick chooses Laurel to go to the end.
Fire-Making Challenge
Before things get underway, Wendell wants to use the purple table, but he's been assigned the orange table. Angela doesn't care, so Probst lets them swap.
The challenge isn't even close. Wendell smokes Angela…no pun intended. So, the seventeenth person eliminated from "Survivor: Ghost Island" and the last member of the jury is…Angela.
Welp…safe to say this season is going to have one of the best second-place players ever.
Day-39 Brunch
Wendell considers himself to be a silent assassin who made strong personal bonds with people.
Laurel thinks she's come a long way from day one where she was terrified. She knows her challenge will be letting the jury know the moves she's been making.
And finally, Domenick believes that juries respect great gameplay and that he has had the best gameplay.
Whoa…Angela cleans up very nicely.
Round One: Outwit
A big part of this round was trying to discover who was really driving their alliance. Wendell claimed that he was the mastermind, and Dom kind of laughed at that. Domenick said it was a team effort, but he wouldn't let anyone tell him what to do.
In other news, some jury members gave Laurel heat for tagging along with Dom and Wendell, but Donathan came to her defense.
And the Round Goes To… I'm giving this to Domenick, there's a weird urgency to Wendell's speech that isn't playing well. Laurel made good points, but it's clear she isn't in the running.
Round Two: Outplay
Laurel claims that she was good in challenges, but she didn't feel like she ever needed to win a challenge to save her game. I'm actually a big believer in that.
Wendell says that it was part of his strategy to make camp life as comfortable as possible. He also points out that he found an idol and never had to use it. In fact, he used it to prove his loyalty to Laurel.
Domenick then calls out the move he made to get Sebastian to change his vote at final six. This seems to backfire as Sebastian and Kellyn feel like Domenick was too aggressive.
And the Round Goes To… Again, Laurel is doing great, but nobody seems to care. Between Dom and Wendell, I'm giving it to Wendell.
Round Three: Outlast
Laurel knows that the jury wanted the big move of her taking out Wendell or Dom, but she knows she would have been the next target.
Domenick tries to patch up the fact that he has hurt peoples' feelings. He claims to be passionate, not malicious.
Finally, Wendell was proud of bringing his weirdness to the game. He believes he put his heart out there and that he played a clean game even though there are a few things that he isn't particularly proud of.
And the Round Goes To… Wow… I just don't know which way this is going to go. I expected Chris to be anti-Dom, but that wasn't the case at all.
So…uh…Jenna and Angela didn't say a word. Not shocking.
Voting Time: Michael votes for Dom, Sebastian votes for Wendell, Chris votes for Dom, Kellyn votes for Wendell, and the rest of the votes will have to wait.
Wow…I'm guessing that means no votes for Laurel.
Probst tallies and returns…and starts…reading…the votes… What are you doing, Probst?!
Everybody is freaking out…I'm freaking out. Wait…does this mean there's a tie?
Alright, we've got one vote for Domenick, one vote for Wendell, one vote for Domenick, one vote for Wendell, one vote for Domenick, one vote for Wendell, one vote for Domenick, one vote for Wendell, one vote for Domenick, and the final vote is for…Wendell.
We've got a tie!
Ok, Laurel will have to cast the deciding vote. This is intense.
Seriously, she had a minute to make that decision? That's terrible.
She casts her vote. Then Probst gathers it and bids them farewell.
Next up, we're in beautiful Los Angeles, California. Probst cracks open the stylish Cagayan urn and announces that the winner of "Survivor: Ghost Island" is…Wendell!
Verdict: What an amazing ending to a middle-of-the-road season of "Survivor."
So, what went wrong? I dunno…maybe tone down the pre-merge swaps. Maybe a few less advantages.
But in other news, my personal "Survivor" curse, the one where I've never picked a winner in my pre-season rankings…the one that started when I picked Michele Chase to win "Survivor: Gabon" has finally ended.
Power Rankings Results: Roark received six points, while I received eight points. The final score was Team Roark 138, Team Gordon 143. Big thanks to Roark for being awesome competition this season!
Tags: survivor, survivor ghost island
This entry was posted on May 23, 2018 at 9:41 pm and is filed under RealityTV, survivor, TV News.	You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.


Just Another Button Company has this great collection of themed decorative pins called Just Pins, of coarse. They are Yellow Lemonade themed.
One each of a: 2 birds- one brown one blue, blue pin, and 2 flowers.


text:
Q: Testing retrofit 2 with robolectric, callbacks not being called I'm trying to create unit tests for my restful api with the server.
After some research I came up with a solution that uses robolectric and the OkHttp MockWebServer.
Here's what I have (simplified example):
The api interface:
public interface ServerApi {
    @POST("echo")
    Call<EchoResponseData> echo(@Body EchoRequestData data);
}

The response/request data objects:
public class EchoRequestData {
    private final String value;

    public EchoRequestData(final String value) {
        this.value = value;
    }
}

public class EchoResponseData {
    private String value;

    public EchoResponseData() {}

    public String getValue() {
        return this.value;
    }
}

The api implementation:
public class ServerFacade {
    private final ServerApi serverApi;
    private final OkHttpClient httpClient;
    private final Retrofit retrofitClient;

    public ServerFacade(final String baseUrl) {
        this.httpClient = new OkHttpClient.Builder().addNetworkInterceptor(new Interceptor() {
            @Override
            public okhttp3.Response intercept(Chain chain) throws IOException {
                Request request = chain.request();

                long t1 = System.nanoTime();
                System.out.println(String.format("Sending request %s on %s%n%s", request.url(), chain.connection(), request.headers()));

                okhttp3.Response response = chain.proceed(request);

                long t2 = System.nanoTime();
                System.out.println(String.format("Received response for %s in %.1fms%n%s%s", response.request().url(), (t2 - t1) / 1e6d, response.headers(), response.body().string()));

                return response;
            }
        }).build();

        this.retrofitClient = new Retrofit.Builder()
                .client(this.httpClient)
                .baseUrl(baseUrl.toString())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        this.serverApi = this.retrofitClient.create(ServerApi.class);
    }

    public void echo(final String value) {
        final EchoRequestData data = new EchoRequestData(value);
        this.serverApi.echo(data).enqueue(new Callback<EchoResponseData>() {
            @Override
            public void onResponse(Call<EchoResponseData> call, Response<EchoResponseData> response) {
                System.out.println("onResponse");
            }

            @Override
            public void onFailure(Call<EchoResponseData> call, Throwable throwable) {
                System.out.println("onFailure: " + throwable.getMessage());
            }
        });
    }
}

The test:
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ServerFacadeTest.MyNetworkSecurityPolicy.class,
        manifest = "src/main/AndroidManifest.xml",
        constants = BuildConfig.class,
        sdk = 16)
public class ServerFacadeTest {
    protected MockWebServer mockServer;
    protected ServerFacade serverFacade;

    @Before
    public void setUp() throws Exception {
        this.mockServer = new MockWebServer();
        this.mockServer.start();

        this.serverFacade = new ServerFacade(this.mockServer.url("/").toString());
    }

    @Test
    public void testEcho() throws InterruptedException {
        final Object mutex = new Object();

        final String value = "hey";
        final String responseBody = "{\"value\":\"" + value + "\"}";

        this.mockServer.enqueue(new MockResponse().setResponseCode(200).setBody(responseBody));
        this.serverFacade.echo(value);

        synchronized (mutex) {
            System.out.println("waiting");
            mutex.wait(2500);
            System.out.println("after wait");
        }
    }

    @After
    public void tearDown() throws Exception {
        this.mockServer.shutdown();
    }

    @Implements(NetworkSecurityPolicy.class)
    public static class MyNetworkSecurityPolicy {
        @Implementation
        public static NetworkSecurityPolicy getInstance() {
            try {
                Class<?> shadow = MyNetworkSecurityPolicy.class.forName("android.security.NetworkSecurityPolicy");
                return (NetworkSecurityPolicy) shadow.newInstance();
            } catch (Exception e) {
                throw new AssertionError();
            }
        }

        @Implementation
        public boolean isCleartextTrafficPermitted() {
            return true;
        }
    }
}

The problem is that the callbacks that I register in the implementation (ServerFacade) are not being called.
This is the output I get:
okhttp3.mockwebserver.MockWebServer$3 execute
INFO: MockWebServer[50510] starting to accept connections
waiting
Sending request http://localhost:50510/echo on Connection{localhost:50510, proxy=DIRECT hostAddress=localhost/127.0.0.1:50510 cipherSuite=none protocol=http/1.1}
Content-Type: application/json; charset=UTF-8
Content-Length: 15
Host: localhost:50510
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.3.0

okhttp3.mockwebserver.MockWebServer$4 processOneRequest
INFO: MockWebServer[50510] received request: POST /echo HTTP/1.1 and responded: HTTP/1.1 200 OK
Received response for http://localhost:50510/echo in 9.3ms
Content-Length: 15
{"value":"hey"}
okhttp3.mockwebserver.MockWebServer$3 acceptConnections
INFO: MockWebServer[50510] done accepting connections: Socket closed
after wait

Process finished with exit code 0

Before I added the wait on the mutex object, this is what I got:
okhttp3.mockwebserver.MockWebServer$3 execute
INFO: MockWebServer[61085] starting to accept connections
okhttp3.mockwebserver.MockWebServer$3 acceptConnections
INFO: MockWebServer[61085] done accepting connections: Socket closed

Process finished with exit code 0

Any ideas what's going on here?
It's clear that the mock server receives the request and responds as it should.
It's also clear that the http client receives the response as it should, but my callbacks (the onResponse or onFailure) are not being executed.
These are my dependencies:
testCompile 'junit:junit:4.12'
testCompile "org.robolectric:robolectric:3.0"
testCompile 'com.squareup.okhttp3:mockwebserver:3.3.0'

compile 'com.google.code.gson:gson:2.3.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

Edit
It seems that the callbacks aren't executed because they are supposed to do so in the android main looper, which wasn't running.
Using ShadowLooper.runUiThreadTasks() I was able to make those callbacks getting called, but the onFailure callback is called every time with message closed.
Then I decided to switch to synchronous requests, so I'm adding this to the http client:
final Dispatcher dispatcher = new Dispatcher(new AbstractExecutorService() {
    private boolean shutingDown = false;
    private boolean terminated = false;

    @Override
    public void shutdown() {
        this.shutingDown = true;
        this.terminated = true;
    }

    @NonNull
    @Override
    public List<Runnable> shutdownNow() {
        return new ArrayList<>();
    }

    @Override
    public boolean isShutdown() {
        return this.shutingDown;
    }

    @Override
    public boolean isTerminated() {
        return this.terminated;
    }

    @Override
    public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
        return false;
    }

    @Override
    public void execute(Runnable command) {
        command.run();
    }
});

this.httpClient = new OkHttpClient.Builder()
        .addNetworkInterceptor(loggingInterceptor)
        .dispatcher(dispatcher)
        .build();

Now it happens synchronously alright, but I still get the onFailure callback with closed as the message and I don't understand why.

A: After playing around with things, I found what the problems were:

*

*The callbacks were added to the main looper which wasn't run so they were never actually executed.

*I consumed the response body with my logging interceptor, and then when I wanted to get the response body in the callback an exception was thrown saying closed.
The 2nd part is easily solved like so:
Interceptor loggingInterceptor = new Interceptor() {
    @Override
    public okhttp3.Response intercept(Chain chain) throws IOException {
        Request request = chain.request();

        final long t1 = System.nanoTime();
        System.out.println(String.format("Sending request %s on %s%n%s", request.url(), chain.connection(), request.headers()));

        okhttp3.Response response = chain.proceed(request);

        final long t2 = System.nanoTime();
        final String responseBody = response.body().string();
        System.out.println(String.format("Received response for %s in %.1fms%n%s%s", response.request().url(), (t2 - t1) / 1e6d, response.headers(), responseBody));

        return response.newBuilder()
                .body(ResponseBody.create(response.body().contentType(), responseBody))
                .build();
    }
};

(more info here)
The first problem can be solved in (at least) 2 ways:
(1) Add your own Dispatcher/ExecutorService to make the async requests synced:
Dispatcher dispatcher = new Dispatcher(new AbstractExecutorService() {
    private boolean shutingDown = false;
    private boolean terminated = false;

    @Override
    public void shutdown() {
        this.shutingDown = true;
        this.terminated = true;
    }

    @NonNull
    @Override
    public List<Runnable> shutdownNow() {
        return new ArrayList<>();
    }

    @Override
    public boolean isShutdown() {
        return this.shutingDown;
    }

    @Override
    public boolean isTerminated() {
        return this.terminated;
    }

    @Override
    public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
        return false;
    }

    @Override
    public void execute(Runnable command) {
        command.run();
    }
});

new OkHttpClient.Builder()
        .dispatcher(dispatcher)
        .build();

(2) Make sure the main looper executes the callbacks yourself:
// in the ServerFacade
public void echo(final String value, final AtomicBoolean waitOn) {
    final EchoRequestData data = new EchoRequestData(value);

    this.serverApi.echo(data).enqueue(new Callback<EchoResponseData>() {
        @Override
        public void onResponse(Call<EchoResponseData> call, Response<EchoResponseData> response) {
            System.out.println("***** onResponse *****");
            waitOn.set(true);
        }

        @Override
        public void onFailure(Call<EchoResponseData> call, Throwable throwable) {
            System.out.println("***** onFailure: " + throwable.getMessage() + " *****");
            waitOn.set(true);
        }
    });
}

And
// in the ServerFacadeTest
@Test
public void testEcho() throws InterruptedException {
    final AtomicBoolean callbackCalled = new AtomicBoolean(false);

    final String value = "hey";
    final String responseBody = "{\"value\":\"" + value + "\"}";

    this.mockServer.enqueue(new MockResponse().setResponseCode(200).setBody(responseBody));
    serverFacade.echo(value, callbackCalled);

    while (!callbackCalled.get()) {
        Thread.sleep(1000);
        ShadowLooper.runUiThreadTasks();
    }
}

Hopefully this will help others in the future.
If anyone comes up with better solutions I'll be happy to learn.

redpajama_set_name: RedPajamaStackExchange


text:
Rurouni Kenshin OAV 2: Seisouhen (Reflection)
Genre: Martial Arts/Jidai Geki/Drama
Credits: Nobuhiro Watsuki. Script by Yoshida Reiko. Directed by Furuhashi Kazuhiro
Rurouni Kenshin DVDs
RK Manga and Illustrations
Rurouni Kenshin Games
Rurouni Kenshin Toys
Rurouni Kenshin Music
Rurouni Kenshin Apparel
RK Item Shop
Thundersenshi'sDescription:
It is the 29th year of Meiji. Eighteen years have passed since the battle with Yukushiro Enishi.
Himura Kenshin still searches for atonement...
...and Kamiya Kaoru waits patiently for his return, together with their son, Kenji.
It is a battle of love and endurance, as much as it is of justice and inner peace.
Witness the closing of a timeless tale, the ending of a legend, as continued from that of the manga.
The end of it all.>>> by thundersenshi (03.27.2002)
I had spent quite some time thinking about how I would rate this particular title. It just so happens that Rurouni Kenshin is my most favorite anime and manga of all time. I've since declared Nobuhiro Watsuki a genius back in the days when I even ditched a lame high school dance so as not to miss a single episode of this series. Then I heard the news (just a few months ago) that there would be a second OAV release, and it would reveal part of the Jinchuu arc. Since I always despaired that the tv series did not include this wonderful finale to the story, you can just imagine my reaction.
Now I've finally seen it, after having a break from RK for more than a year already. But I pretty much have mixed feelings about it.
Firstly, I found out that it wasn't just about the Jinchuu arc. It didn't focus much on that at all, although some of the more essential parts were shown. Seisouhen, in fact, tells of an ending further than that of the manga. And it was undeniably beautiful. Dramatic. Heartbreaking, even. It was such a rush seeing all the old characters again, save for Aoshi and Misao, who were unfortunately missing.
But then, what stopped me from giving this a perfect 10? As a huge fan of the series, I felt like there was something missing. I am not at all certain if it was with the execution, or the pace of how it was all done, but something was lacking. Come to think of it, it might not have been so obvious. Perhaps being the RK fanatic that I am made me acutely aware of it. I keep thinking that if I did not love this series as much as I do, maybe I would've given a different opinion. As it is, I'm not just any other critic. I'm a critic who happens to love the series in its entirety, and all in its several renditions.
You can view this either as a happy ending, or not. I'm not so sure myself. It did depress me, though. And maybe it was that. Sure, it was okay to be depressive with the first OAV (hell, Kenshin's past was grim), but somehow, I feel as if this second one lacked a certain transition. What had been shown in the manga was a closure I would've much preferred. Yes, it was happy, but most importantly, it had been the perfect ending. Kenshin had finally gotten what he didn't with Tomoe. But to continue that happy manga ending with the contrasting overall atmosphere of Seisouhen ...well. I wouldn't mind half as much if they were able to infuse a bit of the happier memories (of Kaoru and Kenshin's life together) so at least there would be a different sense of fulfillment after everything that has happened. Just so the manga ending would still make complete sense, you see. But then, Seisouhen was simply too short for that.
Maybe it's just me. I love RK too much, enough to beg for a little consolation. But this is the end, and this is as real as it gets.
Note: This OAV will be appreciated more by people who are familiar with the series as a whole. Just as a reference.
Individual Rating: Art: 10; Story & Plot: 9; Characters: 10; Sounds: 9
They're Human After All>>> by skysenshi (03.28.2002)
If you have already seen the first OAV, with it's soul rending, emotionally heavy themes, you can expect the very same from this final installment to the Rurouni Kenshin series. This OAV, just like the first, is completely in an alternate dimension parallel to that of the TV series and the manga. If the TV series and the manga were all about feel-good entertainment, this isn't.
The narrator of the second part implores that everybody watch the final segment with an open heart. I did exactly that, and I ended up crying for hours after. I couldn't even eat without bursting into tears. And this opinion will be very short because every time I try to relive the moments of Kaoru and Kenshin's beautifully chronicled lives in order to write a decent contribution to Anime Okashi, I break down and cry. From the beginning to the end, I was watching with a heavy heart. The story takes off after the seemingly happy ending of the manga, where we saw Kenshin and Kaoru living as husband and wife with son Kenji completing the balance. In this OAV, Kenshin meets up with the shadows of his past, triggering a series of events that ended in bittersweet triumph of life over death. Of ends and new beginnings. The plot is all about realism and coming in full circle, and while I resent the fact that Nobohiro Watsuki allowed Reiko Yoshida to cap his witty, light-hearted work with such a dark cloud hovering over it, I can't help but feel that this is an absolute masterpiece. After all, the ending after the credits, where Kenji and his "friend" are shown, shows a light of hope and a rainbow at the end of the storm--however not obvious this is to a viewer who doesn't appreciate subtlety.
On top of that, Kaoru is shown here in a light that made me understand her more. If I was apathetic to her existence in the series, liking her only for the fact that she is Kenshin's love interest, I have grown a newfound respect for her in this OAV. She has shown selflessness, strength and resilience beyond physical abilities--and that makes her an admirable woman of noble character.
If you are a Rurouni Kenshin fan, you must definitely see this. I guarantee you will like it despite itself--even if you became a fan of RK because of its wit and relaxed atmosphere and would hate to see your favorite legends in a less idealistic state. As the narrator had spoken, this was a story written with love for the series.thus, it must be seen with an open heart that watches with love for the series.
Individual Rating: Art: 10; Story & Plot: 9; Characters: 10; Sounds: 10

redpajama_set_name: RedPajamaCommonCrawl


text:
« Building Virginia Woolf — in Lego blocks
Call for papers about Bloomsbury art »
Woolf appearances in Brookner novels
Tuesday 4 August 2009 by Alice Lowe
Anita Brookner published her first novel in 1981 at the age of 53, following with one a year until 2000 when she slowed down just a bit. Her 25th novel, Strangers, was released this year.
She rejects feminism, and her protagonists are very traditional, but sometimes they make surprisingly independent and unorthodox choices.
Virginia Woolf appears in at least two of her novels, once as a significant icon and once in passing, both references adding flavor to the stories.
Hotel du Lac
Edith Hope is a romance writer with the pen name of Vanessa Wilde. People have noted her resemblance to Virginia Woolf, including her publisher, who says: "She really does look remarkably Bloomsburian…the hollowed cheeks and the pursed lips."
Her life in disarray, she retreats to a Swiss resort and its eclectic cast of characters. A man says, "Whoever told you that you looked like Virginia Woolf did you a grave disservice, although I suppose you thought it was a compliment." Edith prefers men to women, and favors the work of Colette and Henry James. Yet she is proud that she earns her own money, and she rejects the opportunity for a conventional life of comfort and ease.
Undue Influence
Claire faces her future after her mother's death, content to take life as it comes: her job in a Bloomsbury bookshop, involvement with the lifeless Martin. Claire's opening line is a hook: "It is my conviction that everyone is profoundly eccentric." She admits to making hasty assessments as a result of observing rather than participating in life, but her bland façade hides secrets.
Claire says of the bookshop owners: "I was surprised that they…always had lived in Bloomsbury. But I suppose that what was once an accident of geography had hardened over the years to a conviction that he was part of a 'set', an authentic Bloomsburian. Whether [Virginia Woolf] ever noticed him when they passed in the street, as they must have done on occasions, would have been highly unlikely."
The Debut
I reread Brookner's first novel, with another woeful protagonist and dutiful daughter, and another great opening line ("Dr. Weiss, at forty, knew that her life had been ruined by literature"), wondering if I might find a forgotten reference to Virginia Woolf.
Woolf didn't appear, but Ruth Weiss, an authority on women in Balzac, seems the academic counterpart to Edith Hope. "Her appearance and character were exactly halfway between the nineteenth and twentieth centuries; she was scrupulous, passionate, thoughtful, and given to self-analysis, but her colleagues thought her merely scrupulous…" She is often sidelined by the exploits of her manipulative parents and escapes for a time to Paris to pursue her Balzac studies.
Posted in Alice Lowe, contemporary fiction, Virginia Woolf | Tagged Anita Brookner, book review, books, Woolf in contemporary fiction | Leave a Comment


text:
Our Services /
Family Law /
Some relationships, unfortunately, do not survive as long as people would hope. The separation which follows often involves a great deal of negotiation and discussion about how property is to be divided. The situation is more complicated where there are children involved as parents, following separation from their spouse, have to decide on how best to arrange for their care.
Making Arrangements for Children in Separation
The decision concerning a child's residence and contact, however, doesn't necessarily need to be a battle between parties. It is possible, if a child's parents are willing to enter into a shared arrangement, that both parents hold equal responsibility and, for example, the child spends half of their time living with each parent. This might not be possible in all cases, however, particularly where one parent is away from home for long periods of time (because of work commitments, for example).
Court decisions and children
Traditionally, the courts do not like to get overly involved in what is otherwise a family matter. They are not specifically designed to deal with these particular kinds of dispute. However, the situation is different where parents are separating, and neither party is able to agree on: (i) who is to be made responsible for day-to-day care of the child; and (ii) how best to maintain a relationship between a child and both of their parents.
It is in these situations that the court will take an interest, and can be asked to grant Residence and Contact Orders in respect of children.
What are Residence Orders?
Where a couple are separating, the courts can be asked to make a decision on which parent a child is to live with. It is important to understand that in making an application for a Residence Order, i.e. asking the court to decide that your child lives with you, does not take away the rights and responsibilities that your spouse has by virtue of their being a parent.
What are Contact Orders?
Not unlike Residence Orders, Contact Orders are binding decisions of the court. However, they relate to the maintenance of a relationship between a child and a parent that no longer live together. These Orders tend to govern physical contact between a parent and their child, but can also include contact via email, Skype and by telephone.
What are the courts interested in?
While both Residence and Contact Orders concern different things, the decision of a court to grant or deny an application for an Order will depend on largely similar criteria. These include:
The wishes of the child – where a child is old enough to do so, a court will ask a child what they think about the prospect of living with one of their parents as opposed to another. Furthermore, a court will also attach weight to whether or not the child concerned feels that the contact proposed is acceptable or not.
The needs of the child – the courts will take a broad view of the situation of the children, weighing what their physical, emotional and education needs are.
The capacity of parents to meet a child's needs – the court's analysis of the situation must be all-encompassing. It will have to be satisfied that the applicant for a Contact or Residence Order is not only aware of their child's needs, but is also able to meet them. The courts will then need to take into consideration the availability of a home in which the child could live, the financial situation of their parents etc.
It is important to note that the decision concerning a child's residence and contact needn't necessarily be a battle between parties. It is possible, if a child's parents are willing to enter into a shared arrangement, where both parents hold equal responsibility.This can mean, for example,that a child spends 50% of their time living with each parent. However, this might not be possible in all cases, particularly where one parent is away from home for long periods of time, e.g. because of work commitments.
The court's primary concern will be to protect the welfare of the child: the wants and desires of parents are a secondary consideration. It may seem harsh, but this is precisely why the courts are often uncomfortable in making decisions involving families. They would much rather that individuals make such important decisions without their involvement. Where this is not possible, they will only give their approval of a Residence and/or Contact Order that meets a child's needs.
Contact our Child Custody Lawyers Edinburgh
The process of applying to the courts for Orders regarding a child's residence and contact can be a very stressful experience. It is important that you take some time to find an experienced family lawyer that understands how best to draft an application. At Thorley Stephenson, we have an expert family law team who provide legal advice across a range of family matters. Our specialist knowledge gives us unique insight into the art of drafting legal documents, and affords us a considerable advantage in putting a convincing case before the courts in support of your application.
We understand that you may be experiencing difficulties having recently separated from your spouse, and that the prospect of taking legal action for care of your child may not be a welcome one. Our lawyers have routinely been asked to help clients arrange for court permission for residence and contact with their children, where their estranged spouses have strongly objected. We take our job very seriously, and will help you every step of the way in ensuring that your child is cared for. We can handle the administrative work in drafting the court application documents, and will also represent you in court where the circumstances warrant it. If you have any questions regarding court orders in respect of children, or are concerned how your children will be affected by your relationship with your partner ending, please contact us now.


text:
La BRH Bundesverband Rettungshunde e.V. ou BRH, que l'on peut traduire en français par « Association fédérale des chiens de sauvetage » est l'association allemande de chiens de sauvetage, la plus ancienne et la plus importante dans le monde.
On dénombre plus de 80 équipes canines de la BRH sur l'ensemble du territoire allemand. L'association compte environ 1 767 membres actifs en permanence et certifie chaque année 656 chiens de sauvetage, sans compter les 925 chiens supplémentaires qui sont constamment en formation. Les équipes de la BRH interviennent principalement pour mener des recherches en surface et sous les décombres, faire du Mantrailing (ou pistage), du repérage à la surface de l'eau ou lors d'avalanches. Les équipes canines de la BRH font partie des services officiels appelés dans le cadre de la protection civile fédérale dans beaucoup de länder et sont intégrées dans la protection lors des catastrophes au niveau communal et régional dans tous les länder. Le bureau de la BRH à Hünxe fait office de contact principal pour les autorités, les services spécialisés et les organisations allemandes.

Les chiens de sauvetage ne sont pas uniquement chargés des recherches sur demande de la police en Allemagne (pistage et recherches en surface).
Les chiens peuvent également apporter un soutien lors de recherches menées sous les gravats, en particulier lors d'effondrements d'habitations après des explosions de gaz, ou lors d'incidents majeurs comme l'accident du train ICE à Eschede, l'effondrement de la patinoire à Bad Reichenhall ou encore l'effondrement du bâtiment contenant les archives historiques de Cologne. Lors de ce genre d'incidents ou de situations d'urgences, le bureau situé à Hünxe se charge de coordonner les mises en alertes.

En moyenne, la BRH forme et entraîne les chiens bénévolement environ 350 heures, en plus des heures officielles d'intervention. Les opérations menées en dehors des situations d'urgence sont gratuites. Les équipes de la BRH sont disponibles 24h/24, tous les jours de l'année.

La BRH propose une expertise en matière de chiens de sauvetage à toutes les associations majeures allemandes et internationales dans ce domaine (FCI, VDH, dhv, AZG). Le bureau de la BRH à Hünxe fait office d'interlocuteur principal pour toutes les organisations internationales. L'association est officiellement reconnue et attesté par l'Etat ; les dresseurs de chiens de sauvetage, le personnel et les membres de l'association travaillent bénévolement et les opérations sont effectuées gratuitement.

L'association
La Bundesluftschutzverband (que l'on peut traduire par Association fédérale de protection de l'espace aérien) a été créée en 1954 en Allemagne de l'Ouest, à la demande du ministre de l'Intérieur, afin de former les chiens de sauvetage à la recherche dans les décombres. Ces équipes de chiens de sauvetage ont ensuite été assignées à la protection civile du Bund. La Bundesverband für den Selbstschutz ou BVS (Association fédérale pour l'autoprotection) s'est occupée du dressage de ces chiens dans les années 60. Le ministère de l'Intérieur a arrêté en 1973 le dressage des chiens de sauvetage pour des raisons financières et parce que les autorités fédérales se servaient de plus en plus des nouveaux dispositifs de localisation électroniques.

Certains dresseurs ont fondé en 1974 et 1975 les unités canines de chiens de sauvetage d'Heilbroon (Pays-Bas), d'Ulm, de Rottweil et de Pforzheim (Enzkreis). En Rhénanie-Palatinat et dans la Hesse, il n'y avait en effet que quelques chiens de sauvetage attachés aux sapeurs-pompiers. L'association a créé en 1976 des équipes de chiens de sauvetage privées exclusivement dans le Bade-Wurtemberg. Après la création de deux équipes de chiens de sauvetage privé dans la Hesse et une autre en Nord-Westphalie, l'Association pour les chiens de sauvetage dans le Bade-Wurtemberg est devenue l'Association fédérale pour les chiens de sauvetage (BRH) grâce à une modification de statut.

Depuis 1983, l'association prend également en charge le dressage des chiens pour les recherches en surface. Au cours des années suivantes, plusieurs autres organisations humanitaires (la Croix-Rouge allemande, la Johanniter-Unfall-Hilfe, l'ASB, la MHD et la DLRG) ont commencé le dressage des chiens de sauvetage. La BRH s'est développée par la suite pour devenir la plus grande association de chiens de sauvetage en Allemagne.

Affiliation aux associations et organisations
La BRH est membre des associations et organisations énoncées ci-dessous :
 La Deutscher Paritätischer Wohlfahrtsverband / Parität International depuis 1983
 La Verband für das Deutsche Hundewesen  ou VDH (équivalent allemand du SCC), en tant que membre extraordinaire depuis 1985
 Membre fondateur de l'association Internationalen Rettunghunde-Organisation IRO depuis1993
 Membre de l'ADH - Aktion Deutschland hilft – par l'intermédiaire de la DPWV depuis 2001
 Membre de la dhv - Deutscher Hundesportverband (Association allemand de sport canin) depuis 2003

Coopération
La BRH coopère avec :
 La Garde aérienne allemande (DRF)
 EDAK Edirne (en Turquie) par la signature d'un accord bilatéral sur les situations d'urgence
 L'organisation américaine « Rescue-Dog »
 ÖRHB, la Brigade de chiens de sauvetage autrichienne

Organisation de l'association
On trouve à la base de l'association BRH les équipes de chiens de sauvetage et les dresseurs qui élisent une fois par an, lors de la journée dédiée à l'association, le conseil d'administration, les comités et groupes fonctionnels qui décident à leur tour du statut et des règlements adoptés par l'association.

L'association est constituée d'un organisme directeur (composé d'un président et d'un vice-président), d'un service administratif et d'un juge-arbitre-en-chef.

Des responsables sont élus par les équipes dans chaque Länder pour représenter les intérêts de l'association au niveau du Land. Les membres du tribunal d'arbitrage de la BRH sont choisis parmi les responsables des Länder.

La commission technique s'occupe des domaines opérationnels (dressage, interventions, technique + outils). Elle est également chargée d'optimiser et d'améliorer la qualité de travail des chiens de sauvetage.

Des personnalités reconnues dans le domaine de la gestion des catastrophes, de la cynologie et de la sociologie forme le curatorium de l'association. Ce comité soutient et conseille l'association dans ces domaines.

L'association tout comme les équipes de chiens de sauvetage de la BRH sont reconnues d'utilité publique par l'Etat fédéral allemand.
La gestion de l'ensemble de l'association est effectuée par cinq membres du personnel dans le centre de dressage et de formation de Hünxe. Le bureau situé à Hünxe fait figure d'interlocuteur principal pour les quelque 142 000 sponsors de la BRH.

Centres de formation
 La BRH investit principalement dans la formation de base du dresseur et de son chien, dans une optique d'amélioration des qualifications des équipes de recherches dans les décombres intervenant lors des situations d'urgence. L'objectif est de créer des centres de formation au niveau régional, dans les länder environnants, afin de fournir des infrastructures adaptées aux missions de la BRH. Actuellement, les centres de formation appartenant à la BRH se situent dans l'Ouest (Hünxe), dans le Nord (Malchin) et dans le Sud de l'Allemagne. La BRH est le leader mondial en termes de nombre de centres de formation créés pour les chiens de sauvetage et s'est spécialisée dans le domaine de Search & Rescue (Recherche & Sauvetage). La BRH considère que la création des centres de formation est d'utilité publique puisque l'association est active en matière de prévention de catastrophe et de protection civile. Les autorités, les organisations chargées de la sécurité civile et les services spécialisés d'autres organismes humanitaires bénéficient des investissements effectués par la BRH, car la formation  sur le terrain, développée par la BRH, prévoit de nombreux scénarios.

Les races de chien utilisées
Il n'existe pas de races prédisposées aux missions de sauvetage. C'est pourquoi on peut trouver à la BRH un large éventail de races ainsi que des corniauds. Le caractère, l'enthousiasme et la performance du chien sont les principaux critères de sélection. En règle générale, tous les chiens de taille moyenne réunissent ces conditions.

Maître-chien sauveteur
À cause de l'effort demandé à l'homme et au chien lors des missions de secours, les maîtres-chiens et les sauveteurs doivent posséder certaines compétences qui sont régulièrement évaluées. Mis à part vouloir faire partie des secours et savoir dresser un chien, ils doivent aussi posséder des connaissances pratiques et théoriques sur des thèmes en lien avec différents types d'intervention, notamment : orientation sur le terrain, tactique d'intervention, utilisation d'une radio, évaluation des dommages, gestion d'intervention et gestes de premier secours pour hommes et canidés.

Formation et examen
La formation est assurée dans les unités de chiens sauveteurs par des formateurs certifiés par l'association et des sessions de formations inter régionales. Il faut tout d'abord obtenir obligatoirement un diplôme de dressage (Begleithundeprüfung) selon les normes de la VDH (Verband für das Deusche Hundewesen, équivalent de la SCC). Après un examen d'admissibilité, l'épreuve principale consiste à trouver une cible dans un secteur et dans des décombres. Les mantrailers ou chiens de recherche utilitaire ont une formation à part.

De plus, les examens peuvent être accomplis selon les normes internationales de la FCI dans toutes les catégories (pistage, recherche de surface, dans les décombres, dans les avalanches). Les membres du jury à l'examen ne font pas partie de la même unité que les candidats.

Mise en alerte et intervention
Les alertes locales et inter régionales sont transmises aux unités des chiens de sauvetage les plus proches par la police, les pompiers et autres organisations de secours. Pour les interventions à l'étranger, les alertes sont retransmises au centre de commandement de la BRH. Ces interventions sont gratuites pour les victimes.

Le BRH fait partie au plan de protection des populations lors de catastropheS au niveau des Lands (par exemple Bade-Wurtemberg, la Saxe) et/ou au plan de protection au niveau des diverses circonscriptions (par exemple Hesse, la Bavière, la Rhénanie-du-Nord-Westphalie, la Basse-Saxe). S'ajoute un contrat de coopération avec certains ministres de l'Intérieur de Land (par exemple Hesse) pour soutenir les recherches des policiers dans le cas de personnes disparues. Pour cela, la police du Land et/ou les unités canines de la police doivent évaluer à leur tour les chiens de sauvetage et leurs maîtres.

La BRH a mené de très nombreuses interventions à l'étranger lors de ses 30 dernières années. Surtout en raison de cette expérience, un examen de qualification pour les interventions à l'étranger a été ajouté en 2002. Des équipes très qualifiées dans la recherche des décombres, le sauvetage, la médecine, la logistique et la gestion d'équipe interviennent sous mandat de l'ONU lors de catastrophes de dimension internationale. Ce sont les équipes d'intervention à l'étranger de la BRH. Ces activités à l'étranger (BRH Search and Rescue) se composent de deux éléments :

1. Interventions dans d'autres pays européens dans le cadre d'aides accordées par les Lands allemands frontaliers ainsi que dans le cadre d'accords ou d'interventions bilatéraux de l'office allemand de protection des populations. Celles-ci sont en règle générale réalisées par les unités de chien de sauvetage locales, régionales ou inter régionales de la BRH.

2. Interventions internationales lors d'un sinistre important sous mandat de l'ONU. Celles-ci sont conduites par les équipes d'intervention à l'étranger de la BRH sous l'égide de l'ISAR Germany. Cette organisation regroupe les unités spécialistes de sauvetage des pompiers et autres services de secours de l'Allemagne. Elle est accréditée par l'organisation interne des Nations unies, OCHA et classée medium-team selon les normes de l'INSARAG.  .

Notes et références

Liens
 BRH Bundesverband Rettungshunde e.V. (site allemand non traduit)

Organisation des premiers secours
Sauvetage
Chien

redpajama_set_name: RedPajamaWikipedia


Lamar Keener (left), executive director of the Evangelical Press Association, presented Baptist Press with the award of excellence for digital denominational publications during EPA's annual convention April 7-9 in Oklahoma City. Baptist Press operations coordinator Laura Erlanson received the award.
RIVERSIDE, Calif. (BP) -- Baptist Press has received top awards as a digital publication from both the Baptist Communicators Association and Evangelical Press Association.
BP also received two grand prize awards, BCA announced at its annual workshop April 11-13 in Riverside, Calif. In all, BP received 15 BCA awards in the competition.
BP won first place for electronic publication in BCA's overall publication division and, from the Evangelical Press Association, the top award of excellence in the denominational (digital) category.
Cited in both the BCA and EPA awards were BP editor Shawn Hendricks, senior editor Art Toalston, general assignment editor/writer Diana Chandler, chief national correspondent David Roach, operations coordinator Laura Erlanson and editorial assistant Marcia Knox.
Recipients of Baptist Communicators Association grand prizes or representatives of their organizations included (from left) Shawn Elledge of North American Mission Board creative services; Lauren Shelburne of California Baptist University's Pursuits Magazine; Art Toalston of Baptist Press representing Grace Thornton; Adam Covington of Southwestern Seminary; Ashley Carozza and Rachel Moreno of Ouachita Baptist University's office of communications & marketing; and Cam Tracey of Union University's office of university communications.
-- Grace Thornton, a freelance writer based in Birmingham, Ala., exceptional achievement in feature writing for "Mothers headed to abortion get baby-saving compassion," receiving BCA's Leonard Holloway Award.
-- Adam Covington, director of communications for Southwestern Baptist Theological Seminary, for his BP photo titled "Patterson end of an era," receiving the Fon H. Scofield Award.
Joining Baptist Press in EPA awards of excellence recognition during its April 7-9 annual convention in Oklahoma City were the online sites of the International Mission Board in the missions (digital) category for IMB.org and the Ethics & Religious Liberty Commission in the Christian ministry (digital) category for ERLC.com.
Also in the EPA competition, BP won first place for a first-person article by longtime missions writer Erich Bridges titled, "A Valentine for Grieving Husbands."
Adam Covington, director of communications for Southwestern Seminary, received the grand prize in photography during the Baptist Communicators Association's annual workshop in Riverside, Calif.
1st place, news series or package, BP staff, "Billy Graham coverage" and 2nd place, Hendricks and Roach, "Patterson departure from SWBTS."
1st place, single feature article 750-1500 words, Grace Thornton, "Mothers headed to abortion get baby-saving compassion."
1st place, single news photo, Adam Covington, "Patterson end of an era."
1st place, feature series or package, Tim Ellsworth, "Winter Olympics coverage" and 3rd place for "Super Bowl coverage."
2nd place, single news article, 750 words or less, Roach, "'The woods exploded' amid pastor's fire rescue."
2nd place, single news article, 750-1500 words, Thornton, "Venezuelans, fleeing tumult, to find aid on a mountain."
3rd place, first-person column, Hendricks, "No Spartan, but thankful … aches, pains and all."
3rd place, single feature article, 750 words or less, Chandler, "'Return to sender': Casket proclaims life journey."
3rd place, single news article, 750-1500 words, Roach, "Chitwood as IMB pursued: 'OK Lord, I hear You.'"
3rd place, single news article, more than 1,500 words, Roach, "Baptists & alcohol: Is the consensus shifting?"
-- North American Mission Board creative services for "First Baptist Church Sutherland Springs: One year after the shooting" for exceptional achievement in radio, television, film and video, M.E. Dodd Memorial Award.
-- Illinois Baptist media for "Graham in Illinois" for religious newswriting, Frank Burkhalter Award.
-- Union University's office of university communications for "Women's basketball locker room wrap" for print media and design, Albert McClellan Award, and "God in the whirlwind - A 10-year remembrance campaign" for public relations and development, Arthur S. Davenport Award.
-- Ouachita University's office of communications & marketing for interactive communications for "It's [wash-i-tah] social media post," Diane Reasoner Award.
-- California Baptist University's Pursuit Magazine staff, best overall student entry for "Pursuit Magazine, Vol. 8, Issue 3."
The full list of BCA awards can be accessed at https://www.baptistcommunicators.org/awards/2019.pdf; the EPA awards are at https://www.evangelicalpress.com/2019-awards-of-excellence and https://www.evangelicalpress.com/2019-higher-goals-awards.


Dark lips treatment for men is a little bit different than women because the tendency of smoking is more in men. And so, smoking is the main difference to divide the pattern of discoloration on the lips between men and women.
Besides darkening of the lips, smoking causes dark spots, wrinkles, dark stains, dryness, and dehydration on the lips.
Anyway, I will basically show you the treatment based on home remedies that break down the discoloration on your lips slowly and safely. Typically, artificial treatment cannot lighten dark lips of men properly. Therefore, I am emphasizing the natural ways.
There are many home remedies to cure dark lips. But, here I have described only a few remedies that are effective. These treatments naturally will fade the melanin pigments and also repair damaged lips.
11 tips to lighten men's dark lips due to smoking or other things like suntan, dryness, etc.
Right now stop smoking. And notice gradually you will get back your previous lip color. If you cannot stop smoking, you can read, "Allen Carr's Easy Way to Stop Smoking." This book will help you to quit smoking permanently in a natural way.
If you take more than 5 cups of hot tea or coffee, it will also cause dark lips. Just take 2 cups coffee or tea a day. Avoid taking hot foods because they are also liable to create darkness on the lips.
UV rays make the lips discolor and burnt. Sun exposure also makes the lips dry. You may have probably noticed that sun exposure not only makes the lip dark but also it makes the other body skin dark. When you go outside, you should wear a cap. It protects your face from the sun.
Make a mixture with some honey, lemon juice, and glycerin. Apply this mixture to your lips for a few minutes over the day. Lemon juice has Citric acid that removes the dark spots from the lips. Glycerin and honey provide nutrients to the lips and also keep the lips moisturized and protective.
Lemon naturally contains bleaching features that remove melanin from the lips. Lemon juice also distributes the hyperpigmentation to all skin of the lips that make the lips look less black. Use this juice two times a day and massage your lips gently with fingers. Leave lemon juice 30 minutes on the lips also. Then wash your lips off.
Ripe papaya is one of the best natural treatments for removing dark spots from smoking lips. Make a small paste with the ripe papaya. Apply it to the lips. Rub it for 3 minutes and then let it stay for one hour. You can use it 3 times a day until you will notice brighter lips.
Men get dark lips from smoking generally. Smoking also makes their lips dry. So, they need good lip balms to moisten the lips along with lightening them. Balm or petroleum jelly works well to keep the lips well moisturized.
Bear in mind that sun protecting lip balm is the best item because it not only moisturizes the lips but also gives a protection from UV rays.
Apply the lip balm at night before sleeping. Before going outside, you can also apply the balm or petroleum jelly. Use Vaseline Petroleum Jelly or Burt's Bees Lip Balm. These products are more renowned.
Massage your lips twice a day with almond milk or oil (Buy it at Amazon). Then leave it on the lips for an hour. This oil helps to reduce the darkness from your lips along with breaking down the hyper-pigmentation. This oil also protects and softens your lips from the rough weather of winter.
Massage your lips with an ice cube in the circular motion for 2 minutes. It removes the dry cells on the lips and increases the blood circulation so that the lips will look fresh and rosy. Ice cubes are very effective to peel off the dry skin from the lips. Being removed the dry cells, lips normally look clean and bright. Ice cubes also hydrate the lips.
If you are a smoker and have black spot lips, castor oil is a must to remove the discoloration from your lips. Rub your dark spot lips with castor oil for 3 minutes and then let it stay for an hour twice a day. It consequently fades the melanin pigments from your lips. Castor oil also keeps your lips hydrated by removing the dryness.
Raspberries are an effective natural treatment for men to lighten their dark lips from smoking. Make a paste with raspberries, honey, and Aloe Vera. Rub your lips gently with this mixture and leave it for 30 minutes onto the lips. This treatment gets rid of the discoloration and keeps the lips soft and nourished.
That's all about dark lips treatment for men. You have to stop smoking first, then you will normally get natural lip tone. Besides, use the above natural ingredients that can remove your dark lips safely and make your lips healthy, fuller, and supple.
Hi, you can use some home remedies to lighten and soften your dark and dry lips.
Use one teaspoon of honey with few drops of lemon juice. Honey will nourish your lips and lemon juice break down the pigments of the lips.
My situation was same as i read in this thread everyone have problem..i was smoking since 3 years ago any my lips was dark due to smoking..i read everywhere but no result found !!!


text:
Alleged Ponzi schemer asks for protection
"There's always a balance we have to run that somebody isn't claiming falsely that there are security issues and try to take advantage of it, but on the other side, if it looks to be any realistic issue on security we take it very seriously … and this one sounds like there's a whole whack of really mad people at this guy," Justice Campbell said.
'Weird' case; Judge decides to limit information for safety
Karen Mazurkewich
Shots were fired at the home of Tzvi Erez's stepsister on March 25, 2009. Erez faces charges that he ran a Ponzi scheme. Tyler Anderson, National Post
The family of a man allegedly involved in a $27-million Ponzi scheme that involved investors in Toronto's Jewish community received death threats that prompted a commercial court judge to censor documents for security reasons.
Violent threats are rare in such commercial proceedings, according to Justice Colin Campbell of the Ontario Superior Court of Justice, but this case, he told the National Post, is "a weird one."
Justice Campbell agreed to a request from lawyers representing family members to redact, or censor, portions of a receiver's report that contained information about Tzvi Erez's family after receiving information from two different incidents — shots fired on a home in March and threats made to two students in a school in September.
Mr. Erez, the 42-year-old man who is at the centre of a forensic investigation led by a court-appointed receiver, ran a tiny print shop in Richmond Hill. Mr. Erez claimed in court documents that he was brokering large print jobs for blue-chip clients, and approached investors through intermediaries and brokers for cash advances on large printing orders, according to the receiver's report. In return, he is alleged to have promised the investors to return their original investment plus interest fees of 30% per annum, according to several of the alleged victims who do not wish to be identified.
After a nine-month investigation, Jerry Henechowicz, the receiver, determined that there were no large orders, and concluded that it was clear from his investigations that "Tzvi operated a Ponzi scheme." There are 76 high-profile claimants recognized by the receiver. On June 18, Mr. Erez was charged and arrested by Toronto Police on seven counts of uttering a forged document and one count of fraud over $5,000. None of the allegations have been proven in court.
The unravelling of the alleged Ponzi scheme may have been the trigger for the two violent incidents against Mr. Erez's family that were brought to Justice Campbell. The first incident occurred on March 25, when two shots were fired into the home of Mr. Erez's step-sister Hila Meisels. None of the 10 people reportedly in the house were injured during the incident, but sources say Mr. Erez's two children were staying in the residence at the time. The home on St. Germaine Avenue in Toronto has since been sold. The family has not responded to requests for comment.
In September, the school administration of the Posluns branch of Associated Hebrew School (AHS), received a threatening communication related to a family under criminal investigation, according to reports in the Jewish Tribune. The school announced that it had beefed up security, and sent an email to parents assuring them that all necessary measures had been taken, including instructing the family under investigation not to send their children to school.
moc.tsoplanoitan|hciwekruzamk#moc.tsoplanoitan|hciwekruzamk
http://www.nationalpost.com/related/topics/story.html?id=2405667
Brought to you by WikidFranchise.org
Risks: Affinity fraud, All in the family, Bankruptcy, Canada, Ontario lax on fraudsters, Canada: An unwise place to invest, Canada: white-collar crime haven, Death threats, Forgery, Fraud, Identity as a competent, logical and non-greedy person shattered, Internet offshore gambling vulnerable to crime, Money laundering, Ponzi (pyramid) scheme, Sincerity, Sue the bank, Trust, Violence, Canada, 20100105 Alleged ponzi


How to Choose a Deck - To build your best deck, you need to understand the options. Learn the choices so you can choose the best decking materials for your project. ... High-performance composite decking. The ultimate in garden decking, high-performance composite is wrapped in a tough-as-nails finish that keeps the beauty in, and the work out. ... Early-generation composite decking. Your first-generation timber-alternative board. Part timber, part plastic, all easygoing.
composite wood plastic outdoor decking cost, cheap wpc decking ...composite wood plastic outdoor decking cost, cheap wpc decking sale in germany.
3 Alternative Decking Materials and Why They Might Work for You27 Apr 2017 ... While timber decking is beautiful, it needs plenty of TLC. Here's how to achieve the look without the hassle.
: Wood Alternative Deck, Railing, Lighting and Furniture is the world's largest manufacturer of high performance wood-alternative decking, porches, railing, lighting, trim, framing and furniture.
Germany's far-right party will make the Bundestag much noisier - 50 ...24 Aug 2017 ... The alternative for germany (AfD) candidate for the Bundestag, germany's parliament, rails against Angela Merkel's refugee policies: Who has to live with these 'new citizens'? Whose ... The squabbling alternative for germany party is headed for dozens of seats in September's election ... That Mrs Merkel's Christian Democrats (CDU) are now talking tough on security and decking out their campaign with the national flag is an early hint of the AfD's indirect influence.
Wood Alternative Decking Innovation & Technology | Product innovation. There's a reason we're the world's #1 decking brand: we offer the most innovative, technologically advanced outdoor living products available today. As the first company to combine the durability of recycled plastic with the natural beauty of reclaimed timber in a high-performance decking product, we lead the way in applying this proprietary technology to a wide variety of outdoor applications for low-maintenance, luxurious outdoor living.
wpc composite decking hollow core Germany,Munich | ECO | WPC ...wpc composite decking hollow core germany,Munich.
The 25+ best Wpc decking ideas on Pinterest | Plastic decking ...wpc decking floor importers european countries,alternative flooring for patios,binal roll out deck .... Nature Wood Grain and Texture Of Wood Plastic Composite decking. shanghaiwpc.com #nature #wood #timber #composite #decking #outdoor #wpc #flooring #supplier #wholesale #manufacturer #grain #texture #customizable #size #compositedecking #distributor ..... ideas for covering old decking in german,flooring for outdoor concrete pad,220 sqft wood deck cost per square foot,.
Decking - ResystaResysta decking. Resysta The better wood surpasses nature´s model tropical wood in nearly all respects. It is resistant to weather, pests and fungal decay as well as splinter-, swell- and crack free. At the same time, Resysta requires minimal maintenance, is slip resistant and available in diverse shapes and colors. All these characteristics make Resysta decking especially suitable for areas exposed to weather or humidity.


APC 3.1.4 does not work with files in PHAR archives.
phar:// stream wrappers including by require funcion are not cached.
Disclaimer: i do not guarantee it will work for you so you better use it at your own risk. It works for me.
I am posting a quick step-by-step guide to install APC on servers (dedicated or VPS) with cpanel/whm working.
now you will have a APC-3.0.14 folder.
command it shows 3 tests failed then do not worry, it showed at least to me but worked with the final steps.
the (make install) command will return the apc.so module path, note down that with you as you will have to feed it in the php.ini file in the next step.
but i moved apc.so from this location to my other location where my other extensions.so files were.


text:
4-Year Degrees Coming to Community Colleges
Gov. Jerry Brown approved a pilot program that allows 15 districts to add one four-year degree to their curriculum
By Andie Adams	• Published September 29, 2014
A limited number of California community colleges can now offer four-year degrees, thanks to a bill signed into law Monday by Gov. Jerry Brown.
Senate Bill 850, introduced by State Senator Marty Block (D-San Diego), allows up to 15 community college districts offer one baccalaureate degree program each in select majors. The pilot program starts on Jan. 1, 2015 and ends July 1, 2023.
The law states California needs to produce one million more bachelor's degrees than it does now to "remain economically competitive in coming decades." But many four-year colleges do not offer degrees in disciplines like radiology, respiratory therapy and veterinary technology.
According to the state legislature, careers that once required just an associate's degree or certificate now want prospective employees to have a baccalaureate degree.
Covid-19 Oct 26, 2021
Latest Coronavirus Updates: San Diego County Cases Surpass 600K, Hospitalizations Increase
san diego rain 7 hours ago
Record-Setting December Rains Spell Relief For San Diego Area Farmers
"This is landmark legislation that is a game changer for California's higher education system and our workforce preparedness," Block said in a statement. "SB 850 boosts the focus of our community colleges on job training and increasing the accessibility and affordability of our state's higher education system."
Each district that wants to offer a four-year degree will have to identify and document the community's unmet needs in that subject, and it cannot offer a program already presented by the California State University or University of California.
One district that will most likely enter the running is the San Diego Community College District, whose chancellor, Constance M. Carroll, served on the state's study group.
"Our entire coalition of supporters is delighted by this good news," said Carroll. "It is imperative for community colleges to ensure that students are well prepared and competitive for the many jobs and careers that now require bachelor's degrees as entry-level preparation."
She called the bill one of the most significant changes to California's higher education master plan since its 1960 adoption.
Carroll said four-year programs offered could include dental hygiene, radiologic technology, health information science and automotive technology. Each upper-division class will cost an extra $84 per unit, less than fees paid by CSU students, according to the SDCCD.
Success for the pilot program will depend on completion rates, the costs and funding sources, the impact on underserved and underprepared students and how many districts apply.
The results of an evaluation, due before July 1, 2022, will determine if the program should have a permanent place in the state's education system.


There are a plethora of photo editing apps available on the Google Play store (APK download), all attempting to deliver you the best tools to let you customize your photos to cool effects and transformations.
Many photo editing apps just slap a filter on your photo and leave it at that. However, if you've ever seen a double-exposure image and thought "wow! this must take some serious Photoshop skills to achieve", we are here to tell you that you could turn your photos with that beautiful effect easily within a few minutes, just by using your Android smartphone.
So what is Double Exposure?
Double Exposure is basically superimposing two images to create a unique effect.
There is a ton of image editing apps available on the Play Store that offer you an ability to create Double Exposure image, but we have done some homework of our own to save you time and give you what we think are the best apps for this.
So, these are the three best apps to create a Double Exposure effect. We have provided a ste-by-step guide for each one of these to help you edit your photos for Double Exposure effect easily.
Although ToolWiz does not have as many downloads as the other two apps on the list, it's probably one of the best apps available on the Play Store for creating the Double Exposure effect. It is the easiest of the bunch to use, and lets you create great Double Exposure images in just a few steps.
Install the Toolwiz app from the Play Store.
Open the app and load the image you want to work with.
Scroll through the bottom toolbar and find the 'Effects' option and tap on it.
Once a list of effects pops up, tap the 'Double Exposure' icon.
Now tap on 'My Photos' if you want to use an image from your own gallery, or tap on 'Online resources' to check out other images.
Select the image of your liking to create a Double Exposure effect and then tap on 'Double Exposure' option highlighted in yellow.
Voila, you've just got a cool Double Exposure image within a few seconds.
If you've ever tried searching for an editing app on the Play Store you would have probably come across the PicsArt app. It has almost each and every feature you could need from an editing app.
The Double Exposure effect can be achieved easily with the PicsArt app too in just a few steps. Editing photos with Double Exposure style usually works the best when the primary image is a nearly-total black or white, and white and high in contrast.
Install the PicsArt app from the Play Store.
Open the PicsArt app and load the image you want to use for the effect.
Once loaded, select the 'tune image' option and increase the contrast.
Scroll through the toolbar at the bottom till you find the option to 'Add Photo' click the add photo.
Select the image you'd like to superimpose and position it over the previous image according to your liking.
The last step is to adjust the brightness slider according to your preference.
Snapseed is one of the best photo editing apps available on Android. The app is from the Google itself and offers a vast array of features. 'Double Exposure' is one of them. Here's how you can achieve the cool effect.
Install the Snapseed app from the Play Store.
Load the image you want to use for the effect.
Head over to the 'tools' section.
Tap the 'Double Exposure' option then tap the 'add photo' icon at the bottom.
Select the image you want to use for superimposing.
Once the image is added. You can choose the blending mode. In this case, 'Overlay' was used.
Adjust the intensity of the effect according to your preference by using the slider at the bottom.
Tap the tick mark icon to save changes.
If you're satisfied with the result, tap the 'Export' option and then tap on 'Save'.
The saved image would appear in your Gallery.
Some example images with Double Exposure effect!
We hope this tutorial helps you create cool Double Exposure images without having to even use Photoshop for a second. Go ahead, have fun, and be creative.
So those were some easy to follow guides to create a cool Double Exposure effect using the best apps available on the Play Store. We hope you like them and are able to create some really cool Double Exposure images of your own. Do share with us in the comments section below.


Thank you for registering for a booth at the IECRM Energy Industry Career Fair. IECRM is pleased to assist your company fill open positions! Help us spread the word and drive more traffic to your booth by posting info about the event and your open positions to your company's social media sites (FB, LinkedIn, Twitter, etc.). Happy Hiring!
Please list the types of positions your company is seeking. How many positions do you have available?
Please list any special requests or notes below. Will you need access to power?
* Please write a brief description of your company to be printed in the Career Fair program.


text:
CFO: Chief Finance Officer
Procurement & Operations Leaders
Government Finance Leaders
BuySmart
Government Benchmarking
Finance Business Partnering
Funding Competitive Differentiation
Future of Finance
COVID-19 Resources for Finance
Evanta Events
Gartner Research
Best Buy's Risk Prediction Market
ID: G00712034
Analyst(s): Financial Services Business Leader Research Team
Financial services operations leaders can learn from this case presentation how Best Buy uses prediction markets to continuously identify new risks and provide real-time feedback on the effectiveness of mitigation plans.
©2021 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of Gartner, Inc. and its affiliates. This publication may not be reproduced or distributed in any form without Gartner's prior written permission. It consists of the opinions of Gartner's research organization, which should not be construed as statements of fact. While the information contained in this publication has been obtained from sources believed to be reliable, Gartner disclaims all warranties as to the accuracy, completeness or adequacy of such information. Although Gartner research may address legal and financial issues, Gartner does not provide legal or investment advice and its research should not be construed or used as such. Your access and use of this publication are governed by Gartner's Usage Policy. Gartner prides itself on its reputation for independence and objectivity. Its research is produced independently by its research organization without input or influence from any third party. For further information, see Guiding Principles on Independence and Objectivity.
Already have a Gartner Account?
Learn how to access this content as a Gartner client.


Welcome students! The vast majority of sites and information that you want to access on Connect—including classroom calendar and syllabus pages—are public and do not require an account. Use the search function or menu bars above to get started finding specific teachers or other information.
Your teachers may also choose to extend their classrooms and create interactive areas where you can ask questions, collaborate on projects, and contribute knowledge. Just like your physical classroom, these Connect spaces are not open to the public. You will need to sign in with your Connect account to request membership or be invited to these non-public areas.
There's no need to request an account—Connect automatically generates one for every student in our student records system.
Students with a unique, valid email address listed in Student Access may choose their own Connect password and will receive email notifications from Connect sites that they join.
Students that do not have an email address in Student Access must use their Student ID as their password and will not receive any email notifications from Connect. If you wish to control your password or receive email notifications, you must update your Student Access records with a unique, valid email address.
If you have further questions, please visit the student FAQs page before contacting us.


text:
Anushka Davies
Head of Talent, Engagement & Diversity
Anushka Davies Linked In
On Tuesday 17th September, Softcat supported CRN and Computing's inaugural Women in Tech Festival UK event at The Brewery in London. The place was lively and buzzing with over 600 delegates attending, which is a testament to Incisive Media who organised the event. Softcat sponsored the event to support the channel in celebrating women at every stage of their technology journey. We are keen to ensure that we are proactively profiling Softcat in the industry as a great place to work, whilst tackling the gender diversity deficit in the tech industry. The agenda was packed full of inspirational keynote speakers and panel sessions involving people who are so passionate about gender diversity,
There were several stages which held our attention covering topics such as mentoring, building your brand, moving up to middle management along with roundtable discussions and plenty of opportunity to network.
15 Softcat women attended the event to learn, connect and promote! It's important to us to not only idea share and learn from others, but also offer our internal female talent a chance to be inspired by so many wonderful females in the industry.
There were plenty of takeaways from some incredible female speakers.
Dr Anne-Marie Imafidan, Co-Founder, Stemmettes held the stage as a headlining speaker. Dr. Anne-Marie who is listed amongst the top 50 women in tech and voted the 5th most influential woman in IT by Computer Weekly gave some great tips on tactics and strategies she has used to get her unique position in the tech industry. She stressed the importance of being visible and finding ways of being comfortable with being visible. She explained females need to be involved in new innovations that are being developed and to ensure there is a female perspective provided. It might be tough, but it's important to be in the room.
Viv Groskop, Comedian and Author of How to Own the Room focused her attention on speaker skills and how to hold the room whilst highlighting the likes of Michelle Obama and Angela Merkel and how they have achieved this through their presence, their stance and confidence.
Many books were recommended by speakers:
Working Out Loud by John Stepper
How to Own the Room by Viv Groskop
The panel discussion delivered by Millennials from various companies gave the audience some ideas and advice on what employers should be doing to entice women into the tech industry whilst helping us understand what they were looking from employers when looking for jobs.
Promotion is two-fold; we of course were supporting the event as it was a great opportunity for us to talk about Softcat, but it was great to promote Helen Gidney, Softcat's Infrastructure Design Manager who did a fabulous job when presenting on moving up into middle management. Helen talked about her progression and how to take the next steps in broadening your role and gave every day examples on how to demonstrate your management capabilities. Helen received some questions from the audience on how she has managed imposter syndrome, how to manage your manager and even on how her she has progressed quickly and the effects on her brand. Helen handled the questions like a complete professional.
Helen was asked to do this presentation a few months ago and having not presented in front of such a large audience before just showed that she had challenged herself and put herself outside of her comfort zone. We are proud of you Helen!
Supporting Women in Business
Softcat over the last two years have focused heavily on gender diversity. The Supporting Women in Business group is our flagship resource group with over 100 members working on initiatives to improve gender balance at Softcat. We realise that there is a lot of work to do here to ensure that we can shift the dial and attract more females into technology. The group are working on several projects to make a difference such as launching our mentoring programme for female employees, working on grassroot level attraction into IT, inviting in guest speaker to inspire our internal talent and a lot more.
We need more female colleagues in our business at all levels. Improving our gender balance can only be done through attraction and recruitment of more women and ensuring that once inside Softcat, they are able to forge a successful career within our business.
Thanks to everyone who participated in the event to make it a success. Thanks to all the great speakers and panel sessions who have helped inspire women in tech!
If you think you'd like to be part of the team, please visit our careers page to see how you could contribute..


text:
The 1986–87 Cypriot Second Division was the 32nd season of the Cypriot second-level football league. APEP FC won their 1st title.

Format
Fifteen teams participated in the 1986–87 Cypriot Second Division. All teams played against each other twice, once at their home and once away. The team with the most points at the end of the season crowned champions. The first two teams were promoted to 1987–88 Cypriot First Division. The last two teams were relegated to the 1987–88 Cypriot Third Division.

Changes from previous season
Teams promoted to 1986–87 Cypriot First Division
 Ethnikos Achna FC
 Omonia Aradippou

Teams promoted from 1985–86 Cypriot Third Division
 APEP FC
 Digenis Akritas Ipsona
 Onisilos Sotira

League standings

See also
 Cypriot Second Division
 1986–87 Cypriot First Division
 1986–87 Cypriot Cup

References

Cypriot Second Division seasons
Cyprus
1986–87 in Cypriot football


text:
Q: Linked List Stack in C I am looking at the following paragraph in the book "Programming Interviews Exposed" in reference to the implementation of a linked list stack in C:
typedef struct Element {
   struct Element *next;
   void *data;
} Element;

void push( Element *stack, void *data );
void *pop( Element *stack );

Now consider what will happen in these routines in terms of proper
  functionality and error handling. Both operations change the first
  element of the list. The calling routine's stack pointer must be
  modified to reflect this change, but any change you make to the
  pointer that is passed to these functions won't be propagated back to
  the calling routine. You can solve this problem by having both
  routines take a pointer to a pointer to the stack. This way, you can
  change the calling routine's pointer so that it continues to point at
  the first element of the list. Implementing this change results in the
  following:

void push( Element **stack, void *data );
void *pop( Element **stack);

Could someone explain, in different words, why we need to use a double pointer here? I'm a bit unsure about the explanation provided.

A: It is similar to the famous swap() function in C.
Case 1:
void swapFails(int x, int y) {
    int temp = x;
    x = y;
    y = temp;
}

Case 2:
void swapOk(int *x, int *y) {
    int temp = *x;
    *x = *y;
    *y = temp;
}

and we invoke swap like this:
int x = 10;
int y = 20;

Case 1:
swapFails(x, y);

Case 2:
swapOk(&x, &y);

Remember, we wanted to CHANGE the values of x and y. For CHANGING values of a datatype, we need pointers. Take this to the next level for pointers. For CHANGING values of a pointer, we would need double pointers.
For Stack using linked list:
If you push values 10, 20 and 30, they are stored like this:
top --- bottom
30 -> 20 -> 10

So you see every time you push or pop values from the stack, which is a linked list, the top or the first node of the linked list changes. Hence you need double pointers.

A: The first version sends a copy of the pointer, if it's changed inside the function then the local copy would only be changed, when the function returns to the caller the caller still has a pointer to the old address.
Element *stack =...
push (stack)
void push( Element *stack, void *data ) {
  stack = ... // this changes the local pointer allocated on the function's stack
}
//call returns
stack //still points to old memory

The second version, however, passes a pointer to the stack pointer, so when that is changed, it changes the stack pointer in the calling function.

A: In C everything is passed by value, let's say that I have this function:
void foo(void* ptr)
{
    ptr=NULL;
}

If you call this method in the main, the pointer that you pass will not be NULL (unless it wat already NULL).Because a copy of the pointer is made before passing it to the function.So if you want to modify it's value, you have to pass a double pointer:
void foo(void** ptr)
{
    *ptr=NULL;
}

The same is valid for the stack, of which you want to modify the value.

A: With the single-pointer signature you can imagine using the code as follows
Element *myStack = NULL ;

.... bla bla bla ....

push(myStack, something);

Then in the push call you're telling the stack implementation where the old head element of the stack was, but there's no way for the implementation of push to tell you where the new head is. It cannot change your myStack variable, because parameter passing in C is always by value -- i.e., the push function get told what the value of myStack happens to be, but get no chance to change the caller's variable.
In order for things to work, you need to tell the push primitive the address of your local variable that it needs to change:
....
push(&myStack, something);

and since myStack itself has type Element *, a pointer to the myStack variable has type Element **.


A 5 mile hilly road run around the Ogmore Valley. Starting and finishing at the Ogmore Valley Life Centre, the run will take in the main road of the Valley from Ogmore Vale up to Nantymoel, and back down, with breathtaking views of the Bwlch mountain and surrounding scenery. Plus 2 mile walk.