text:
Development Finance & Policy (17) Apply Development Finance & Policy filter
Global & Regional Public Goods (6) Apply Global & Regional Public Goods filter
South Asia Region and Selected Countries (16) Apply South Asia Region and Selected Countries filter
Review of Long-Term Impacts of Cash Transfer Programs
Cash transfer programs are interventions that directly provide cash to target specific populations with the aim of reducing poverty and supporting a variety of development outcomes. Low- and middle-income countries have increasingly adopted cash transfer programs as central elements of their poverty reduction and social protection strategies. Bastagli et al. (2016) report that around 130 low- and middle-income countries have at least one UCT program, and 63 countries have at least one CCT program (up from 27 countries in 2008). Through a comprehensive review of literature, this report primarily considers the evidence of the long-term impacts of cash transfer programs in low- and lower middle-income countries. A review of 54 reviews that aggregate and summarize findings from multiple studies of cash transfer programs reveals largely positive evidence on long-term outcomes related to general health, reproductive health, nutrition, labor markets, poverty, and gender and intra-household dynamics, though findings vary by context and in many cases overall conclusions on the long-term impacts of cash transfers are mixed. In addition, evidence on long-term impacts for many outcome measures is limited, and few studies explicitly aim to measure long-term impacts distinctly from immediate or short-term impacts of cash transfers.
Pathways out of Poverty: Outcomes Associated with Poverty Alleviation in Developing Countries
The literature on poverty's causes and cures in developing countries posits a variety of contributing factors. Most researchers acknowledge that a sustained exit from poverty is complex and no single causal pathway from poverty to non-poverty exists. In this review, we present a summary framework for categorizing the various theorized pathways out of poverty, and evaluate the empirical evidence for which interventions and resulting outcomes are most frequently and most strongly associated with poverty alleviation. We conducted a literature review on pathways out of poverty for low-income households in developing countries and identified and categorized general strategies and outcomes demonstrated to be empirically associated with poverty alleviation. We organized the general strategies into four asset groups that could be targeted to alleviate poverty: human, natural, built / financial, and social / political. Much of the literature presents positive results on poverty alleviation, but it is difficult to compare across studies because many of the studies were conducted in different countries and at different scales, and use a variety of outcome measures.
Morbidity and Economic Growth
This report reviews the current body of peer-reviewed scholarship exploring the impacts of morbidity on economic growth. This overview seeks to provide a concise introduction to the major theories and empirical evidence linking morbidity – and the myriad different measures of morbidity – to economic growth, which is defined primarily in terms of gross domestic product (GDP) and related metrics (wages, productivity, etc.). Through a systematic review of published manuscripts in the fields of health economics and economic development we further identify the most commonly-used pathways linking morbidity to economic growth. We also highlight the apparent gaps in the empirical literature (i.e., theorized pathways from morbidity to growth that remain relatively untested in the published empirical literature to date).
Full Report, Results Coding, Presentation Poster
EPAR Technical Report #59
Agriculture and Climate Change
Agriculture and Climate Change: Part I
With estimated global emissions of 5,969-6,615 metric tons (Mt) of carbon dioxide (CO2) per year, agriculture accounts for about 13.5% of total global anthropogenic emissions of greenhouse gases (GHG). Deforestation contributes about 11.8% of total GHG emissions, releasing about 5,800 Mt CO2 per year. Developing countries are largely responsible for emissions from agriculture and deforestation, with the developing countries of South Asia and East Asia accounting for 17% and 25% of global agricultural emissions respectively. Sub-Saharan Africa (SSA) accounts for about 13% of global emissions from agriculture and 15% of emissions from land use change and forestry. This report examines the biophysical and economic potential of mitigating agriculture and land use GHG emissions, and provides a summary on the current and projected impact of global carbon market mechanisms on emission reductions.
Agriculture and Climate Change: Part II
This report covers two topics related to agriculture and climate change in developing countries. The first section discusses the role of agricultural offsets in mitigating greenhouse gas emissions. Recent negotiations around a post-Kyoto Protocol agreement have included debate about whether agricultural carbon sequestration projects should be eligible under the Clean Development Mechanism (CDM). We examine the reasons for supporting or opposing this type of CDM reform and how these reasons relate to impacts on development goals and smallholder farmers, scientific uncertainty about carbon sequestration, and philosophical disagreement about the use of emission offsets. The second section covers proposed agricultural adaptation activities in Africa and other developing countries. While the majority of developing countries have outlined immediate adaptation needs in National Adaptation Programs of Action (NAPAs), few have made progress in implementing adaptation activities. We find that issues related to financial resources, scientific and technical information, and capacity building continue to challenge developing countries in preparing for the impacts of climate change.
Research Brief: Part I, Research Brief: Part II


text:
Financial Advice That Makes the Complex Simple
Patrice Kennard
Special Projects and Operations Manager
16 Chestnut Street Suite 111
Contact Patrice
Meet Patrice
Patrice is excited to be part of Carson Wealth as Special Projects and Operations Manager and is dedicated to business integrity and client responsiveness. Her focus is life-cycle process enhancements that bolster Carson Wealth's client deliverables and client experiences. She oversees initiatives related to human resources, regulatory compliance, technology, and client relationships.
Patrice believes technology is no substitute for meaningful human interactions – being respectful of people's time, desired results, and communication preferences are key.
She treats clients the way she wants to be treated: with care and a vested interest in getting it right. Maintaining sight of the big picture is as important as being mindful of the details; it's the foundation for providing proactive and personalized solutions.
Before joining the Carson Wealth team, Patrice embarked on a 20-year law firm career with Wilmer, Cutler & Pickering, now WilmerHale. She worked in human resources as the firm's first dedicated staff recruiter before becoming director of new business/conflicts. In that role she led the firm's department that was responsible for legal and ethical conflicts of interest compliance and business intake. She also had previously spent time teaching middle and high school English in New Orleans.
Patrice graduated from McNeese State University in Lake Charles, Louisiana, with a Bachelor of Science in business management. She later earned her English minor from the University of New Orleans and her Master of Social Work from The Catholic University of America in Washington, D.C.
Favorite Movie:
Places Patrice would most like to visit:
I have been fortunate to have spent time in the UK, France, Belgium, Italy, Greece, and Finland, but I've long wanted to visit the Amalfi Coast.
Where to find Patrice when she's not at work:
Reading, playing Scrabble, or enjoying the beautiful views, daily gorgeous sunsets, and nice people in Asheville, North Carolina.

redpajama_set_name: RedPajamaCommonCrawl


text:
package com.ptc.tifworkbench.ui.tree;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Stack;

import javax.swing.JCheckBox;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultTreeSelectionModel;
import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;

public class AddCheckBoxToTree
{
    public class CheckTreeSelectionModel extends DefaultTreeSelectionModel
    {
        static final  long serialVersionUID =0;
        private TreeModel model;

        public CheckTreeSelectionModel(TreeModel model){
            this.model = model;

            setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
        }

        // tests whether there is any unselected node in the subtree of given path (DONT_CARE)
        public boolean isPartiallySelected(TreePath path){
            if(isPathSelected(path, true)){
                return false;
            }

            TreePath[] selectionPaths = getSelectionPaths();

            if(selectionPaths==null){
                return false;
            }

            for(int j = 0; j<selectionPaths.length; j++){
                if(isDescendant(selectionPaths[j], path)){
                    return true;
                }
            }

            return false;
        }

        // tells whether given path is selected.
        // if dig is true, then a path is assumed to be selected, if
        // one of its ancestor is selected.
        public boolean isPathSelected(TreePath path, boolean dig){
            if(!dig){
                return super.isPathSelected(path);
            }

            while(path!=null && !super.isPathSelected(path)){
                path = path.getParentPath();
            }

            return path!=null;
        }

        // is path1 descendant of path2
        private boolean isDescendant(TreePath path1, TreePath path2){
            Object obj1[] = path1.getPath();
            Object obj2[] = path2.getPath();
            for(int i = 0; i<obj2.length; i++){
                if(obj1[i]!=obj2[i])
                    return false;
            }
            return true;
        }

        @Override
        public void setSelectionPaths(TreePath[] pPaths){
            throw new UnsupportedOperationException("not implemented yet!!!");
        }

        @Override
        public void addSelectionPaths(TreePath[] paths){

            // unselect all descendants of paths[]
            for(int i = 0; i<paths.length; i++)
            {
                TreePath path = paths[i];

                TreePath[] selectionPaths = getSelectionPaths();

                if(selectionPaths==null){
                    break;
                }

                ArrayList<TreePath> toBeRemoved = new ArrayList<TreePath>();

                for(int j = 0; j<selectionPaths.length; j++)
                {
                    if(isDescendant(selectionPaths[j], path))
                    {
                        toBeRemoved.add(selectionPaths[j]);
                    }
                }
                super.removeSelectionPaths((TreePath[])toBeRemoved.toArray(new TreePath[0]));
            }

            // if all siblings are selected then unselect them and select parent recursively
            // otherwize just select that path.
            for(int i = 0; i<paths.length; i++){
                TreePath path = paths[i];

                TreePath temp = null;

                while(areSiblingsSelected(path)){
                    temp = path;

                    if(path.getParentPath()==null)
                    {
                        break;
                    }

                    path = path.getParentPath();
                }

                if(temp!=null){
                    if(temp.getParentPath()!=null)
                    {
                        addSelectionPath(temp.getParentPath());
                    }
                    else
                    {
                        if(!isSelectionEmpty())
                        {
                            removeSelectionPaths(getSelectionPaths());
                        }

                        super.addSelectionPaths(new TreePath[]{temp});
                    }
                }
                else
                {
                    super.addSelectionPaths(new TreePath[]{ path});
                }
            }
        }

        // tells whether all siblings of given path are selected.
        private boolean areSiblingsSelected(TreePath path){
            TreePath parent = path.getParentPath();

            if(parent==null){
                return true;
            }

            Object node = path.getLastPathComponent();

            Object parentNode = parent.getLastPathComponent();

            int childCount = model.getChildCount(parentNode);

            Boolean isParameters = false;
            Boolean isDescription = false;

            for(int i = 0; i<childCount; i++){

                Object childNode = model.getChild(parentNode, i);

                if(childNode==node){
                    continue;
                }

    // If last Path component equals to "parameters" or "description" - select second child too.
                if(childCount == 2)
                {
                    if(childNode.toString().equals("parameters") && model.isLeaf(childNode))
                    {
                        isParameters = true;
                    }
                    if(childNode.toString().equals("description") && model.isLeaf(childNode))
                    {
                        isDescription = true;
                    }
                }

                if(!isPathSelected(parent.pathByAddingChild(childNode)) && !isParameters && !isDescription){
                    return false;
                }
            }

            return true;
        }

        @Override
        public void removeSelectionPaths(TreePath[] paths){
            for(int i = 0; i<paths.length; i++){
                TreePath path = paths[i];
                if(path.getPathCount()==1)
                    super.removeSelectionPaths(new TreePath[]{ path});
                else
                    toggleRemoveSelection(path);
            }
        }

        /** if any ancestor node of given path is selected then unselect it
         *  and selection all its descendants except given path and descendants.
         * otherwise just unselect the given path */
        private void toggleRemoveSelection(TreePath path){

            Stack<TreePath> stack = new Stack<TreePath>();
            TreePath parent = path.getParentPath();

            Boolean isParameters = false;
            Boolean isDescription = false;

            while(parent!=null && !isPathSelected(parent)){
                stack.push(parent);
                parent = parent.getParentPath();
            }
            if(parent!=null)
                stack.push(parent);
            else{
                super.removeSelectionPaths(new TreePath[]{path});
                return;
            }

            while(!stack.isEmpty()){
                TreePath temp = (TreePath)stack.pop();

                TreePath peekPath = stack.isEmpty() ? path : (TreePath)stack.peek();

                Object node = temp.getLastPathComponent();
                Object peekNode = peekPath.getLastPathComponent();
                int childCount = model.getChildCount(node);

                for(int i = 0; i<childCount; i++){
                    Object childNode = model.getChild(node, i);

                    if(childNode.toString().equals("parameters") && model.isLeaf(childNode))
                    {
                        isParameters = true;
                    }
                    if(childNode.toString().equals("description")  && model.isLeaf(childNode))
                    {
                        isDescription = true;
                    }

                    if(childNode!=peekNode)
                    {
                        if(!isParameters && !isDescription)
                        super.addSelectionPaths(new TreePath[]{temp.pathByAddingChild(childNode)});
                    }
                }
            }

            super.removeSelectionPaths(new TreePath[]{parent});
        }

        public TreeModel getModel() {
            return model;
        }
    }

    public class CheckTreeCellRenderer extends JPanel implements TreeCellRenderer
    {
        static final  long serialVersionUID =0;

        CheckTreeSelectionModel selectionModel;
        private TreeCellRenderer delegate;
        TristateCheckBox checkBox = new TristateCheckBox();

        public CheckTreeCellRenderer(TreeCellRenderer delegate, CheckTreeSelectionModel selectionModel){
            this.delegate = delegate;
            this.selectionModel = selectionModel;

            setLayout(new BorderLayout());
            setOpaque(false);
            checkBox.setOpaque(false);

        }

        @Override
        public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){
            Component renderer = delegate.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);

            TreePath path = tree.getPathForRow(row);

            if(path!=null)
            {
                if(selectionModel.isPathSelected(path, true))
                {
                    checkBox.setState(checkBox.SELECTED);
                    //System.out.println(">>>>>>     selected   " );
                }
                else
                {
                    checkBox.setState(checkBox.NOT_SELECTED);
                    //System.out.println("not selected   ");
                }

                if(selectionModel.isPartiallySelected(path))
                {
                    checkBox.setState(checkBox.DONT_CARE);
                }
            }

            removeAll();

                add(checkBox, BorderLayout.WEST);
                add(renderer, BorderLayout.CENTER);

            return this;
        }

        public TreeCellRenderer getDelegate() {
            return delegate;
        }

        public void setDelegate(TreeCellRenderer delegate) {
            this.delegate = delegate;
        }
    }

    public class CheckTreeManager extends MouseAdapter implements TreeSelectionListener
    {
        CheckTreeSelectionModel selectionModel;
        private JTree tree = new JTree();

        int hotspot = new JCheckBox().getPreferredSize().width;

        public CheckTreeManager(JTree tree, CheckTreeSelectionModel checkTreeSelectionModel){
            this.tree = tree;

            if(checkTreeSelectionModel != null)
            {
                //selectionModel = new CheckTreeSelectionModel(tree.getModel());
                selectionModel =  checkTreeSelectionModel;

            }
            else
            {
                selectionModel = new CheckTreeSelectionModel(tree.getModel());
                //System.out.println(selectionModel.getSelectionPath());
            }

            tree.setCellRenderer(new CheckTreeCellRenderer(tree.getCellRenderer(), selectionModel));

            tree.addMouseListener(this);
            selectionModel.addTreeSelectionListener(this);
        }

        @Override
        public void mouseClicked(MouseEvent me)
        {
            //System.out.println("start...");

            TreePath path = tree.getPathForLocation(me.getX(), me.getY());
            //System.out.println(Arrays.asList(path));

            if(path==null)
            {
                //System.out.println("path==null");
                return;
            }

            if(me.getX()/1.2>tree.getPathBounds(path).x+hotspot)
            {
                //System.out.println("me.getX()/1.2>tree.getPathBounds(path).x+hotspot");
                return;
            }

            boolean selected = selectionModel.isPathSelected(path, true);
            selectionModel.removeTreeSelectionListener(this);

            try{
                if(selected)
                {
                    //System.out.println("selected");
                    selectionModel.removeSelectionPath(path);
                }
                else
                {
                    //System.out.println("not selected");
                    selectionModel.addSelectionPath(path);
                }
            }
            finally
            {
                //System.out.println("finally");
                selectionModel.addTreeSelectionListener(this);
                tree.treeDidChange();
            }
        }

        public CheckTreeSelectionModel getSelectionModel(){
            return selectionModel;
        }

        public void setSelectionModel(CheckTreeSelectionModel selectionModel) {
            this.selectionModel = selectionModel;
        }

        @Override
        public void valueChanged(TreeSelectionEvent e){
            tree.treeDidChange();
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: Making visible lifebars via checking for colision in python 3.5 tkinter I'm trying to use check for collision tricks for tkinter. (I don't use pygame) but I need a visible life bar that can change colours. Here's my script:
#Tkinter loader
from tkinter import *
HEIGHT = 500
WIDTH = 800
window = Tk()
window.title ('VOID')
c = Canvas (window, width=WIDTH, height=HEIGHT, bg= 'black')
c.pack()
ship_id = c.create_polygon (5, 5, 5,  25, 25, 25, 25, 5,  fill='white')
SHIP_R = 25
MID_X = WIDTH / 2
MID_Y = HEIGHT / 2
c.move (ship_id, MID_X, MID_Y)
# Movment control
SHIP_SPD = 10
def move_ship(event):
    if event.keysym == 'w':
    c.move (ship_id, 0, -SHIP_SPD)
    elif event.keysym == 's':
    c.move (ship_id, 0, SHIP_SPD)
    elif event.keysym == 'a':
    c.move (ship_id, -SHIP_SPD, 0)
    elif event.keysym == 'd':
        c.move (ship_id, SHIP_SPD, 0)
c.bind_all ('<Key>', move_ship)
# Spawning system (needs copying)
from random import randint
bub_id = list()
bub_r = list()
bub_speed = list()
MIN_BUB_R = 20
MAX_BUB_R = 30
MAX_BUB_SPD = 20
GAP = 100
def create_bubble():
x = WIDTH + GAP
Y = randint (0, HEIGHT)
r = randint (MIN_BUB_R, MAX_BUB_R)
id1 = c.create_polygon (5, 5, 5,  25, 25, 25, 25, 5,  fill='lime')
bub_id.append(id1)
bub_r.append(r)
bub_speed.append(randint(1, MAX_BUB_SPD))

def move_bubbles():
for i in range(len(bub_id)):
    c.move(bub_id[i], -bub_speed[i], 0)

from time import sleep, time
BUB_CHANCE = 10
#MAIN GAME LOOP
while True:
if randint (1, BUB_CHANCE) == 1:
    create_bubble()
move_bubbles()
window.update()
sleep(0.01)

With the fact that both lifebars will go up and down, but at different rates. (so that health takes smaller steps than level.) also with a system were if health or level go to 0 or 100 precent, than something happens like steps. (so you go down a level if the level bar goes to low, and go up a  level with the background changing with the lifebar levels.) and the colour will pulse depending on the level you are at.
Thanks.

redpajama_set_name: RedPajamaStackExchange


For three decades, Waterhouse Public Relations has operated with two essential principles in mind: integrity and client loyalty.
Today, we haven't lost sight of the priorities that Albert Waterhouse envisioned when he founded our agency.
If you need a full-service agency, Waterhouse Public Relations is here for you.


The Annual JumpStart Parent Education Conference is designed to inspire, connect, and motivate parents as they kick-off the school year. The conference features a keynote address, over 60 educational break out sessions, complimentary lunch, and the opportunity to network with other parents.
Break out sessions include a variety of topics to address the needs of K-12 students, from learning to read to preparing seniors for college.


text:
Home IMPACT Blog GEORGIA DEFENSE APPROACHING HISTORICAL GREATNESS
GEORGIA DEFENSE APPROACHING HISTORICAL GREATNESS
The old adage is "defense wins championships" and that's as evident as ever in Athens, Georgia, where the top-ranked Bulldogs feature the nation's best defense.
by Trent Rush October 18, 2021
by Trent Rush October 18, 2021 2.1k views
By Trent Rush, Lott IMPACT Trophy
Entering Saturday's game against #11 Kentucky, Georgia's defense and special teams have scored as many touchdowns as they have allowed. To date, Georgia is allowing 5.5 points per game and have given up just two touchdowns in six games. Additionally, their 33 total points against this season are the fewest through six games in school history since 1935.
The dominance of the Georgia defense is beyond comparison to any other current unit in college football and is gaining historical acclaim. ESPN analyst David Pollack was the inaugural Lott IMPACT Trophy recipient in 2004 when he was a defensive lineman at Georgia. When Pollack was asked about the 2021 Bulldog's defense on ESPN Radio recently, he said, "This defense is starting to chase greatness now," he continued, "Now it's starting to chase 2011 Alabama." Pollack later declared, "This is an all-time great defense that we are watching."
The first impression of this Georgia defense came in a 10-3 win in their season opener against Clemson, ranked third at the time. They've also shut out Vanderbilt and an Arkansas team that was previously ranked 8th. Georgia also held Auburn, then ranked 18th, to just ten points on the road.
Nakobe Dean is the captain and leader of the Georgia defense. Now a junior, Dean was named to the Lott IMPACT Trophy preseason watch list and is the Bulldogs's second leading tackler. Two weeks ago, Mel Kiper named Dean one of his prospects on the rise and is Kiper's third ranked inside linebacker. In spring camp, Kirby Smart identified Dean as a standout player citing not just his playing ability, but Smart also noted, "(Dean) has been a guy that really is a tremendous leader and has taken on a more vocal role." That has continued through the season. Additionally, Dean's community work continues to get recognition, including from the Allstate AFCA Good Works Team, made up of 11 FBS players selected based on their commitment to community service.
When evaluating defensive players, statistics often do not tell the full story. Georgia's Jordan Davis is a perfect example. At 6-6 and 340 pounds, Pollack described him as the kind of player, "that makes (an opponent) want to quit football." Entering Saturday's game against Kentucky, Davis has just 15 tackles and 1.5 sacks on the season, yet is a consensus projected first round pick.
Despite being projected first round picks for the upcoming NFL Draft, Dean and Davis may not even be the Bulldog's best players on that defensive unit. Senior Adam Adamson is the team leader in sacks and is the Bulldog's highest projected NFL player, according to Pro Football Focus, who called Adamson, "the most potent pass rusher in college football."
While much of the leadership is credited on-field to Nakobe Dean, much recognition also goes to Dan Lenning. This is Lenning's 4th year on Kirby Smart's staff and is in his 3rd year as Georgia's defensive coordinator. In 2019, Georgia ranked third in the nation in total defense, they were 12th last season and are first this season. It's the kind of success that has even led to rumors of Lenning being considered for the USC head coaching job.
After this week, Georgia will have no more regular season games remaining against a ranked team. Should the Bulldogs improve to 7-0, with their current number one ranking, they will be distant favorites for a National Championship and could be in position to be considered the best defense in college football history, at least in modern history.
At 5.5 points allowed per game, it's significantly fewer than any recent team has allowed. Sure, the 1939 Tennessee defense allowed 1.3 points per game, but 2011 Alabama was at 8.2, 2001 Miami at 9.8 and even 1971 Nebraska gave up 8.0 points per game. The closest comparison is 1979 Alabama, who surrendered just 5.6 points per game.
Regardless of how the rest of the season goes, giving up less than a touchdown per game at this point of the year puts 2021 Georgia into the elite class of the game's very best defenses.
lott trophy
Auburn – Lott IMPACT® Trophy Presentation
FOR THE SECOND TIME LSU'S DAMONE CLARK NAMED LOTT IMPACT® TROPHY PLAYER OF THE WEEK
LOTT BLOG – WHAT ABOUT THE TROJANS AND...
LOTT BLOG – Here We Go Again…
LOTT BLOG – LOTT MEN IN THE NEWS...
LOTT BLOG – THREE LOTT FINALISTS DRAFTED IN...
LOTT BLOG – THE LOTT TROPHY REMAINS BRIGHT...
LOTT BLOG – WHO'S ON YOUR TEAM TODAY?
LOTT BLOG – NFL Draft News
LOTT BLOG – Lott Men Making Their Marks...
LOTT BLOG – THE TRANSFER PORTAL – BIGGER...
Ronnie Lott congratulates Zakoby McClain, Week 9 Player...
Lott IMPACT Blog – Three Lott Trophy...
Coney carries on legacy at linebacker for...
LOTT BLOG – WHO'S ON YOUR TEAM...


text:
[BLOG] Some Tuesday links
Architectuul looks at the history of brutalism in late 20th century Turkey.
Bad Astronomer Phil Plait looks at the evidence for the Milky Way Galaxy having seen a great period of starburst two billion years ago, and notes how crowded the Milky Way Galaxy is in the direction of Sagittarius.
Centauri Dreams considers if astrometry might start to become useful as a method for detecting planets, and considers what the New Horizons data, to Pluto and to Ultima Thule, will be known for.
Belle Waring at Crooked Timber considers if talk of forgiveness is, among other things, sound.
D-Brief considers the possibility that the differing natures of the faces of the Moon can be explained by an ancient dwarf planet impact, and shares images of dust-ringed galaxy NGC 4485.
Dead Things notes the discovery of fossil fungi one billion years old in Nunavut.
Far Outliers looks at how, over 1990, Russia became increasingly independent from the Soviet Union, and looks at the final day in office of Gorbachev.
Gizmodo notes the discovery of literally frozen oceans of water beneath the north polar region of Mars, and looks at an unusual supernova, J005311 ten thousand light-years away in Cassiopeia, product of a collision between two white dwarfs.
JSTOR Daily notes how the colour of navy blue is a direct consequence of slavery and militarism, and observes the historical influence, or lack thereof, of Chinese peasant agriculture on organic farming in the US.
Language Log considers a Chinese-language text from San Francisco combining elements of Mandarin and Cantonese.
Lawyers, Guns and Money notes the terrible environmental consequences of the Vietnam War in Southeast Asia, and Shakezula at Lawyers, Guns and Money takes a look at how, and perhaps why, Sam Harris identifies milkshake-throwing at far-right people as a form of "mock assassination".
The Map Room Blog shares a personal take on mapmaking on the Moon during the Apollo era.
Marginal Revolution observes a paper suggesting members of the Chinese communist party are more liberal than the general Chinese population. The blog also notes how Soviet quotas led to a senseless and useless mass slaughter of whales.
Russell Darnley writes about the complex and tense relationship between Indonesia and Australia, each with their own preoccupations.
Martin Filler writes at the NYR Daily about I.M. Pei as an architect specializing in an "establishment modernism". The site also takes a look at Orientalism, as a phenomenon, as it exists in the post-9/11 era.
Personal Reflections' Jim Belshaw reflects on the meaning of Australia's New England.
The Planetary Society Blog notes how Hayabusa 2 is having problems recovering a marker from asteroid Ryugu.
Peter Rukavina reports on an outstanding Jane Siberry concert on the Island.
The Russian Demographics Blog shares a map of homophobia in Europe.
The Signal looks at how the Library of Congress makes use of wikidata.
The Speed River Journal's Van Waffle reports, with photos, from his latest walks this spring.
Starts With A Bang's Ethan Siegel considers what the Earth looked like when hominids emerged, and explains how amateur astronomers can capture remarkable images.
Frank Jacobs at Strange Maps shares a controversial map depicting the shift away from CNN towards Fox News across the United States.
Daniel Little at Understanding Society examines the Boeing 737 MAX disaster as an organizational failure.
Window on Eurasia looks why Turkey is backing away from supporting the Circassians, and suggests that the use of the Russian Orthodox Church by the Russian state as a tool of its rule might hurt the church badly.
Arnold Zwicky takes apart, linguistically and otherwise, a comic playing on the trope of Lassie warning about something happening to Timmy. He also
reports on a far-removed branch of the Zwicky family hailing from Belarus, as the Tsvikis.
Posted in Assorted, Canada, Demographics, Economics, History, Politics, Popular Culture, Science, Social Sciences, Toronto, Urban Note
Tagged with agriculture, architecture, asteroids, astronomy, australia, belarus, blogs, blue, british empire, canada, cantonese, cetaceans, china, chinese language, circassians, clash of ideologies, communism, diaspora, earth, evolution, exoplanets, former soviet union, fossils, galaxies, glbt issues, hayabusa 2, history, human beings, human biengs, humour, i.m. pei, in memoriam, indonesia, j005311, jane siberry, japan, kuiper belt, language, libraries, links, maps, mars, mass media, milky way galaxy, modernism, moon, new england, new horizons, ngc 4485, north caucasus, nunavut, ontario, orientalism, philosophy, photos, pluto, regionalism, religion, russia, ryugu, sam harris, san francisco, Science, separatism, social sciences, sociology, solar system, southeast asia, space science, space travel, supernova, technology, turkey, ultima thule, united states, vietnam, vietnam war, violence, war, white dwarfs
« [VIDEO] Falling sakura of Russell Street, University of Toronto
[URBAN NOTE] Seven Toronto links: #DoorsOpenTO, Eglinton Crosstown, Lake Ontario, public art »


text:
Q: How to use yii\db\Command with postgis st_intersects query? I'm using yii\db\Command and SqlDataProvider to populate a GridView widget grid. The SqlDataProvider is working, however the GridView widget needs the count of the result set to work out the grid pagination. The count comes from the yii\db\Command which isn't working. Can anyone see a solution please?
public function actionIndex()
    {
        $searchModel = new postcodeSearch();
        //$dataProvider =     $searchModel->search(Yii::$app->request->queryParams);

$pc = "CB7 5UE";

$count = Yii::$app->db->createCommand('SELECT COUNT(*) FROM
                    geodata.codepoint_bng as p, geodata.river_waterbody_catchments_cycle1 as w
                    FULL OUTER JOIN geodata.wap_costs as c ON w.ea_wb_id = c.wbid
                    FULL OUTER JOIN geodata.actypes as t ON c.actype = t.actiontype
                INNER JOIN geodata.river_ecological_status_2013 as wb_ec ON w.ea_wb_id = wb_ec.wb_id
            WHERE
                ST_Intersects(p.geom, w.geom) AND p.postcode = $pc');
//$count = 20;

$dataProvider = new SqlDataProvider([
    'sql' => "SELECT
                    w.name,
                    w.ea_wb_id,
                    wb_ec.ecostatus,
                    wb_ec.ecocert,
                    t.actgroup,
                    t.actdesc,
                    c.anncost,
                    c.initcost,
                    c.comment
                FROM
                    geodata.codepoint_bng as p, geodata.river_waterbody_catchments_cycle1 as w
                    FULL OUTER JOIN geodata.wap_costs as c ON w.ea_wb_id = c.wbid
                    FULL OUTER JOIN geodata.actypes as t ON c.actype = t.actiontype
                INNER JOIN geodata.river_ecological_status_2013 as wb_ec ON w.ea_wb_id = wb_ec.wb_id
            WHERE
                ST_Intersects(p.geom, w.geom) AND p.postcode = '$pc'",
    'totalCount' => $count,

    'sort' => [
        'attributes' => [
                        'ea_wb_id',
                        ],
                ],
    'pagination' => [
        'pageSize' => 20,
    ],

]);

A: There is a mistake with quote mark ('->") and your count query must be executed before.
$count = Yii::$app->db->createCommand("SELECT COUNT(*) FROM
                        geodata.codepoint_bng as p, geodata.river_waterbody_catchments_cycle1 as w
                        FULL OUTER JOIN geodata.wap_costs as c ON w.ea_wb_id = c.wbid
                        FULL OUTER JOIN geodata.actypes as t ON c.actype = t.actiontype
                    INNER JOIN geodata.river_ecological_status_2013 as wb_ec ON w.ea_wb_id = wb_ec.wb_id
                WHERE
                    ST_Intersects(p.geom, w.geom) AND p.postcode = '$pc'")->queryScalar();


text:
Please activate Javascript in your browser, to use this website with all bells and whistles
LAKAIEN
Past Live Concerts
Biography …
LIVE: XXX. – The 30 Years Retrospective
"XXX. – The 30 Years Retrospective" on occasion of the 30 year's band jubilee
+++ After ten studio albums and a range of live performances, spanning from acoustic concerts with a prepared piano, and shows as a band with classical instruments and synthesizer park, to an orchestra tour with its highlight at the Alte Oper Frankfurt in front of 2,500 people, Deine Lakaien are celebrating their anniversary with a singular retrospective. +++
»Charlatanry is not our style – if something doesn't work, we don't enjoy it. The breaks between the albums and the many releases with other projects have intensified our honest valuation even more: As soon as we cease to surprise ourselves, that's the moment we quit", the artists declared during the release of their current studio album "Crystal Palace" in 2014. This attitude is still valid in their 30th band year and has inspired Ernst Horn and Alexander Veljanov to a very special live concept. In 2017, Deine Lakaien will, together with their fans, celebrate three decades of successful stubbornness and fearless love of experimentation with a live event, which the band has been setting up for several months.
"XXX. – The 30 Years Retrospective" is initially limited to six dates at carefully selected concert venues – spaces with history, atmosphere, and brilliant sound. For this series of events, a cast of former and current live members will join Horn and Veljanov on stage. Musicians, who are able to bring to life everything that made a mark on Deine Lakaien's multifaceted career. In combination with sophisticated sound engineering, elaborately choreographed lighting design, and the scenic composition of the show, the anniversary retrospective consciously offers a sensual experience.
Focusing on Alexander Veljanov, who in the band's songs is often portrayed as a kind of wanderer or seeker, the live musicians will not only present their joint musical past, but will also reveal tremendous possibilities for both old and new compositions. As a thank you for their fans, Deine Lakaien will celebrate unforgettable memories of the touching moments at their first shows, and at the same time offer vistas of the band's future, which played an almost sold-out acoustic tour last December. "XXX. – The 30 Years Retrospective" is going to be a full-length, emotional and diverse journey, which in this form will remain unique.
Ticket sales have just started.
Gewandhaus
Metropol Theater
Requests for autographs
Vevo Video
Forum (Archive)
Your E-Mail-Address
Your Last Name (optional)
Our music management Odyssey Musik, Berlin, uses the provider "MailChimp", USA for our mailings. By submitting this form you agree that your data will be stored there in order to be able to send you the Deine-Lakaien-Newsletter at irregular intervals. The data will only be used for this purpose and will not be passed on to third parties. You can unsubscribe from the newsletter at any time by clicking on a link in the newsmail. Or write to us at the address given in the data protection declaration to have your data removed. You can find the complete privacy policy here: Privacy Policy
EU-Cookie Notice
Cookies are used to make this website work and improve your experience. Further information and options for the cookies used by this website can be found in our data protection declaration. You can give your consent by clicking on the "I Consent" button or by deleting this cookie note.
Cookies are used to make this website work and improve your experience. Further information and options for the cookies used by this website can be found in our data protection declaration. Please check the box below to give your consent. (Imprint)
Your cookie settings have been saved.


text:
Hartmanice est un toponyme qui peut désigner :

Hartmanice, une commune du district de České Budějovice, dans la région de Bohême-du-Sud ;
 Hartmanice, une commune du district de Klatovy, dans la région de Plzeň ;
 Hartmanice, une commune du district de Svitavy, dans la région de Pardubice.

Homonymie de localités en  Tchéquie

redpajama_set_name: RedPajamaWikipedia