text:
Q: "syntax error near unexpected token" after editing .bashrc I'm trying to access the clipboard but when I input source ~/.bashrc  in the terminal I get this error:
bash: /home/taran/.bashrc: line 2: syntax error near unexpected token ('
bash: /home/taran/.bashrc: line 2:alias pbpaste='xclip -selection
clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells

I tried to do the tutorial in Gary Woodfine's answer to Command Line Clipboard Access.
The output of cat ~/.bashrc is:
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

This is on Ubuntu 19.04. Can anyone help me figure out how to fix this?

A: mook765 is entirely correct about the cause of the problem, and the solution proposed in that answer fixes the syntax error, but I recommend you solve it in a different way.
It's fine to put alias definitions in .bashrc, but it is best not to put them--or anything--at the very top of that file.
We tend to think of .bashrc as being sourced only by interactive shells, but this is actually not the case. Non-interactive remote shells (if bash identifies them as such) also source .bashrc. That is why Ubuntu's default .bashrc1 contains this code:2
# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

Basically everything you put in .bashrc, including but not limited to alias definitions, should go somewhere below that. You should only ever put your own code above that code if you have a clear reason to do so, which is rare.
You can put your alias definitions anywhere below that code, though I suggest putting them at the very end of the file. Or you might prefer to put them near some of the existing alias definitions in the file. Or you might prefer to put them in the separate file ~/.bash_aliases, which you can create if it does not exist.3 Any of these choices is fine.
Here's one of the more common examples of the bizarre and unexpected effects putting one's own code above the interactivity check can have. That particular problem occurs when the code produces output, which should not happen from an alias definition. (The alias, when used, may of course expand to a command that produces output, but a syntactically correct alias definition should not produce output unless the -p option is passed to alias.) I don't expect alias definitions to usually cause problems even if they run in non-interactive shells. Non-interactive shells don't perform alias expansion by default anyway (though this is merely a default). However, if they do end up producing unexpected effects, it's likely no one will think to check that.
This is admittedly only a weak reason to avoid putting alias definitions above the interactivity check in .bashrc. However, since there is absolutely no benefit of doing so compared to putting them anywhere else in the file, I recommend following the general approach of only putting code above that check that you deliberately intend to run in non-interactive remote shells.

The other interesting aspect of this is why this was a syntax error:
alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells.

# starts comments, which are permitted to follow commands. However, the # character does not have the effect of starting a comment when it appears in a larger word, except as the first character of that word. (In this sense, "word" includes things like pbpaste='xclip -selection clipboard -o'#, due to quoting.) The following text, which was intended as a comment, is taken as additional arguments to the alias builtin. But an error occurs while parsing them, due to the unexpected presence of (, which has special meaning to the shell, but which does not make sense in that context. The effect is that the alias builtin actually never runs, and you get a syntax error instead.
Therefore, it would actually be possible to fix the syntax error with a one-character edit, by putting a space between the ' and # characters on that line. But as detailed above, I recommend going further and moving the alias definitions much lower in the file.

1The default .bashrc in Ubuntu can be viewed at /etc/skel/.bashrc, so long as you have not modified that file. This is copied into a user's home directory when the user is created. Like many files in Ubuntu, this file is minimally changed from Debian, the distribution from which Ubuntu is derived. The advice in this post applies to Bash in Debian as well as Ubuntu, but it does not necessarily apply without modification to Bash in all GNU/Linux systems.
2It is also possible, though rare, to start bash as a non-interactive login shell. Like interactive login shells, such a shell sources ~/.profile automatically, and the default ~./profile in Ubuntu explicitly sources ~/.bashrc. Besides preventing unintentional execution in non-interactive remote shells, putting your additions to ~/.bashrc below the interactivity check also prevents it from being unintentionally executed in the strange case of a non-interactive login shell.
3Ubuntu's default .bashrc checks if ~/.bash_aliases exists ([ -f ~/.bash_aliases ]) and sources it (. ~/.bash_aliases) if it does. The code you posted verifies that your modified .bashrc file does perform those actions--it looks like the only change to it was the code you added at the top.

A: The caveat is in the second line:
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells.

That should be:
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
# ~/.bashrc: executed by bash(1) for non-login shells.

It looks like you forgot to hit Enter after entering the second alias which resulted in # ~/.bash... directly following your alias definition in the same line. Without a preceding space # ~/.bash... could not be interpreted as a comment by the shell but as a part of the argument of the alias command.
I'd also recommend to place aliases in the file ~/.bash_aliases which will be sourced when ~/.bashrc is executed, so you don't need to edit ~/.bashrc and eventually mess it up.
If you insist on placing aliases in ~/.bashrc, add them at the end of the file.
For deeper insight into this topic, please refer to Eliah's excellent answer to your question.


text:
<!DOCTYPE html>

    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css" />

    <link rel="stylesheet" href="/static/aaad.css" />
    <meta charset="utf-8">
    <title>Log in</title>

        Welcome to RogerOS

      {% if current_user.is_authenticated %}

Hello {{ current_user.get_username() }} (log out)!

      {% else %}
      <form action={{ url_for('login') }} method="post">

            <input type="text" id="user" name="user" title="Your user name (usually firstname.lastname)" placeholder="user name" autofocus/>

            <input type="password" id="pass" name="pass" title="Your password" placeholder="password"/>

            <input type="hidden" id="redirect" name="redirect" value="{% if redirect_url %}{{ redirect_url }}{% endif %}"/>

            <button class="ui-button" id="submit" type="submit">Log in</button>

      </form>
      {% endif %}
      {% if current_user.is_authenticated and not actas %}
      <form action={{ url_for('login') }} method="post">

            <input type="text" id="act_as" name="act_as" title="Team or user to act as for application and resource access" placeholder="act as (start typing or use arrow keys)" autofocus/>

            <input type="hidden" id="redirect" name="redirect" value="{% if redirect_url %}{{ redirect_url }}{% endif %}"/>

            <button class="ui-button" id="submit" type="submit">Proceed</button>

      </form>
      {% endif %}
      {% if current_user.is_authenticated and actas %}

 You're acting as {{ actas }} (change).

      {% endif %}
      {% with messages = get_flashed_messages() %}{% if messages %}{% for message in messages %}
{{ message }}
{% endfor %}{% endif %}{% endwith %}

redpajama_set_name: RedPajamaGithub


Classic crab cakes, panko-coated and deep fried, served with our own wasabi aioli.
Colorful striped cheese ravioli in a toasted pine nut and sage butter. Also available with our signature house-made marinara sauce.
Linguine with calamari in a spicy garlic-tomato sauce.
Creamy risotto with fresh local shiitake mushrooms, asparagus, shaved parmiggiano and black truffle oil.
Grilled boneless breast of duck with an orange-bergamot glaze, served with a warm farro grain salad.
A balanced and food-friendly white with a delicate scent of peaches and a subtle backdrop of fresh herbs.
A favorite Australian white at a terrific price.


text:
Q: How to get full profile from integrate google plus in my app? Hi I am trying sing in google plus in my app and after login get user full profile birthday ,firstName, lastname,gender,contact number ,etc
private void getProfileInformation() {
    try {
        if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
            Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
            String personName = currentPerson.getDisplayName();
            String personID = currentPerson.getId();
            String AgeRange  = String.valueOf(currentPerson.getAgeRange());

            String Place = String.valueOf(currentPerson.getPlacesLived());
            String personNamef = String.valueOf(currentPerson.getName()); //Gives First Name and Last Name in Json formay
            int personGender = currentPerson.getGender(); //Gives Gender in int 0:Male, 1:Female
            String personCircle = String.valueOf(currentPerson.getCircledByCount());
            String personPhotoUrl = currentPerson.getImage().getUrl();
            String personGooglePlusProfile = currentPerson.getUrl();
            String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
            if(personGender == 0){
                gen = "Male";
            }
            if(personGender == 1){
                gen = "Female";
            }
            if(personGender == 2){
                gen = "Other";
            }

            Log.e(TAG, "First Name: " + personNamef + ", plusProfile: "
                    + personGooglePlusProfile + ", ID: " + personID
                    + ", AgeRange: " + AgeRange +
                     ", CircledByCount: " + personCircle +

                    ", PlacesLived: " + Place);

            txtName.setText(personName);
            txtEmail.setText(email);
            txtGender.setText(gen);

            // by default the profile url gives 50x50 px image only
            // we can replace the value with whatever dimension we want by
            // replacing sz=X
            personPhotoUrl = personPhotoUrl.substring(0,
                    personPhotoUrl.length() - 2)
                    + PROFILE_PIC_SIZE;

            new LoadProfileImage(imgProfilePic).execute(personPhotoUrl);

        } else {
            Toast.makeText(getApplicationContext(),
                    "Person information is null", Toast.LENGTH_LONG).show();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

I do not get full profile here please help me .. Thanks in Advance

A: Google plus API does not provide any way to get user's contact number, even if they have made it public!!
For more details Visit Retrieve phone number from a signed in user profile from google plus login in android

redpajama_set_name: RedPajamaStackExchange


text:
Q: How to compare java version strings in c++? Let's say I have strings (Java version strings) like this:
"1.8.0_101"
"1.8.0_91"
Is there an easy way to determine which version is higher in c/c++?
I have used strcmp() so far. It compares version strings like "1.7.0" with "1.8.0" correctly, but when underscore character is involved it does not work anymore (because underscore has higher value in ASCII table than all numbers)

A: Disclaimer: this should be just an example to give you an idea of implementation. Your question lacks various points in order to make it a good question, anyway I'm going to try to help and give you a runnable example. The code could be improved and make it more robust.
struct Version {
  int m_major;
  int m_minor;
  int m_release;
  int m_minor_release;

  Version() : m_major(-1),
              m_minor(-1),
              m_release(-1),
              m_minor_release(-1) { }

  // Convert a str to a version object
  explicit Version(const std::string& str_version) : Version() {
    size_t offset = 0;
    size_t finder;

    // Cycle until find a character as '.' '-' '_'
    while (finder = str_version.find_first_of(".-_", offset),
           finder != std::string::npos) {
      int* p = nullptr;
      if (m_major == -1) {
        p = &m_major;
      } else if (m_minor == -1) {
        p = &m_minor;
      } else if (m_release == -1) {
        p = &m_release;
      } else {
        p = &m_minor_release;
      }

      *p = std::stoi(str_version.substr(offset, finder - offset));
      offset = finder + 1;
   }

    if (offset != str_version.size() && m_minor_release == -1) {
      m_minor_release = std::stoi(
        str_version.substr(offset,std::string::npos));
    }
  }

  bool operator<(const Version& oth) const {
    // compare this version with another one
  }
};

I hope you can find this little example useful for your problem implementation.


Fuel filters essentially keep out the dirt and grime that can build up when you put fuel in your car. Think how much fuel must pass through your car's engine every year, so it's important to keep out the dirt particles and ensure your engine runs smoothly.
That's where fuel filters come in.
There are different fuel filters for different models of car, but here at Halfords we have a range to fit all makes and models. We can help you choose the right one if you're not quite sure.
Just pop in store and speak to one of our helpful advisors.


Merrilyn is a skilled environmental professional with over 20 years' experience and a proven record of achievement in obtaining environmental approvals and compliance for mining, oil and gas, infrastructure and land development projects. She has a diverse background in the environmental sector in South Australia, Western Australia, Northern Territory, Queensland and New South Wales. She specialises in environmental impact assessment, environmental management systems, risk management, mine closure planning and technical due diligence. Merrilyn has excellent interpersonal and written communication skills and the ability to effectively manage output-focused teams.


text:
El municipio de Aizkraukles (en Letón: Aizkraukles novads) es uno de los 36 municipios de la República de Letonia, se encuentra localizado en el sur-oeste de dicho país báltico. Fue creado durante el año 2001 después de una reorganización territorial. La capital es la villa de Aizkraukle.

Subdivisiones
 Aizkraukle (villa)
 Aizkraukles pagasts (zona rural)

Población y territorio

Su población se encuentra compuesta por un total de 10.080 personas (2009). La superficie de este municipio abarca una extensión de territorio de unos 102,3 kilómetros cuadrados. La densidad poblacional es de 98,53 habitantes por cada kilómetro cuadrado.

Véase también
Organización territorial de Letonia

Referencias

Enlaces externos

redpajama_set_name: RedPajamaWikipedia


Radial Wrinkles mean aspiration of the capsule!
These radial wrinkles emanating from the port of the irrigation/aspiration probe are in the posterior capsule. This happens when we inadvertently aspirate the posterior capsule and it can increase the risk of capsular rupture and zonular damage. The critical maneuver when you see this sign is to release the suction (and possibly even reflux the flow) while avoiding moving the probe around in the eye. This video is edited to show just this technique, without having to watch the entire surgery.
Though the posterior capsule is quite thin (about 4 microns at its thinnest), it tends to be elastic and a light degree of suction should not damage it. All surgeons will encounter this scenario during the occasional cataract surgery. As long as the vacuum suction is immediately released and the probe is kept still in the eye, it should be of no consequence. Fortunately, the irrigation/aspiration probe has a soft, polymer tip. Note that if the capsule is inadvertently grabbed like this with the phaco probe, there is a much higher risk of rupture because of the sharp metal phaco tip.


The Water of Life Charity Whisky Event is a favorite, and not just because I count the organizer, Dr. Matthew Lurin, as a friend, nor because I have attended every one of the three iterations of the event. It's a favorite because it's a charity event, with all proceeds going to the GIST Cancer Awareness Foundation (GCAF). It's also a favorite because it has a unique format that turns out to be more wishful thinking than reality–and that's a good thing. The speed dating format is certainly unique, in that it moves attendees to different tables after a set period of time, preventing the onslaught of people at any one table and allowing an intimate setting in which one can talk with a brand ambassador and one's table-mates. I say it was more wishful thinking than reality because attendees do not follow the program too carefully and eventually get around to the tables they want to visit. But the speed dating decorum tends to hold even when this happens: attendees politely move to a new table, usually joining a new group, and they sit and engage in conversation about the whole lineup of whiskies (instead of, among other things, sticking their glasses out and demanding the oldest thing the brand person has). They also engage each other: each year, I have made new whisky friends at The Water of Life during the main part of the event. For this reason, The Water of Life provides one of the more pleasant experiences available in any whisky event.
Another standout feature of the event is the raffle. I donated a bottle (a now hard-to-find "Undisclosed Islay" from Single Cask Nation), as did many, many others, and the final set of offerings were impressive. This year, I did not buy a ticket, as I'm moving out of the country soon and need to be getting rid of bottles rather than adding new ones, but my buddy Kurt Maitland came away with the new Octomore. Despite needing to lighten my overall whisky load, I came away feeling quite jealous.
Last year's event was in the Midtown Loft, with a lovely rooftop deck. This year's event was in the IAC lobby, a much larger space with its own outdoor garden, albeit on the first floor. I missed the rooftop deck of the Midtown Loft at this year's event, but I enjoyed the added room to move around in the main area of the IAC lobby, and I loved that the food area was separate from the space where the speed dating happened. And I should note that the food was excellent–arguably a bit better than the year before, when it was delicious, beautifully presented fare.
I missed the masterclass and the mixed drink offerings, which were offered in what was later the food area, largely because I got distracted talking to friends, like Joe Hyman of Skinner Auctions, who opened a Johnnie Walker Red circa 1910 with a rare downward-sloping label (it was difficult for me to get a great read on it, perhaps because age had really taken the edge off of it, but maybe that was just me) and a Johnnie Walker Black from the 1950's (I found this one amazing–incredibly flavorful and complex). The video boards were also a bit distracting, just because they were a pretty wild addition to the event. Along one entire wall of the area devoted to speed dating were video boards that ran nearly floor to ceiling and featured content corresponding to the tables located in front of each board (see pic above). Pretty schnazzy stuff.
There were too many whisky highlights to cover adequately, but the Oishi Brandy Cask was an early revelation, not least because it's made from rice. Also, Spike McClure dropped some great knowledge on all of us at the Diageo table (featuring Oban 18, Talisker 18, and Lagavulin 8, among other luminaries)–I love learning new tidbits about whiskies I thought I knew well. I also enjoyed getting reacquainted with the Gordon & MacPhail Mortlach 25 Year Old–and meeting Morgan and Victoria at the Vision Wine & Spirits table (left). The Deanston 20 Year Old was another revelation: I had not been impressed by other Deanstons I'd had, but the 20 is really something. Finally, new friend Leonardo Comercio from PM Spirits had a stunner Amrut Single Malt Rye and a killer 20 Year Old Caperdonich from Duncan Taylor. He was a good sport about the Grouchos as well (see below).
Overall, it was another wonderful event. Matt Lurin puts on a fantastic event, and if you're looking for one with a charitable heart and that lets you have more space and time with brand folks, next year you should plan to attend this one.


text:
Playing Politics With Democracy? – Forbes
Harry Miller
On December 9 and 10, President Biden will host the first of two Summits for Democracy to "set forth an affirmative agenda for democratic renewal and to tackle the greatest threats faced by democracies today." How do Americans see the threat to democracy in the US now? And do partisans see the health of our democracy differently?
In October, Grinnell College asked them this directly. Fifty-two percent said American democracy was under a very serious threat and 29% under a minor threat. Only 14% perceived no threat. Other polls with differently worded questions produce similar impressions of a democracy in need of serious rehabilitation. In a November poll, Monmouth University pollsters found that 8% thought the US system of government was basically sound and needed no improvement, 35% basically sound but needing some improvement, 26% not too sound and needing many improvements, and 30% not too sound and in need of significant changes. And a late October–early November poll of 18–29 year olds from Harvard's Institute of Politics (IOP) finds that 7% of them describe US democracy as healthy, 27% somewhat functioning, 39% as in trouble, and 13% as failed.
In 2018, 2019, and again in 2021, Public Agenda, as part of the Daniel Yankelovich Democracy Initiative, asked people identical questions about democracy's health. In the May 2021 poll, 14% said American democracy was doing well, 50% facing serious challenges but not in crisis, and 36% in crisis. The results were similar to their 2018 and 2019 polls.
In all of these new polls, Democrats were more positive about democracy's health than were Republicans. In the 2021 Public Agenda survey, Democrats were less likely to see a crisis than Republicans, 25% to 48%. However, in their 2018 and 2019 polls taken during the Trump years, far more Democrats than Republicans said the system was in crisis. In the October 2021 Grinnell poll, 71% of Republicans compared to 35% of Democrats saw the threat as major. In the Monmouth poll, partisans in both parties thought improvements were necessary, but twice as many Republicans as Democrats (38% to 15%) said the system was not sound at all and needed significant changes. In the Harvard IOP poll, 18–29 year old Democrats were more optimistic about democracy, too. There is a clear disconnect between Democratic elites in the media and academia who regularly opine about a US democracy's decline and the views of rank-and-file Democrats.
This pattern is reversed when we look at questions about the events of January 6 and subsequent investigations as the new edition of the AEI Polling Report shows. Democrats profess much more concern than Republicans about what happened that day and are more eager to see the work of the January 6 congressional committee continue. In a mid-October online Morning Consult/Politico poll, 81% of Democrats compared to 18% of Republicans approved of the special congressional committee to investigate the events that occurred at the US Capitol on January 6. And in a mid-October Quinnipiac University poll, 40% wanted to hear more, but 56% said enough was already known about what led to the storming of the Capitol. Fifty-nine percent of Democrats wanted to hear more compared to 22% of Republicans and 38% of independents. Still, it is significant that nearly four in 10 (38%) Democrats said enough is known already, indicating some fatigue with the investigation.
There are some obvious reasons Democrats would feel better about our democracy than Republicans. They control both chambers of Congress, there's a Democrat in the White House, and expressing confidence in American democracy is a way of showing support for the party and the president as the polls above suggest. And Democrats will continue to hammer away at anything to do with Donald Trump.
The polls suggest that concerns about democracy have not diminished people's willingness to participate in the system — at least in terms of voting. Eighty percent in the Grinnell poll said they would definitely vote in the 2024 election for president and other offices and only 7% said they probably would not. What's more, 91% of Democrats and 88% of Republicans in the survey said that it was very important for the United States to remain a democracy. Five percent nationally said it was fairly important, 4% just somewhat, and 3% not important. When you care deeply about something as Americans do about democracy, you worry at its erosion. But today, this concern has a deep partisan overlay.
Meet the recipients of the new Women in Politics scholarship – The Signal
U.S. Senate passes bill to avert government shutdown, sends to Biden for signature
Restoration of Michelangelo's Pieta statue in Florence reveals flaws in marble
Soccer-Brazil to stop unvaccinated footballers playing in top leagues
Politics Briefing: Fate of 24 Sussex subject to consultations between PM, National Capital Commission – The Globe and Mail
Prime Minister Justin Trudeau says conversations are continuing with the National Capital Commission about the fate of 24 Sussex Drive, the official residence of the prime minister.
The commission, a federal Crown corporation whose responsibilities include managing official residences, has raised concerns about the state of the property initially built in 1868, and refurbished as an official residence for the prime minister in 1950. There is a history of the residence here.
"We are in consultations. We are assessing our options. And when we will arrive at a decision, we will share it with you," Mr. Trudeau told a news conference on Friday.
Mr. Trudeau said the government is engaging with the capital commission and other experts to ensure there is a safe and stable environment for "prime ministers current and future" as well as the interests of Canadians.
Mr. Trudeau and his family have been living in Rideau Cottage on the grounds of Rideau Hall instead of 24 Sussex Drive since he led the Liberals to power in 2015.
"We know that 24 Sussex has been neglected by many generations of politicians and prime ministers over the years," Mr. Trudeau said.
"Unfortunately, it is in a terrible condition."
The Prime Minister said the property is an important, historic building but there are concerns about safety.
Asked if he would take a decision during this mandate, and whether he was concerned about criticism of renovating the prime minister's residence and how much it might cost, Mr. Trudeau said he has no intention in living in 24 Sussex Drive regardless of how long he is Prime Minister.
This week, the CEO of the capital commission said, according to The Ottawa Citizen, that he has been stressing the need for repairs at Canada's official residences, including 24 Sussex Drive, with federal officials.
The residence was listed as being in "critical" condition in a commission report last year, and requiring $36.6-million in work. The Citizen story is here.
This is the daily Politics Briefing newsletter, written by Ian Bailey. It is available exclusively to our digital subscribers. If you're reading this on the web, subscribers can sign up for the Politics newsletter and more than 20 others on our newsletter sign-up page. Have any feedback? Let us know what you think.
CANADIAN LOAN FOR UKRAINE – Canada will lend Ukraine up to $120-million as Kyiv readies for possible war with Russia, Prime Minister Justin Trudeau announced Friday. Story here.
TRUDEAU VOWS ACTION ON PEOPLE SMUGGLING – Canada is doing all it can stop people smuggling across the U.S. border after a family of four froze to death in a "mind-blowing' tragedy, Prime Minister Justin Trudeau said on Friday. Story here.
CHAMPAGNE TO EXPLAIN MINE ACQUISITION – François-Philippe Champagne, the federal Minister of Innovation, Science and Industry, will go before a federal committee as early as next week and answer questions about why Justin Trudeau's Liberal government is allowing the acquisition of Canadian lithium firm Neo Lithium Corp. by a state-owned Chinese mining company without conducting a formal security review.
EXPLANATION FOR CONFUSED STATEMENT – Turmoil and confusion over whether truckers would remain exempt from the vaccine mandate last week stemmed from bureaucrats misinterpreting policy in more than one federal agency – including the one that co-ordinates Canada's response to the COVID-19 pandemic. Story here.
HAITI MEETING ON FRIDAY – The U.S. State Department says it is looking forward to a productive meeting today when Central American leaders gather online with Foreign Affairs Minister Mélanie Joly to talk about the future of Haiti. Story here. Meanwhile, Canada's ambassador to Haiti is calling for a politically "inclusive accord" to address a deepening constitutional crisis following the July 7 assassination of President Jovenel Moise. Story here.
SASKATCHEWAN TO REDEPLOY GOVERNMENT WORKERS – The Saskatchewan Health Authority says it is looking at redeploying government employees from other departments to help the health-care system. Story here.
FUNDING FOR FIRST NATIONS OMICRON RESPONSE – Indigenous Services Canada says it will provide $125-million in public-health funding for First Nations to bolster their responses to the Omicron variant. Story here.
The House of Commons has adjourned until Jan. 31 at 11 a.m. ET.
CANADA'S FINANCE MINISTERS TALK – Deputy Prime Minister Chrystia Freeland, also the Finance Minister, is hosting a virtual meeting on Friday with provincial and territorial finance ministers.
THE DECIBEL – . In Friday's edition of The Globe and Mail podcast, Future of Work reporter Vanmala Subramaniam tells us why the trend of hot-desking is gaining traction now. This is the idea that there are no assigned seats in an office. Instead, an employee books their spot through an app before coming in. Ms. Subramaniam also talks about what workers told her about their experience with hot-desking and how hot-desking will transform post-pandemic office life. The Decibel is here.
PRIME MINISTER'S DAY
Private meetings. The Prime Minister made a virtual announcement along with Housing Minister Ahmed Hussen, and then held a media availability. The Prime Minister delivered remarks at the opening of a foreign ministers' meeting on Haiti, hosted by Foreign Affairs Minister Mélanie Joly. And he participated in a virtual celebration of the 100th anniversary of the birth of Lincoln Alexander, Canada's first black MP.
No schedules provided for party leaders.
John Ibbitson (The Globe and Mail) on how the new-era Senate won't face its real test until we get our next Conservative government: "The real test of the Senate will come when there's a change in government, when it's not necessarily a government with whom the appointees agree, " said Kathy Brock, a political scientist at Queen's University who has long taken an interest in the Senate. Until we learn how the Red Chamber performs under those conditions, we won't really know whether it works at all. In 2014, in the midst of the Senate expenses scandal, Mr. Trudeau expelled all Liberal senators from caucus. After he became Prime Minister, he appointed only independent senators, albeit ones who mostly shared a progressive outlook."
Gary Mason (The Globe and Mail) on Alberta Premier Jason Kenney as the Boris Johnson of Canadian politics: "So while some will say Mr. Madu's intentions weren't malicious or corrupt, it doesn't matter. He violated a sacred tenet of government. He may have found other means, or avenues, to have this issue addressed that didn't involve him picking up the phone and calling the city's top cop. There is, however, another disturbing aspect to this whole affair: The question of what Mr. Kenney knew, and when he knew it. As mentioned, the incident and phone call happened 10 months ago. According to veteran Alberta columnist Don Braid, it was widely known among members of cabinet and discussed in "jocular" terms. It seems inconceivable that if members of cabinet knew about this, Mr. Kenney didn't also."
Elizabeth Renzetti (The Globe and Mail) on why real men take paternity leave: "You may have seen a recent picture of NDP Leader Jagmeet Singh in a classic new-parent pose, holding his infant daughter while also trying to sneak a peek at his laptop. Unfortunately, this nice moment of paternal devotion has been upstaged by a rocking chair. The $1,895 rocking chair was a gift to Mr. Singh's wife, and he landed in hot water when he tagged the chair-maker in an Instagram post. He's now said the couple is repaying the cost of the chair, and the NDP is working with the ethics commissioner on a disclosure. The photo has caused quite a flap. If you travel down the devil's highway that is Twitter, you'll see a certain amount of fury directed at Mr. Singh and his fancy rocker. I understand the anger: It was a dumb and possibly unethical move. But really I'm just sad, because this was an opportunity for a progressive politician to take a stand on something that is hugely important, which is the need for new dads to loudly and proudly take advantage of paid parental leave."
Tanya Talaga (The Globe and Mail) on how a fire has killed Indigenous children again – because poverty burns through the generations: "Let this sobering truth sink in: First Nations children under the age of 10 are 86 times more likely to die in a fire than non-Indigenous children, according to the Ontario Chief Coroner's Table on Understanding Fire Deaths in First Nations, which released a damning report last year after studying 56 fire deaths in 29 fires across 20 First Nations over the course of 10 years. How many times must we read about government reports, parliamentary committee hearings or new programs that are needed to fund basic fire safety and infrastructure in First Nations communities? How many times must the Assembly of First Nations and territorial political organizations yell from the rooftops about the need to adequately fund fire safety?"
Konrad Yakabuski (The Globe and Mail) on how taming inflation will be much trickier than stimulating the economy: "If you've been in the market for a new refrigerator in recent weeks, you're likely still suffering from sticker shock. Fridge prices were up almost 14 per cent in December, as Canada's overall inflation rate hit a 30-year high of 4.8 per cent. Everything is suddenly costing more, from that fridge and the groceries you put in it (up 5.7 per cent) to a new car (7.2 per cent more) and the gas (33 per cent) it likely runs on. From home insurance (9.3 per cent) to shelter costs (5.4 per cent), Canadians are forking out more and more of their income just to cover the basics. Some very smart folks insist this nasty spike in prices is a nice problem to have."
Got a news tip that you'd like us to look into? E-mail us at tips@globeandmail.com. Need to share documents securely? Reach out via SecureDrop
Stewart Muir: How eco-advocates worked B.C. politics – Financial Post
You can choose ancient trees or you can choose jobs, but only bad people opt for jobs — is the preferred mental construct of anti-forestry campaigners
The clouds move among the old growth forest in the Fairy Creek logging area near Port Renfrew, B.C. Photo by THE CANADIAN PRESS/Jonathan Hayward files
Last year noisy blockaders descended on Fairy Creek on the south coast of Vancouver Island to stop loggers they claimed were laying waste to irreplaceable old growth forests. What the public did not see behind all the fireworks was a carefully laid advocacy strategy to burrow into the heart of government decision-making and bring about policies, not based on sound science, that will hurt working British Columbians. Forestry accounts for a third of British Columbia's exports – triple both the tourism sector and also tech and film combined — and benefits at least 130 First Nations.
Thanks to freedom of information (FOI) requests, I have been able to piece together the story behind the story.
Responding to incidents such as Fairy Creek, B.C.'s NDP government commissioned a review. The first step was a report calling for a "paradigm shift" to protect old growth forests. Next came a deeper dive by an expert panel that resulted in some shocking news for the forest industry: timber access restrictions that could shutter as many as 20 sawmills and two pulp and paper mills, with up to 18,000 jobs being lost. Industry, First Nations and labour unions were furious. Last week, a financial markets analyst told an industry conference that British Columbia forestry is now seen as "uninvestable" due to the uncertainty.
Hundreds of pages of documents released under FOI reveal that the supposedly impartial expert panel was, in fact, constituted to exclude nearly all viewpoints except those closely aligned to a single organization, the Sierra Club, which has a longstanding axe to grind with the forest industry. The "Old Growth Technical Advisory Panel" was a joint project of environment minister George Heyman and forest minister Katrine Conroy. Correspondence reveals that it was mostly designed and managed by Heyman, who before becoming an MLA was executive director of Sierra Club BC.
Remarkably, four of the five appointees had strong, unmistakeable connections to the Sierra Club. A government official noted that the panel "does not include the full range of views that would be needed for decision making." It was known that the panel would deliberately ignore "implications for industry; local community interest; First Nations interests and Indigenous knowledge."
When the panel's makeup was announced, a senior forestry official warned: "At a minimum, to be most effective, this Panel should have been comprised of ministry and external experts, in an equal and balanced collaboration that would most effectively deploy the depth of knowledge possessed by the government's own staff." Such advice was not heeded, and the appointees insisted their professional opinions not be questioned. Where the panel did seek outside views, only pressure groups aligned with the Sierra Club were invited.
Terence Corcoran: How greens are killing the B.C. forest sector
Opinion: Stakeholder capitalism and ESG's road to socialism
William Watson: The new, new, new interventionism
It's not difficult to imagine what the reaction would have been if members of this advisory group had previously volunteered their time to write a paper on the very same topic as the panel's business, as three members of this panel had done, but for a forest industry association rather than the Sierra Club, and that association had then built an elaborate PR campaign around the work.
The individual who emerged as the group's chief liaison with government, Lisa Matthaus, was not a technical expert at all but rather a former Sierra Club campaigns director now in a senior political operative job with Organizing for Change, an offshoot of MakeWay, the new name of Tides Canada, a longtime advocacy group, which rebranded itself in 2020 after complaining its anti-everything goals had been misunderstood.
Given all this, it was hardly surprising when the panel came back with recommendations that threaten to gut an entire industry. But if the scientific case for radically reducing access to forestry lands was so strong, why rely on such a cooked process? Founding the heralded paradigm shift on fragile legitimacy only risks hardening existing social polarization.
A zero-sum framing — you can choose ancient trees or you can choose jobs, but only bad people opt for jobs — is the preferred mental construct of anti-forestry campaigners. The enormous conservation strides B.C. has made since the 1990s "war in the woods" are ignored, confirming again that no amount of give and take is ever enough. It's as if the culture wars raging in university humanities departments had shifted over to the science faculties, with ecologists who believe trees are altruistic beings who talk to each other clashing for supremacy over forestry scientists and professionals who must weigh many factors.
In the end, the insider moves of a narrow interest group snookered the provincial cabinet, MLAs, citizens, and the broader forestry community. Any hope for a balanced outcome now rests with Indigenous leaders, the only group with the political clout to go up against the environmental lobby.
Stewart Muir is a journalist and founder of Vancouver-based Resource Works Society. The full version of this article appears in the latest issue of The Forestry Chronicle, a publication of the Canadian Institute of Forestry.
Opinion: Jason Kenney has become the Boris Johnson of Canadian politics – The Globe and Mail
Alberta Premier Jason Kenney speaks during a news conference after meeting with Prime Minister Justin Trudeau on Parliament Hill on Dec. 10, 2019.BLAIR GABLE/Reuters
In March of last year, Alberta Justice Minister Kaycee Madu was pulled over in the province's capital and issued a ticket for distracted driving in a school zone.
A couple of days later, he phoned Edmonton's chief of police, Dale McFee, to discuss the $300 ticket, which he eventually paid.
The ticket, and the phone call, only recently came to light thanks to the CBC. Things moved quickly after that; Mr. Madu defended himself by saying he didn't phone Mr. McFee to protest the ticket, but rather to discuss the issue of racial profiling. Mr. Madu is Black. He also wanted to be assured he wasn't being "unlawfully surveilled," which some police in the province have been accused of doing.
This week, Premier Jason Kenney expressed "profound disappointment" in Mr. Madu for making the phone call, and asked him to "step back from his ministerial duties" while an independent investigation into the matter is carried out.
Mr. Kenney should have fired Mr. Madu on the spot.
There is almost no circumstance in which Mr. Madu, who is also solicitor-general and responsible for law enforcement in Alberta, could be returned to his cabinet duties, such is the iron-clad rule in politics that elected officials (particularly cabinet ministers) don't interfere in the administration of justice at any level. It's an automatic termination offence.
Mr. McFee, for what it's worth, has corroborated the justice minister's version of events; that he wasn't calling to get out of the ticket but to discuss carding, an issue he has championed. And while I may have some sympathy for Mr. Madu on this matter, you do not pick up the phone and call the chief of police to have a conversation about it after getting a ticket.
In a different scenario, maybe the police chief interprets the call as subtle pressure and gets the violation ripped up. The fact that didn't happen in this case is irrelevant. Cabinet ministers can't appear to be using their office to exert influence or put their finger on the scales of justice in any way. Especially if you are the justice minister.
So while some will say Mr. Madu's intentions weren't malicious or corrupt, it doesn't matter. He violated a sacred tenet of government. He may have found other means, or avenues, to have this issue addressed that didn't involve him picking up the phone and calling the city's top cop.
There is, however, another disturbing aspect to this whole affair: The question of what Mr. Kenney knew, and when he knew it.
As mentioned, the incident and phone call happened 10 months ago. According to veteran Alberta columnist Don Braid, it was widely known among members of cabinet and discussed in "jocular" terms. It seems inconceivable that if members of cabinet knew about this, Mr. Kenney didn't also.
The Premier should make clear when he found out about the matter; was it only when the CBC story made it public? If Mr. Madu discussed the issue with colleagues, would he not also have notified the Premier's office of what happened? I would think that most justice ministers in this country would notify their bosses when they have a run-in with police, regardless of how insignificant it was.
At the very least, it's inconceivable that Mr. Madu's own chief of staff wouldn't have been told about it and then passed it along to the Premier's office. No head of government likes nasty surprises. That's one of the core rules of being in government, and especially cabinet. If there is a potential for some damaging information to come to light, you alert the top person.
That is why I am highly skeptical that Mr. Kenney only found out about this recently. He's renowned for his micromanaging tendencies and his insistence that he not be the victim of any unpleasant surprises. It's virtually impossible to believe he wasn't aware of this story long before now.
This is, of course, just another illustration of the shockingly poor judgment that members of Mr. Kenney's cabinet – and the Premier himself – have demonstrated over the past couple of years. Mr. Kenney's nearly three-year reign of error has been enveloped by melodrama and controversy. At various times his response to the pandemic was atrocious. His response to most internal problems has been to deny and delay until he's boxed into a corner and is forced to do something. There have been calls for his resignation both inside and outside his party.
Mr. Kenney has become the Boris Johnson of Canadian politics. Like the British Prime Minister, he seems to have put a foot wrong at almost every turn, and come to be seen as a bumbling, incompetent leader. And his handling of this latest imbroglio will do nothing to diminish that image.
Haiti's allies need to help tackle spike in violence -Canada PM Trudeau
Tech20 hours ago
Xbox boss wants to revive old Activision Blizzard games – Rock Paper Shotgun
Timing of Bank of Canada's rates lift-off on knife's edge; Jan. 26 hike possible: Reuters poll

redpajama_set_name: RedPajamaCommonCrawl


text:
Great Southern Land Films: The Tree (2010)
The Tree (2010) is an Australian-French co-production, based in Judy Pascoe's novel Our Father Who Art in the Tree. After Simone's father, Peter, dies from a heart-attack in his truck on the family's property in southern Queensland, she believes that his spirit now inhabits the giant Morton Bay fig tree that is rooted near the house. Tension occurs when Simone's mother, Dawn, begins seeing a plumber. As the tree drops branches on the house, and its roots threaten the plumbing and structure he suggests that they cop it down.
This film falls into the spiritual outback category of Aussie films. It has a lovely lyrical quality, with its close-ups of the elephant-like bark of the tree. At the top of the tree's trunk is a platform that Simone and her mother snuggle into on occasion, the branches embracing and holding them. The breeze in the leaves whisper responses to Simone's own whisperings. Parts of it reminded me of the close-ups of nature in Nicolas Roeg's Walkabout, but with a less visceral overtone.
The Tree is an obscure Australian film, despite the calibre of the cast, particularly Charlotte Gainsbourg and Marton Csokas. It is also a French-Australian co-production, a permutation that rarely occurs.
The use of the tree is clever way to explore different responses to grief. Dawn (Gainsbourg) remains deep in her grief for the first half of the film. She can't keep the household together, instead relying on her older son to pick up the slack. Simone (Morgana Davies) is eight, and one could argue that her belief in her Dad's present spirit is misguided, but the film doesn't condescend to her. In fact, it sticks close to her viewpoint, offering no definitive answer to this belief.
After Dawn emerges from her grief after she begins working for a local plumber, played with rugged temptation by Marton Csokas. One night, the tree drops a huge branch into her bedroom; instead of getting angry, Dawn gets into bed, surrounded by the strong branches and leaves and feels comfortable and happy. She, like Simone, feels closer to Peter through the tree.
This complex and intelligence exploration of grief is bolstered by what I consider the film's greatest drawcard: the wonderful, and wonderfully named, Morgana Davies. She is the film's emotional backbone, a weight that her young shoulders carry with aplomb. Her performance is one of the best child performances I have ever seen, and if the topic doesn't interest you, I would urge you to see simply for her.
The rest of the performances are strong as well; Charlotte Gainsbourg is very good as the grieving wife and mother, and handles the vacillating aspects of the character well. Marton Csokas is also good as the outsider who disrupts the family unit. The children are all good, and the dynamics between them are recognisable.
It is not a huge film, but I really enjoyed it; it is quietly beautiful and deep, with a wonderful depiction of Australian country life at the heart of it.
So, has anyone seen it?
Labels: Aussie Films, child performances, nature in film, the tree
Great Southern Land Films: The Castle (1997)
Great Southern Land Films: Double Feature: Muriel'...


text:
static int numOfReceived = 0;
static int numOfSent = 0;

class TestEventReceivedListener : public EventReceivedListener {
public :
    virtual void onReceived(Event event) {
        numOfReceived++;
    }
};

class TestEventSentListener : public EventSentListener {
public :
    virtual void onSent(Event event) {
        numOfSent++;
    }
};

class EVENT_LISTENER : public ::testing::Test {
public:
    // Per-test-case set-up.
    // Called before the first test in this test case.
    // Can be omitted if not needed.
    static void SetUpTestCase() {

    }

    // Per-test-case tear-down.
    // Called after the last test in this test case.
    // Can be omitted if not needed.
    static void TearDownTestCase() {

    }

    virtual void SetUp() {

    }

    virtual void TearDown() {
        numOfReceived = 0;
        numOfSent = 0;
    }

};

TEST_F(EVENT_LISTENER, UNIT_Simple_EventReceivedListener) {
    std::string message ="random message";
    std::string summary = "a summary";
    Event event(summary, message);

    EventDispatcher dispatcher;
    EventListenerPtr listener = std::make_shared<TestEventReceivedListener>();
    dispatcher.addListener(listener);

    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(1, dispatcher.getEventListeners(EVENT_RECEIVED).size());

    dispatcher.sendMessage(event, EVENT_RECEIVED);
    dispatcher.sendMessage(event, EVENT_RECEIVED);

    ASSERT_EQ(2, numOfReceived);
    ASSERT_EQ(0, numOfSent);

    dispatcher.removeListener(listener);

    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());
}

TEST_F(EVENT_LISTENER, UNIT_Simple_EventSentListener) {
    std::string message ="random message";
    std::string summary = "a summary";
    Event event(summary, message);

    EventDispatcher dispatcher;
    EventListenerPtr listener = std::make_shared<TestEventSentListener>();
    dispatcher.addListener(listener);

    ASSERT_EQ(1, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());

    dispatcher.sendMessage(event, EVENT_RECEIVED);
    dispatcher.sendMessage(event, EVENT_SENT);
    dispatcher.sendMessage(event, EVENT_SENT);

    ASSERT_EQ(0, numOfReceived);
    ASSERT_EQ(2, numOfSent);

    dispatcher.removeListener(listener);

    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());
}

TEST_F(EVENT_LISTENER, UNIT_Simple_Remove_EventSentListener) {
    EventDispatcher dispatcher;
    EventListenerPtr listener = std::make_shared<TestEventSentListener>();
    dispatcher.addListener(listener);

    ASSERT_EQ(1, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());

    dispatcher.removeListener(listener);

    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());
}

TEST_F(EVENT_LISTENER, UNIT_Simple_Remove_Unexisted_EventSentListener) {
    EventDispatcher dispatcher;
    EventListenerPtr listener = std::make_shared<TestEventSentListener>();

    dispatcher.removeListener(listener);

    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());
}

TEST_F(EVENT_LISTENER, UNIT_Simple_All_Listener) {
    std::string message ="random message";
    std::string summary = "a summary";
    Event event(summary, message);

    EventDispatcher dispatcher;
    EventListenerPtr listener1 = std::make_shared<TestEventSentListener>();
    dispatcher.addListener(listener1);
    EventListenerPtr listener2 = std::make_shared<TestEventReceivedListener>();
    dispatcher.addListener(listener2);

    ASSERT_EQ(1, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(1, dispatcher.getEventListeners(EVENT_RECEIVED).size());

    dispatcher.sendMessage(event, EVENT_SENT);
    dispatcher.sendMessage(event, EVENT_RECEIVED);

    ASSERT_EQ(1, numOfSent);
    ASSERT_EQ(1, numOfReceived);

    dispatcher.removeListener(listener1);
    dispatcher.removeListener(listener2);

    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_SENT).size());
    ASSERT_EQ(0, dispatcher.getEventListeners(EVENT_RECEIVED).size());
}


text:
package com.teamderpy.victusludus.game.map;

import java.util.Random;

import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Pixmap.Format;
import com.teamderpy.victusludus.game.tile.GameTile;

/**
 * Adapted from <a
 * href="http://devmag.org.za/2009/04/25/perlin-noise/">http://devmag
 * .org.za/2009/04/25/perlin-noise/</a>
 * @author badlogic
 */
public class PerlinNoiseGenerator {
	private static Random rand;

	public static float[][] generateWhiteNoise (final int width, final int height) {
		float[][] noise = new float[width][height];
		for (int y = 0; y < height; y++) {
			for (int x = 0; x < width; x++) {
				noise[x][y] = PerlinNoiseGenerator.rand.nextFloat();
			}
		}
		return noise;
	}

	public static float interpolate (final float x0, final float x1, final float alpha) {
		return x0 * (1 - alpha) + alpha * x1;
	}

	public static float[][] generateSmoothNoise (final float[][] baseNoise, final int octave) {
		int width = baseNoise.length;
		int height = baseNoise[0].length;
		float[][] smoothNoise = new float[width][height];

		int samplePeriod = 1 << octave; // calculates 2 ^ k
		float sampleFrequency = 1.0f / samplePeriod;
		for (int i = 0; i < width; i++) {
			int sample_i0 = (i / samplePeriod) * samplePeriod;
			int sample_i1 = (sample_i0 + samplePeriod) % width; // wrap around
			float horizontal_blend = (i - sample_i0) * sampleFrequency;

			for (int j = 0; j < height; j++) {
				int sample_j0 = (j / samplePeriod) * samplePeriod;
				int sample_j1 = (sample_j0 + samplePeriod) % height; // wrap around
				float vertical_blend = (j - sample_j0) * sampleFrequency;
				float top = PerlinNoiseGenerator.interpolate(baseNoise[sample_i0][sample_j0], baseNoise[sample_i1][sample_j0],
					horizontal_blend);
				float bottom = PerlinNoiseGenerator.interpolate(baseNoise[sample_i0][sample_j1], baseNoise[sample_i1][sample_j1],
					horizontal_blend);
				smoothNoise[i][j] = PerlinNoiseGenerator.interpolate(top, bottom, vertical_blend);
			}
		}

		return smoothNoise;
	}

	public static float[][] generatePerlinNoise (final float[][] baseNoise, final int octaveCount) {
		int width = baseNoise.length;
		int height = baseNoise[0].length;
		float[][][] smoothNoise = new float[octaveCount][][]; // an array of 2D
// arrays containing
		float persistance = 0.7f;

		for (int i = 0; i < octaveCount; i++) {
			smoothNoise[i] = PerlinNoiseGenerator.generateSmoothNoise(baseNoise, i);
		}

		float[][] perlinNoise = new float[width][height]; // an array of floats
// initialised to 0

		float amplitude = 1.0f;
		float totalAmplitude = 0.0f;

		for (int octave = octaveCount - 1; octave >= 0; octave--) {
			amplitude *= persistance;
			totalAmplitude += amplitude;

			for (int i = 0; i < width; i++) {
				for (int j = 0; j < height; j++) {
					perlinNoise[i][j] += smoothNoise[octave][i][j] * amplitude;
				}
			}
		}

		for (int i = 0; i < width; i++) {
			for (int j = 0; j < height; j++) {
				perlinNoise[i][j] /= totalAmplitude;
			}
		}

		return perlinNoise;
	}

	public static float[][] generatePerlinNoise (final int width, final int height, final int octaveCount) {
		float[][] baseNoise = PerlinNoiseGenerator.generateWhiteNoise(width, height);
		return PerlinNoiseGenerator.generatePerlinNoise(baseNoise, octaveCount);
	}

	public static byte[] generateHeightMap (final int width, final int height, final int min, final int max, final int octaveCount) {
		float[][] baseNoise = PerlinNoiseGenerator.generateWhiteNoise(width, height);
		float[][] noise = PerlinNoiseGenerator.generatePerlinNoise(baseNoise, octaveCount);
		byte[] bytes = new byte[baseNoise.length * baseNoise[0].length];
		int idx = 0;
		int range = max - min;
		for (int y = 0; y < height; y++) {
			for (int x = 0; x < width; x++) {
				bytes[idx++] = (byte)(noise[x][y] * range + min);
			}
		}
		return bytes;
	}

	public static Pixmap generatePixmap (final int width, final int height, final int min, final int max, final int octaveCount) {
		byte[] bytes = PerlinNoiseGenerator.generateHeightMap(width, height, min, max, octaveCount);
		Pixmap pixmap = new Pixmap(width, height, Format.RGBA8888);
		for (int i = 0, idx = 0; i < bytes.length; i++) {
			byte val = bytes[i];
			pixmap.getPixels().put(idx++, val);
			pixmap.getPixels().put(idx++, val);
			pixmap.getPixels().put(idx++, val);
			pixmap.getPixels().put(idx++, (byte)255);
		}
		return pixmap;
	}

	public static void generateVoxels (final Map map, final int min, final int max, final int octaveCount, final long seed) {
		PerlinNoiseGenerator.rand = new Random(seed);

		byte[] heightMap = PerlinNoiseGenerator.generateHeightMap(map.voxelsX, map.voxelsZ, min, max, octaveCount);
		int idx = 0;
		for (int z = 0; z < map.voxelsZ; z++) {
			for (int x = 0; x < map.voxelsX; x++) {
				map.setColumn(x, heightMap[idx++], z, GameTile.ID_GRASS);
				map.setHighestPointIfHigher((int)map.getHighest(x, z));
			}
		}
	}
}


text:
Introduction of Anwar Ibrahim
Ffifteenth Annual Seymour Martin Lipset Lecture on Democracy in the World
It's an extraordinary honor for me to introduce Anwar Ibrahim this evening to deliver the 15th annual Lipset Democracy Lecture. It's also a great personal pleasure to welcome Anwar back to Washington.
I first met Anwar in 2005 when he arrived in Washington after spending five years as Malaysia's most famous political prisoner. He was already a major international figure, recognized for his role as a reform-minded political leader, a Muslim democrat, and an activist defending the rights of poor people and minorities.
He was first arrested in 1974 and spent twenty months in prison for leading student protests against rural poverty and hunger. He headed the Muslim Youth Movement of Malaysia back then, and co-founded the International Institute of Islamic Thought in 1981.
His career took a dramatic turn in 1982 when he joined the ruling UMNO party that was headed by Prime Minister Mahathir bin Mohamad. Anwar's star rose quickly as he was appointed to a number of government ministerial posts, including Minister of Education. He was made Finance Minister in 1991 and became Mahathir's Deputy Prime Minister two years later. He was credited with promoting market reforms that spurred Malaysia's rapid economic growth in the 1990s, and he was hailed for successfully guiding Malaysia through the Asian Financial Crisis of 1997. Asiamoney named Anwar Finance Minister of the Year in 1996, and he was Newsweek's Asian of the Year in 1998.
But Anwar's political fortunes soon changed when he launched a bold attack on the culture of cronyism and nepotism within the UNMO coalition and also challenged Mahathir's protectionist policies.
He was fired from the cabinet and then arrested, beaten, and sentenced to prison on trumped-up charges of corruption and sodomy.
Almost as soon as Anwar arrived in Washington in 2005 after his release from prison, he became a core member of our community of democracy intellectuals and advocates. He spoke at numerous forums that we organized here in Washington, in New York, and abroad. He wrote two article for the Journal of Democracy. He gave keynote addresses at two global assemblies of the World Movement for Democracy, one held in Istanbul in 2006 and the other in Jakarta in 2010. And he delivered an eloquent talk at a symposium we held at the Library of Congress in 2007 on the occasion of the 25th anniversary of President Reagan's Westminster Address that had launched the creation of the NED.
In all of these speeches Anwar defended the universality of the democratic idea and systematically rebutted the various doctrines that were circulating at the time making the case for authoritarianism. These doctrines included what he called "the Asian values mantra" claiming that democracy is a Western idea unsuited to Asian cultures, the view that Islam and democracy are inherently incompatible, and the argument – now prominently being promoted by China – that "human rights and freedom are a stumbling block in the eradication of poverty" and that authoritarianism is needed for development.
"Democracy," Anwar said at the Library of Congress, is not about the choice between starvation and freedom. It is about the freedom to overcome poverty and tyranny without compromising in the struggle against either."
Anwar has always been prepared to pay the price for his beliefs. After the opposition coalition that he led was denied the victory it had won in the Malaysian general election of 2013, Anwar vowed to lead a "fierce movement" against election fraud and to reform the country's electoral system. As a result, he was once again sentenced to prison.
Anwar didn't mince words in the statement that he made to the judges after the verdict was announced. He accused them of being partners with their "political masters" in "the murder of judicial independence and integrity."
"Yes," he said, "you have passed judgment on me, and I will, again for the third time, walk into prison, but rest assured that my head will be held high. The light shines on me…the shame is on you…Going to jail, I consider a sacrifice I make for the people of this country….My struggle will continue…"
And indeed it has continued. In the historic election held in Malaysia on May 9 last year, the opposition coalition that Anwar negotiated with Mahathir while he was still behind bars swept to a resounding victory as the people of Malaysia revolted against massive corruption.
Anwar received a royal pardon and was released from prison. He then stood for and won a by-election that returned him to the parliament.
As we meet this evening, Anwar's struggle continues. We don't know if the 93-year old Mahathir will honor the agreement he made before the election to transfer power to Anwar after two years. We only know that Mahathir is not getting any younger. And we should never underestimate Anwar's political resilience, courage, and determination.
Over the years Anwar has shown a singular ability to turn adversity to advantage, even to find strength in suffering.
In his speech at the Library of Congress, he said that "Throughout these ordeals my passion for freedom and justice has grown in intensity."
Anwar Ibrahim is a rare figure – a political leader who is also a courageous democracy activist and a serious democratic intellectual as well. Marty Lipset would have felt very proud that Anwar is speaking to us tonight in his name. It's now my honor to introduce my friend Anwar Ibrahim to deliver the Fifteenth Annual Seymour Martin Lipset Lecture on Democracy in the World.


Fun for the whole fam. Up the entertainment level with the Visual Land Prestige 7QL Famtab tablet.
Take the entertainment wherever you go. Loaded with great apps like YouTube, Zoodles KidMode, and Google Chrome, plus a movie player and music player, there's always something for every member in the family to do. And thanks to built-in Wi-Fi, you're always connected.
Keep in touch with ease. Two built-in cameras--front- and rear-facing--make it incredibly easy to video chat with friends. Or, snap some great photos or record video. Plus, the removable bumper case keeps your tablet safe from bumps, bruises--and the kids. From Visual Land.
For helpful terms and definitions, please refer to the Tablet Glossary tab above.
Wireless capability may require a network connection, accessories, and/or a service fee. Use of Bluetooth technology may require software and accessories.
Visual Land Prestige 7QL Famtab 7" Tablet - 16GB, Android 5.0 is rated 2.8 out of 5 by 8.
Rated 1 out of 5 by Michele2103 from Garbage!!!!! Slowest tablet I've ever seen and almost no sound . Do Not waste your money .
Rated 2 out of 5 by Mama Manda from tablet its not what I expected. Its very very slow. Its quite frustrating to wait for something to come up or load. Its lightweight so that is nice, but that's all I can really say on it.
Rated 3 out of 5 by FentonFanatic from Issues are prominent I expected a much higher quality item for the price I paid! I purchased two of these for my grandchildren, and there are problems with the tablet keeping an Internet connection. It is not my Internet service or provider, as all my other devices work perfectly. I am not very happy with these products, especially, as stated earlier, for the price I paid for them. They do have good screen quality, and the covers are perfect to assist in keeping damage at a minimum if dropped. My grandchildren become very frustrated though when they have to restart the tablets to reconnect to the Internet. These are certainly not the worst tablets I have purchased, but they are not the best either. I have purchased far better tablets, name brand, for far less and received much higher quality. I truly had high hopes for these, however, they are short on the mark!
Rated 5 out of 5 by julienne from The BestPurchase EVER!!! I love this tablet it goes everywhere has everything you could possibly want!!!!!
Rated 1 out of 5 by Diana 1957 from Not worth the money We bought this for our granddaughter it is very slow to load, it only holds a charge for about an hour.
Rated 1 out of 5 by haileigh from Not Good This tablet is not a good purchase. I had problems with it starting from the first day I received it. Doesn't want to charge, when it does charge it doesn't hold the charge for long, and it runs slow. Bought it for my son for his birthday and I was very disappointed.
Rated 5 out of 5 by John2020 from Great tablet My wife loves this tablet. It has everything you need to play games and surf the net.


Music City native and hip hop artist Benji has put out his first album! Come Home Now premiered on July 7th and includes 13 songs, including "Ready to Go," "In the Air," and "Nothin' to Complain About." The first track on the album, "Give Me Your Song," also features Audrey Morgan.
Check out Come Home Now below on Spotify and follow Benji on Twitter and Instagram: @thebenjimusic!
Windy City Smokeout 2016 Lineup Announced!


text:
Vancouver News
B.C. boy handcuffed, mother says children's hospital should have been safe space
Vancouver Jan 27, 2023 / 7:30 pm
The mother of a 12-year-old Indigenous boy who was handcuffed by police at B.C. Children's Hospital in Vancouver says it should have been a safe place for...
Delta Jan 27, 2023 / 3:29 pm
FortisBC Holdings Inc. says it has signed a deal with a First Nation in British Columbia over the Tilbury liquefied natural gas expansion projects. The...
Leader of billionaire-funded protest of Surrey journalist expresses remorse for violent attack
Surrey Jan 27, 2023 / 11:54 am
The exiled Chinese billionaire connected to Donald Trump adviser Steve Bannon paid $300 a day for picketers to march daily outside a Surrey journalist's...
BC Cancer Agency halfway through cancer cluster investigation at elementary school
Maple Ridge Jan 27, 2023 / 11:50 am
Epidemiologists are halfway through an investigation into a potential cancer cluster at a B.C. school, Glacier Media has confirmed. A spokesperson for the BC...
Homeless man who torched Burnaby sushi restaurants 'wanted to teach somebody a lesson'
Burnaby Jan 27, 2023 / 10:05 am
A homeless man who set fire to two Burnaby restaurants – one of them twice – was "frustrated" and "overwhelmed" and wanted...
Woman who defrauded Richmond private school abandons bid to appeal
Richmond Jan 27, 2023 / 10:01 am
A B.C. Court of Appeal judge has dismissed a woman's appeal of a trial judgment in favour of Chaoyin International School, deeming her to have abandoned...
Why you might see people catching seagulls in Vancouver
Vancouver Jan 27, 2023 / 9:41 am
If you see people catching seagulls in Vancouver, they might just be federal scientists. Mark Hipfner and his crew are researchers with Environment Canada...
Vancouver residents lost over $700,000 to 'network of scammers' in 2022
Vancouverites lost over $700,000 combined to a bail money scam in 2022. The Vancouver Police Department shared on Thursday that 56 victims handed over cash for...
Richmond citizens recognized for bravery, catching violent suspect
Richmond Jan 27, 2023 / 9:32 am
Three Richmond citizens were honoured yesterday for their brave actions in helping Richmond RCMP catch a violent suspect and tending to an injured officer....
Mayor frustrated by B.C's 'unfair' request for more info on Surrey policing shift
Surrey Jan 27, 2023 / 6:29 am
The mayor of Surrey says the province is being "unfair" by requesting more information before it decides on the city's plan to revert to the RCMP...
A groundswell of support for the Vancouver Folk Music Festival has its board of directors rethinking plans to cancel this year's event and dissolve the...
Protest planned at alleged Chinese 'police station'
Richmond Jan 26, 2023 / 5:29 pm
A group of protesters plans to voice their opposition to alleged Chinese-government linked "police stations" in Canada on Friday in Richmond. A...
Surrey police transition decision delayed by B.C. government
Surrey Jan 26, 2023 / 4:48 pm
A looming decision from the provincial government on Surrey's police force transition project has been delayed, B.C. Minister of Public Safety and...
B.C. teacher suspended after making special needs student cry
Langley Jan 26, 2023 / 12:46 pm
A substitute teacher in Langley, with a history of professional misconduct toward students, has been handed a one-day suspension of her teaching credentials...
Vancouver named top travel destination in Canada
Vancouver has topped Tripadvisor's list of Canadian destinations for 2023. While the city didn't make it onto the global rankings for the user-generated...
Ontario senator recognizes pro-CCP activists with Queen's Platinum Jubilee medals
An Ontario Conservative senator visiting the Lower Mainland for Lunar New Year festivities held a ceremony Monday in a Richmond dance school to recognize...
Burnaby man spends $10K on fake Craigslist Rolex
Burnaby Jan 25, 2023 / 6:19 pm
If you've spent thousands of dollars for a luxury watch on Craigslist, Burnaby RCMP are warning you might have been scammed. In November, a Burnaby...
Police cite mental health stigma as drivers urge man on B.C. bridge to 'take action'
Police say drivers on the Alex Fraser Bridge outside Vancouver honked and yelled at a man in a mental health crisis standing outside the safety rail, with some...
Watch: Massive machine tunnels into future Vancouver subway station
It's a real breakthrough. Literally. Elsie (named after a notable female engineer born in Vancouver) poked through the wall at the future site of the...
North Vancouver teen cancer survivor gets zero-g flight wish
North Vancouver Jan 25, 2023 / 9:36 am
A weight has been lifted of Zack Harrison's shoulders. His two-year battle with cancer has been capped off with a life-changing experience and a positive...
Quick LinksVancouver Weather
Vancouver Classifieds
Vancouver Real Estate
Vancouver Rentals


text:
Q: rails 3, undefined method `eq' for nil:NilClass i'm create scaffold pucgrupo
rails g scaffold pucgrupo numero:integer clase_id:integer nombre:string

after edit my migration
class CreatePucgrupos < ActiveRecord::Migration
  def self.up
    create_table :pucgrupos , :id => false do |t|
      t.integer :numero
      t.integer :clase_id
      t.string :nombre

      t.timestamps
    end
  end

  def self.down
    drop_table :pucgrupos
  end
end

and eject the migration
rake db:migrate

after when I try to create a group I get this error:
NoMethodError in PucgruposController#show

undefined method `eq' for nil:NilClass
Rails.root: /home/andres/desarrollos/rubyonrails/proyecto

Application Trace | Framework Trace | Full Trace
app/controllers/pucgrupos_controller.rb:16:in `show'
Request

Parameters:

{"id"=>"0"}

i think that is for column does not exist "id" any ideas ?
1 edit
i'm edit migration primary_key numero:
class CreatePucgrupos < ActiveRecord::Migration
  def self.up
    create_table :pucgrupos, :id => false , :primary_key => :numero do |t|
      t.integer :numero
      t.integer :clase_id
      t.string :nombre
      t.timestamps
    end
  end

  def self.down
    drop_table :pucgrupos
  end
end

the data insert into table, but get the same error.
2 edit
edit migration:
create_table :pucgrupos, :primary_key => :numero do |t|
  t.integer :numero
  t.integer :clase_id
  t.string :nombre
  t.timestamps
end

the error display page is:
NoMethodError in PucgruposController#show

undefined method `eq' for nil:NilClass
Rails.root: /home/andres/desarrollos/rubyonrails/proyecto

Application Trace | Framework Trace | Full Trace
app/controllers/pucgrupos_controller.rb:16:in `show'
Request

Parameters:

{"id"=>"1"}

3 edit
i'm edit pucgrupos_controller.rb methos show is
  def show
    @pucgrupo = Pucgrupo.find_by_numero(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @pucgrupo }
    end
  end

the error display page
ActionController::RoutingError in Pucgrupos#index

Showing /home/andres/desarrollos/rubyonrails/proyecto/app/views/pucgrupos/index.html.erb where line #18 raised:

No route matches {:controller=>"pucgrupos", :action=>"show", :id=>#<Pucgrupo numero: 1, clase_id: 2, nombre: "aaa", created_at: "2011-08-18 17:13:07", updated_at: "2011-08-18 17:13:07">}
Extracted source (around line #18):

15:     <%= pucgrupo.numero %>
16:     <%= pucgrupo.clase_id %>
17:     <%= pucgrupo.nombre %>
18:     <%= link_to 'Show', pucgrupo %>
19:     <%= link_to 'Edit', edit_pucgrupo_path(pucgrupo) %>
20:     <%= link_to 'Destroy', pucgrupo, :confirm => 'Are you sure?', :method => :delete %>
21:

i'm enter rails console and typing
Pucgrupo.find_by_numero(1)
=> #<Pucgrupo numero: 1, clase_id: 2, nombre: "aaa", created_at: "2011-08-18 17:13:07", updated_at: "2011-08-18 17:13:07">

A: It seems you do not want use integer "id" as key, you have to change the
Pucgrupo.find(params[:id])

in action PucgruposController#show to
Pucgrupo.find_by_numero(params[:id])

A: The last error is given by the fact you've replaced the default primary key without notifying rails of it.
The error is generated by the line 18 in your view when the helper try to generate an URL for your show action. Try to add this line
primary_key :numero

to your model class. I this way you can use the find call and the issue should solve.
BTW as someone pointed out changing the default primary key name is often a bad idea which leads to this kind if issues.
Edit
To answer to your comment, yes, it's always better to follow the framework conventions, RoR is based on convention over configuration paradigm, so you should really follow that conventions unless you have a serious reason to change them (for example a legacy database with existing data). That said even when you change some convention you have to know all the consequences of doing that and you'll get that knowledge only with experience.
In your case the primary key is used in the find method, in URL generations, in foreign_key lookups and so on. Furthermore some third party gems could rely on the id field and may stop to work.
If you really want to change the primary key you must inform the model class of that (with the statement above) and the other models which has a fk relation with the involved class.

A: Well.  You aren't creating an id column.  If you want one, remove the following line
:id => false

See more here, under options for create_table

:id
Whether to automatically add a primary key column. Defaults to true. Join tables for has_and_belongs_to_many should set it to false.

A: if you post your controller I can be sure but rails defaults to finding records by the ID column.
The primary key has nothing to do with rails finding records.
So in your controller when you have
Pucgrupo.find(params[:id])

it is searching the table's id column for that id... you are removing that id column.  The easy solution is to find_by
Pucgrupo.find_by_numero(params[:id])

This works but I strongly suggest you think about why you are removing the id column, remember all records and associations in rails depend on that column for defaults.  By removing it you take what can be a beautiful association and make it ugly with find by's and foreign key references.
The id column is a good thing and if the only reason you are removing it is you want to localize table names with your language... keep it... it will make your life easier


Garage door openers use some type of remote control system to allow you to order them when to open and close. There are different types of automatic openers available on the market today and when it comes time for you to get a new one, you may get confused as to which is the best type for your garage door. Don't worry. We're here to help.
There are different types of garage door openers, but the majority of these devices usually employ a drive system of one of the following three types. The screw-drive, the chain-drive, and the belt-drive. It is important for you to understand the mechanisms of each of these types of openers and choose the one that is most suitable for your needs. Belt-drive units, for example, operate much quieter than chain-drive openers, for example, but they are also more expensive usually, and won't be able to support heavier doors as well. They can be a perfect choice for homeowners with a garage attached to a bedroom.
Aside from automating the process of opening and closing your garage door, a modern opener can offer a few other main improvements to your home. Security is the first one, as many models come with all sorts of digital lock and password protected systems that can only be operated by those with the right code. That means would-be thieves won't be able to gain access to your home via your garage. The second main benefit is safety. Openers have special safety features that will prevent the garage door from closing on an obstacle in its path, thus avoiding a lot of potential accidents.
Light is very necessary in the garage, especially if you return home late at night. Some modern garage door opener models have a variety of security light options to offer you, as well as a backup battery system. The latter one can be incredibly important during unexpected power outages. It will allow your opener to continue to function for several hours or longer after the power goes out, which will keep you from getting locked in or out of your garage.
There's no reason for you to waste time and effort trying to decide which garage door opener is the one that will best suit your door. Simply contact our experts at Garage Door Repair Evanston and we'll help you find the perfect unit. Call us today.


The Shire of Jerramungup contains some of Western Australia's most dramatic and diverse coastal areas. The intrinsic long sandy beaches, transparent aqua waters, dramatic cliffs, rocky headlands, continental shelf and marine canyons are highly valued by locals and visitors. It's important that we continue to carefully manage and protect this fragile area into the future.
The Council adopted Coastal Management Plan 2017-2027 aims to; facilitate community enjoyment; while promoting sustainable use and maintaining high levels of biodiversity.
The Shire was successful in obtaining funding, from the Western Australian Planning Commission, to review their coastal management plan which was initially developed in 2005. The Shire matched the grant money dollar for dollar and worked on this project with the; Department of Planning, Lands and Heritage; a local steering committee; Aurora Environmental and MP Rodgers and Associates.
The plan included an initial assessment of the coastal areas and practical recommendations for continued future management. Importantly; it is informed by a First Pass Hazard Assessment which identifies coastal areas that have higher environmental risk factors and measures possible impact over the coming 100 years.
The coast is frequented by an increasing number of user groups; particularly tourists during peak seasonal periods. This presents opportunities for varied ecotourism ventures and our subsequent economic development but it also places stress on the valuable coastal ecosystems and existing infrastructure.
6. Management regardless of tenure.
The Coastal Management Plan was adopted by council on the 21st of March 2018.


text:
Childeren games
LG-Imports children's game Frog junior 4 cm 4-piece
Brand: LG-Imports
children's game Frog junior 4 cm 4-piece
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
LG-Imports Frog child's play
Try to make your frog jump on the leaf! Whoever gets his frog on the leaf first is the winner!
Dimensions frogs: 3 x 4 cm (L x W)
Blade diameter: 9 cm
Age: from 4 years
Number of players: 2 - 3
3 Frogs
LG-Imports
Abstract game
Power source used
No power supply type
Alternative kinderspellen
Identity Games Play nasty hideaway
Jumbo Pisa children's play
Studio 100 sound game Bumba junior
Haba memory game The dinosaurs on the track (NL)
Jumbo child's play color towers 19 cm
Tactic 3-in-1 games (memo, lotto, domino) Paw Patrol
x Children's Game Frog Junior 4 Cm 4-piece in shopping cart
https://www.internet-toys.com/en/m/277632-lg-imports-childrens-game-frog-junior-4-cm-4-piece/ 7149 LG-Imports children\'s game Frog junior 4 cm 4-piece https://www.internet-toys.com/producten/original/lg-imports_kikkerspel_4-delig_277632_1550226168.jpg 0.60 EUR op voorraad


We are driving across the country on a six-week road trip. I told you about the first few days in South Dakota in my last post. Our next two stops were at aunts' houses. The first was my aunt in Missouri, then Henry's aunts in Kentucky. These days were mostly spent visiting family—not great blog material as wonderful as it is to experience—but we did see a few sights.
Keep reading for all the details on planning your own trip.
We arrived at my Aunt Betsy and Uncle Ray's house in Buffalo after 9 pm. I think we are already tired of being in the car and we are only three driving days into this six-week trip. A few days with little travel helped us get over that.
We spent two nights and one day chatting and catching up on all things family. My cousin Kurt, his wife Julie, and four-year-old Kenzie stopped by after their own eight-hour drive, which we really appreciated.
Aunt Betsy and Uncle Ray live on 60 acres with a few out buidlings, including a barn named the "Taj Mahal" due to its size and majesty. They also have a cat named Grace, who was super sweet. Getting to play with other people's pets always makes us happy. As does seeing family.
On our way from one aunt to another we made a stop at the Jefferson National Expansion Memorial to see the Gateway Arch. The St. Louis Arch is now a National Park, maybe it has been for a long time, but I don't remember the visitor center from my visit in 1996. That's because "the visitor center and museum underwent a $176 million expansion and renovation that was completed in the July 2018…. (including) a 46,000-square-foot underground addition featuring interactive story galleries, video walls, a fountain and a cafe.," according to Wikipedia.
We didn't have enough time to fully explore this park, but ten minutes in the visitor center was enough to let me know that I would like to come back. Also, it is air conditioned, which is great since it was so hot and humid that we could barely handle being outside.
The one thing about the visitor center that bugged me was that it took forever to find out what the memorial is about. There was a lot of good information about native people, Manifest Destiny, conquering what is now the western United States, and the contest and building of the arch.
We rode the funny little pods to the top of the arch and looked out the windows over the Mississippi River on one side and the Courthouse and St. Louis on the other side. It was pretty cool. The kids and adults both really loved it.
Looking out the window at the top of the Gateway Arch.
View of the Mississippi River from the top of the arch.
We've been to Paris, France, now we've been to Paris, Kentucky. We stayed with Henry's Aunt Anne and Uncle Jerry, but we also got to visit with his Aunt Edith, Aunt Ruth, and cousin Martha. The three aunts are sisters of Big Henry. Again, the highlight of the visit was chatting and catching up, but we had fun learning a little about Kentucky Horse Country.
Kentucky Horse Park is a working horse farm and an educational theme park opened in 1978 in Lexington, Kentucky. There are tons of horse-type events held there and a really great museum.
We started at the museum and learned all about the history of horses and people. I didn't even know I was that interested in horses, but a good museum will spark interest. We spent a couple hours in the museum and could have stayed longer if we hadn't gotten hungry. Stomach beats brain every time.
After lunch, we walked around a bit and took a horse-drawn wagon tour, powered by two lovely draft horses. The boys loved the Kids Barn with lots of interactive activities.
Since horse culture is such a bid deal in Kentucky and all Henry's aunts are really into horse stuff, I am glad we had this experience. When you are in Paris, France you see the Eiffel Tower, when in Paris, Kentucky, see the Kentucky Horse Park.
Henry's Aunt Edith and Aunt Anne drive the horse drawn wagon.
I am not entirely sure what the little festival we went to in Millersburg was about. I heard it was to honor veterans. I saw a sign for Chautauqua Days. Whatever the reason, vendors gathered in the town square. We saw old tractors and politicians. The main reason we attended, however, is that Aunt Edith and Aunt Anne were giving horse-drawn wagon tours around town. There was meant to be a parade, too, but it rained a bunch and the parade was cancelled.
We were such obvious foreigners that the festival planner picked us out right away and took our photo for their Facebook page.
Henry was born in Cincinnati and since it was just an hour and half from Paris, he wanted to get back and see his old stomping grounds. We drove by the house he lived in for part of high school and the house his dad grew up in. Plus, we ate his favorite ice cream.
We also went to the Freedom Center and Smale Riverfront Park.
The Freedom Center in Cincinnati was powerful, intense, and well done. We went on the recommendation of Henry's friend. We learned about the history of slavery in the United States, Caribbean, and other places in the world. We also went through an exhibit about modern day slavery. It's all heartbreaking and hard to see, but you have to be a witness to these things. And obviously, walking through a museum is the least we can do. As we homeschool/unschool/worldschool our kids, these are the kind of learning experiences we want them to have. I also hope this leads to action for us. Slavery isn't only in the past.
When Henry lived here, this area was falling down buildings and concrete. Now it's a lovely 45-acre park on Cincinnati's downtown riverfront situated between Great American Ballpark and Paul Brown Stadium—flanking the region's beloved Roebling Suspension Bridge.
Side note: Someone on Instagram said the bridge looks just like the Brooklyn Bridge, only shorter, because the architect is the same. The Roebling Bridge was a first attempt at the bridge before building the longer one in NY. I didn't do any research on this – I am just passing this along.
The Smale Riverfront Park is full of little play areas and paths. We had a blast hopping on stones, playing a giant piano, making a pig fly, and running through the misters. I loved that there was still such an abundance of flowers in September. It was so hot and humid, but the misters, a water play area, and a little shade helped.
The boys were not ready to leave this area and I would have liked to walk farther down the path. We could have spent a couple hours here. And there is a Ferris wheel just up the steps, which would have been fun.
I'm not going to give you directions to my aunt's house or any of Henry's aunts' either, but I do think you should check out these other places.
If you have a National Park America the Beautiful Pass, you can get into the visitor center and a discount on your tram ticket. You can buy tickets at the visitor center or online. Buying tickets ahead of time (online) is recommended in spring and summer as they sometimes sell out of tram tickets. Get all the fee info on the Gateway Arch National Park website.
The Kentucky Horse Park has everything you need for a day of fun and education: museum, restaurant, tours, interactive activities, horses, demonstrations, and events. Check their website for all the details.
Buy tickets for the Freedom Center when you get there. We had no problem parking on the street, but it was midweek on a school/work day. Several other parking options are available. Try the Central Riverfront Parking Garage at the Banks. The Fountain Square Parking Garage is also nearby, as well as limited street parking and surface lots.
You don't need to know a whole lot about Smale Riverfront Park, other than you head to river and start walking. The main part of it is between the two big sports arenas and behind the Ferris wheel. There are bathrooms under the bridge and lots of little play areas to discover. Parking is the same as for the Underground Railroad Freedom Center.