text:
/**
 * @author Alexander T. Simbirtsev
 */

package javax.swing.plaf.basic;

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import java.lang.reflect.Method;
import java.security.AccessController;
import java.security.PrivilegedAction;

import javax.swing.AbstractButton;
import javax.swing.UIManager;
import javax.swing.border.AbstractBorder;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
import javax.swing.plaf.BorderUIResource;
import javax.swing.plaf.UIResource;
import javax.swing.text.JTextComponent;

import org.apache.harmony.x.swing.Utilities;

public class BasicBorders {

    /*
     * All color constants used in this class are selected to be consistent with
     * Basic L&F color pattern.
     */

    public static class ButtonBorder extends AbstractBorder implements UIResource {
        private static Insets borderInsets = new Insets(2, 3, 3, 3);

        protected Color shadow;
        protected Color darkShadow;
        protected Color highlight;
        protected Color lightHighlight;

        public ButtonBorder(final Color shadow, final Color darkShadow, final Color highlight, final Color lightHighlight) {
            this.shadow = shadow;
            this.darkShadow = darkShadow;
            this.highlight = highlight;
            this.lightHighlight = lightHighlight;
        }

        public Insets getBorderInsets(final Component c, final Insets insets) {
            Insets borderInsets = getBorderInsets(c);
            insets.bottom = borderInsets.bottom;
            insets.left = borderInsets.left;
            insets.right = borderInsets.right;
            insets.top = borderInsets.top;

            return insets;
        }

        public Insets getBorderInsets(final Component c) {
            return (Insets)borderInsets.clone();
        }

        public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int w, final int h) {
            if (c.isEnabled()) {
                Utilities.draw3DRect(g, x, y, w, h, darkShadow, highlight, false);
                if (!((AbstractButton)c).getModel().isArmed()) {
                    Utilities.draw3DRect(g, x + 1, y + 1, w - 2, h - 2, shadow, highlight, true);
                }
            } else {
                Color oldColor = g.getColor();
                g.setColor(shadow);
                g.drawRect(x, y, w - 1, h - 1);
                g.setColor(oldColor);
            }
        }
    }

    public static class FieldBorder extends AbstractBorder implements UIResource {
        protected Color shadow;
        protected Color darkShadow;
        protected Color highlight;
        protected Color lightHighlight;

        public FieldBorder(final Color shadow, final Color darkShadow,
                           final Color highlight, final Color lightHighlight) {
            this.shadow = shadow;
            this.darkShadow = darkShadow;
            this.highlight = highlight;
            this.lightHighlight = lightHighlight;
        }

        public Insets getBorderInsets(final Component c, final Insets insets) {
            Insets borderInsets = getBorderInsets(c);
            insets.bottom = borderInsets.bottom;
            insets.left = borderInsets.left;
            insets.right = borderInsets.right;
            insets.top = borderInsets.top;
            return insets;
        }

        public Insets getBorderInsets(final Component c) {
            Insets result;
            if (c instanceof JTextComponent) {
                Insets ins = ((JTextComponent)c).getMargin();
                result = new Insets(2,2,2,2);
                result.left += ins.left;
                result.right += ins.right;
                result.top += ins.top;
                result.bottom += ins.bottom;
            } else {
                result = new Insets(2, 2, 2, 2);
            }
            return result;
        }

        public void paintBorder(final Component c, final Graphics g,
                                final int x, final int y, final int w,
                                final int h) {
            Color oldColor = g.getColor();
            g.setColor(shadow);
            g.drawLine(x, y, x + w - 1, y);
            g.drawLine(x, y, x, y + h - 1);
            g.setColor(darkShadow);
            g.drawLine(x + 1, y + 1, x + w - 3, y + 1);
            g.drawLine(x + 1, y + 1, x + 1, y + h - 2);
            g.setColor(highlight);
            g.drawLine(x + w - 2, y + h - 2,  x + w - 2, y + 1);
            g.drawLine(x + w - 2, y + h - 2,  x + 1, y + h - 2);
            g.setColor(lightHighlight);
            g.drawLine(x + w - 1, y + h - 1,  x + w - 1, y);
            g.drawLine(x + w - 1, y + h - 1,  x, y + h - 1);
            g.setColor(oldColor);
        }
    }

    public static class MarginBorder extends AbstractBorder implements UIResource {
        public Insets getBorderInsets(final Component c, final Insets insets) {
            Insets borderInsets = getBorderInsets(c);
            insets.bottom = borderInsets.bottom;
            insets.left = borderInsets.left;
            insets.right = borderInsets.right;
            insets.top = borderInsets.top;

            return insets;
        }

        public Insets getBorderInsets(final Component c) {
            Insets result = (Insets)AccessController.doPrivileged(new PrivilegedAction() {
                public Object run() {
                    try {
                        Method m = c.getClass().getMethod("getMargin", new Class[0]);
                        return m.invoke(c, new Object[0]);
                    } catch (Exception e) {
                        return null;
                    }
                }
            });

            return result != null ? result : super.getBorderInsets(c);
        }
    }

    public static class MenuBarBorder extends AbstractBorder implements UIResource {
        private Color shadow;
        private Color highlight;

        public MenuBarBorder(final Color shadow, final Color highlight) {
            this.shadow = shadow;
            this.highlight = highlight;
        }

        public Insets getBorderInsets(final Component c, final Insets insets) {
            Insets borderInsets = getBorderInsets(c);
            insets.bottom = borderInsets.bottom;
            insets.left = borderInsets.left;
            insets.right = borderInsets.right;
            insets.top = borderInsets.top;

            return insets;
        }

        public Insets getBorderInsets(final Component c) {
            return new Insets(0, 0, 2, 0);
        }

        public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int w, final int h) {
            Color oldColor = g.getColor();
            g.setColor(highlight);
            g.drawLine(x, y + h - 2, x + w, y + h - 2);
            g.setColor(shadow);
            g.drawLine(x, y + h - 1, x + w, y + h - 1);
            g.setColor(oldColor);
        }
    }

    public static class RadioButtonBorder extends ButtonBorder {
        public RadioButtonBorder(final Color shadow, final Color darkShadow, final Color highlight, final Color lightHighlight) {
            super(shadow, darkShadow, highlight, lightHighlight);
        }

        public Insets getBorderInsets(final Component c, final Insets insets) {
            Insets borderInsets = getBorderInsets(c);
            insets.bottom = borderInsets.bottom;
            insets.left = borderInsets.left;
            insets.right = borderInsets.right;
            insets.top = borderInsets.top;

            return insets;
        }

        public Insets getBorderInsets(final Component c) {
            return new Insets(2, 2, 2, 2);
        }

        public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int w, final int h) {
        }
    }

    public static class RolloverButtonBorder extends ButtonBorder {
        public RolloverButtonBorder(final Color shadow, final Color darkShadow, final Color highlight, final Color lightHighlight) {
            super(shadow, darkShadow, highlight, lightHighlight);
        }

        public void paintBorder(final Component c, final Graphics g,
                                final int x, final int y,
                                final int w, final int h) {
            if (((AbstractButton)c).getModel().isRollover()) {
                super.paintBorder(c, g, x, y, w, h);
            }
        }
    }

    public static class SplitPaneBorder implements Border, UIResource {
        protected Color highlight;
        protected Color shadow;

        public SplitPaneBorder(final Color highlight, final Color shadow) {
            this.shadow = shadow;
            this.highlight = highlight;
        }

        public Insets getBorderInsets(final Component c) {
            return new Insets(1, 1, 1, 1);
        }

        public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int w, final int h) {
            Utilities.draw3DRect(g, x, y, w, h, shadow, highlight, true);
        }

        public boolean isBorderOpaque() {
            return true;
        }
    }

    public static class ToggleButtonBorder extends ButtonBorder {
        public ToggleButtonBorder(final Color shadow, final Color darkShadow, final Color highlight, final Color lightHighlight) {
            super(shadow, darkShadow, highlight, lightHighlight);
        }

        public Insets getBorderInsets(final Component c, final Insets insets) {
            Insets borderInsets = getBorderInsets(c);
            insets.bottom = borderInsets.bottom;
            insets.left = borderInsets.left;
            insets.right = borderInsets.right;
            insets.top = borderInsets.top;

            return insets;
        }

        public Insets getBorderInsets(final Component c) {
            return new Insets(2, 2, 2, 2);
        }

        public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int w, final int h) {
            super.paintBorder(c, g, x, y, w, h);
        }
    }

    static class ToolBarButtonMarginBorder extends MarginBorder {
        public Insets getBorderInsets(final Component c) {
            Insets result = super.getBorderInsets(c);
            return Utilities.isUIResource(result)
                    ? new Insets(3, 3, 3, 3)
                    : result;
        }
    }

    public static Border getToggleButtonBorder() {
        final String prefix = "ToggleButton.";
        ToggleButtonBorder toggleButtonBorder = new ToggleButtonBorder(getShadow(prefix),
                                                                       getDarkShadow(prefix),
                                                                       getHighlight(prefix),
                                                                       getLightHighlight(prefix));
        MarginBorder marginBorder = new MarginBorder();

        return new BorderUIResource.CompoundBorderUIResource(toggleButtonBorder, marginBorder);
    }

    public static Border getTextFieldBorder() {
        final String prefix = "TextField.";
        return new FieldBorder(getShadow(prefix), getDarkShadow(prefix),
                               getHighlight(prefix), getLightHighlight(prefix));
    }

    public static Border getSplitPaneDividerBorder() {
        return new SplitPaneDividerBorder();
    }

    public static Border getSplitPaneBorder() {
        final String prefix = "SplitPane.";
        return new SplitPaneBorder(getHighlight(prefix), getShadow(prefix));
    }

    public static Border getRadioButtonBorder() {
        final String prefix = "RadioButton.";
        RadioButtonBorder radioButtonBorder = new RadioButtonBorder(getShadow(prefix),
                                                                    getDarkShadow(prefix),
                                                                    getHighlight(prefix),
                                                                    getLightHighlight(prefix));
        MarginBorder marginBorder = new MarginBorder();

        return new BorderUIResource.CompoundBorderUIResource(radioButtonBorder, marginBorder);
    }

    public static Border getProgressBarBorder() {
        return new BorderUIResource.LineBorderUIResource(Color.GREEN, 2);
    }

    public static Border getMenuBarBorder() {
        final String prefix = "MenuBar.";
        return new MenuBarBorder(getShadow(prefix), getHighlight(prefix));
    }

    public static Border getInternalFrameBorder() {
        final String prefix = "InternalFrame.";
        final Color borderColor = UIManager.getColor(prefix + "borderColor");
        final Color shadow = UIManager.getColor(prefix + "borderShadow");
        final Color darkShadow = UIManager.getColor(prefix + "borderDarkShadow");
        final Color highlight = UIManager.getColor(prefix + "borderLight");
        final Color lightHighlight = UIManager.getColor(prefix + "borderHighlight");
        BevelBorder bevelBorder = new BevelBorder(0, highlight, lightHighlight, darkShadow, shadow);
        BorderUIResource.LineBorderUIResource lineBorder = new BorderUIResource.LineBorderUIResource(borderColor, 1);

        return new BorderUIResource.CompoundBorderUIResource(bevelBorder, lineBorder);
    }

    public static Border getButtonBorder() {
        final String prefix = "Button.";
        ButtonBorder buttonBorder = new ButtonBorder(getShadow(prefix),
                                                     getDarkShadow(prefix),
                                                     getHighlight(prefix),
                                                     getLightHighlight(prefix));
        MarginBorder marginBorder = new MarginBorder();

        return new BorderUIResource.CompoundBorderUIResource(buttonBorder, marginBorder);
    }

    /*
     * Border used for divider of JSplitPane
     */
    private static class SplitPaneDividerBorder implements Border, UIResource {
        private static final Color shadow = Color.GRAY;
        private static final Color lightHighlight = Color.WHITE;

        public SplitPaneDividerBorder() {
        }

        public Insets getBorderInsets(final Component c) {
            return new Insets(1, 1, 1, 1);
        }

        public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int w, final int h) {
            Utilities.draw3DRect(g, x, y, w, h, shadow, lightHighlight, true);
        }

        public boolean isBorderOpaque() {
            return true;
        }
    }

    private static Color getLightHighlight(final String prefix) {
        return UIManager.getColor(prefix + "light");
    }

    private static Color getHighlight(final String prefix) {
        return UIManager.getColor(prefix + "highlight");
    }

    private static Color getDarkShadow(final String prefix) {
        return UIManager.getColor(prefix + "darkShadow");
    }

    private static Color getShadow(final String prefix) {
        return UIManager.getColor(prefix + "shadow");
    }
}

redpajama_set_name: RedPajamaGithub


text:
Apple to Stop Selling iPhone 7 and iPhone 8 Models in Germany While Appealing Broader Sales Ban [Updated]
Thursday December 20, 2018 7:35 am PST by Joe Rossignol
In a statement issued to CNBC, Apple has indicated that it plans to appeal a German court's decision to issue a preliminary injunction—aka sales ban—on select iPhone models containing chips from Intel and Apple supplier Qorvo.
In the meantime, Apple said iPhone 7 and iPhone 8 models will not be available for purchase at its retail stores in Germany:
Qualcomm's campaign is a desperate attempt to distract from the real issues between our companies. Their tactics, in the courts and in their everyday business, are harming innovation and harming consumers. Qualcomm insists on charging exorbitant fees based on work they didn't do and they are being investigated by governments all around the world for their behavior. We are of course disappointed by this verdict and we plan to appeal. All iPhone models remain available to customers through carriers and resellers in 4,300 locations across Germany. During the appeal process, iPhone 7 and iPhone 8 models will not be available at Apple's 15 retail stores in Germany. iPhone XS, iPhone XS Max and iPhone XR will remain available in all our stores.
Earlier today, reports said a German court ruled that select iPhone models containing a combination of chips from Intel and Apple supplier Qorvo violated one of Qualcomm's patents around so-called "envelope tracking," a feature that helps preserve battery life when sending and receiving wireless signals.
In its statement, Apple said the latest iPhone XS, iPhone XS Max, and iPhone XR models remain available for purchase at all of its stores in Germany. The older iPhone 7 and iPhone 8 models will also remain available for purchase at authorized resellers and carriers in Germany, according to the company.
Reuters reported that the preliminary injunction will not go into immediate effect if Apple appeals, but legal expert Florian Mueller of FOSS Patents informed MacRumors that the injunction "is enforceable even during an appeal," which perhaps explains why Apple pulled iPhone 7 and iPhone 8 models from its shelves in the country.
While I confirm new models not affected, Reuters is WRONG about appeal. The injunction is enforceable even during sn appeal. They misunderstood the judge.
— Florian Mueller (@FOSSpatents) December 20, 2018
The appeals court could stay enforcement of the injunction, however. And I am sure Apple will ask for it but no guarantee that the appeals court agrees.
Mueller also said the ruling applies up to the iPhone X, which Apple no longer sells in Germany, which would explain why the iPhone XS, iPhone XS Max, and iPhone XR remain available for purchase in the country.
Qorvo's intellectual property lawyer Mike Baker via CNBC:
We believe our envelope tracking chip does not infringe the patent in suit, and the court would have come to a different conclusion if it had considered all the evidence. We're disappointed that the inventor and designer of our chip, who attended the hearing, wasn't given the opportunity to testify or present other evidence that disproves Qualcomm's claim of infringement. The International Trade Commission has already determined that our envelope tracker chip does not infringe the U.S. counterpart to the patent at issue in this case. We currently do not expect that this decision will have any impact on our business with Apple.
Intel's general counsel Steven Rodgers:
Qualcomm's goal is not to vindicate its intellectual property rights, but rather to drive competition out of the market for premium modem chips, and to defend a business model that ultimately harms consumers.
Apple and Qualcomm are engaged in a major legal battle spanning multiple countries, including China, where a court issued a similar preliminary injunction on select iPhones last week over two separate Qualcomm patents.
Apple continues to sell the affected iPhone models in China and believes it is in compliance with the ruling. Earlier this week, it made some minor changes in iOS 12.1.2 to address the Qualcomm patents in China, including introducing a new animation for force closing apps.
Last year, Apple accused Qualcomm of anticompetitive business practices over chip-related licensing fees, while Qualcomm has accused Apple of sharing its trade secrets with Intel among other illegal actions. In the U.S., the FTC is also taking Qualcomm to court next month over the alleged monopolistic behavior.
Update: In a press release, Qualcomm said the judgment is immediately enforceable once Qualcomm posts the necessary bonds and that Apple's request to the court for a stay of the injunction was denied. Qualcomm says the court also found Apple liable for monetary damages in an amount to be determined.
pic.twitter.com/Vqdj9BaKUG
— Joe Rossignol (@rsgnl) December 20, 2018
Qualcomm's general counsel Don Rosenberg issued the following statement to MacRumors:
Two respected courts in two different jurisdictions just in the past two weeks have now confirmed the value of Qualcomm's patents and declared Apple an infringer, ordering a ban on iPhones in the important markets of Germany and China.
Qualcomm expects to post the required bonds within a few days.
Related Roundups: iPhone 7, iPhone 8
Tags: lawsuit, Germany
[ 98 comments ]
ryanwarsaw
It's just all good news about Apple these days. Hopefully they have inked another deal with some director I have never heard of for some original series such as "Lassie: the missing years." I need some cheering up.
ramallite
Nice. So Apple is taking the cheaper iPhones off the market in Germany and selling only its more expensive devices with the excuse "The courts made us do it". :)
nebo1ss
Apple need to pay the Qualcomm tax and stop trying to dodge and weave.
Xenomorph
Qualcomm may be dicks, but they're still the best. Apple's greed for more money has done nothing but hurt consumers and cause more headache for themselves.
The Intel modems aren't bad, they're just not as good as Qualcomm's.
Intel has made lots of progress, but they still don't perform as well as Qualcomm's offerings. Not only that, but Apple throttled the Qualcomm modems to try and make the difference between them and Intel's modems not so obvious.
Now with the newest product they don't even offer a Qualcomm option.
This all hurts consumers. They're stuck with lower-performing modems, or with a device that simply cannot maintain a connection with the same coverage they had before. At the same time, Apple has also increased the price of their top iPhone models by over 50%.
If Apple had just stuck with Qualcomm, the iPhone XS, iPhone XR, iPhone X, iPhone 8, and iPhone 7 would all have MUCH better modems. They'd all be Qualcomm, they wouldn't be as throttled, and they'd all have the best possible signal and connection.
But nope. Apple obviously needed more money. They spent less on components and raised prices - all the while crying about how much Qualcomm charges.
citysnaps
No, not an excuse. Apple is complying with the law.
People are free to purchase or not purchase phones that are not subject to the court's order.
justperry
Or,....just maybe they are fed up with Qualcomm unfair pricing/shady practices.
Osamede
It's laughable that Apple is making money hand over fist ...but claims that "Qualcomm's business model would harm consumers".
Like what we are supposed to believe that Apple would lower prices, as opposed to taking the money right into profits.
Sorry but Apple man up and don't hide behind "consumers" in this battle of the bigwigs.
brendu
Remember when Apple introduced and started selling a new phone, they would phase out the older model within weeks? Hawkeye_a remembers.
Now they continue selling three year old models alongside new ones.
To be fair, it used to be that older iPhones weren't going to last 4+ years with great performance. Now that is absolutely the case so they can sell a 3 year old phone without it being a ****** experience for customers.
macduke
They really need to figure this crap out because this is getting worse by the day. From what I understand Qualcomm was charging unreasonable amounts for FRAND patents and Apple got pissed and now doesn't want to pay them anything. Bunch of companies acting like children—which seems to be a popular trend among many adults in our society lately. Qualcomm needs to get paid, Qualcomm needs to charge a fair amount for a standards patent, Apple need to pay it, end of story. It's not worth it to go thermonuclear when you could end up wrecking your worldwide sales—especially at a time where they seem to be in a weaker position than usual.
hawkeye_a

redpajama_set_name: RedPajamaCommonCrawl


It must be baby season! So many of my couples are having babies!
Tomorrow I am visiting a bride whos wedding I shot in Nov and she is due in Jan!
And they are SOOOOO in love!!!! Capturing this exciting milestone in life is just such a blessing.
and the more stories I hear, I realize to never take it for granted and that every child is a blessing from god!
joy of these proud parents! My favourite was when Ashleigh suggested "lets compare our bellies!" Too adorable!
but that story I shall save for another time!


In 2007, a guy and a girl met on the train on their way home to celebrate the New Year. Despite the fact that the young people had a lot in common, their ways all the same dispersed. When, in 12 years, fate will bring the former lovers back, both must overestimate the importance of each other in their own lives.
On our site you can watch Hou lai de wo men (2018) online totally FREE in high HD 720p, Full HD 1080p, Ultra HD 4K quality on your phone (smartphone), tablet (Android, iOS) and on your computer.


From light and airy camis, to on-trend crop tops and boyfriend-fit T-shirts, our grey tops for women are everything! Keep it sophisticated in a minimalist grey Bardot top with white wide leg trousers or a black skirt, or rock a slogan print grey T-shirt with light denims for a casual vibe. With dynamic prints, stripes, and blouses to choose from, these hardworking heroes are just what we need to up our everyday style game!


text:
The Hammock
A novel based on the true story of French painter James Tissot
Free Kindle apps from amazon.com
Tissot in Quotes
James Tissot is now in Italy!
To cite this article: Paquette, Lucy. "James Tissot is now in Italy!" The Hammock. https://thehammocknovel.wordpress.com/2015/12/15/james-tissot-is-now-in-italy/. <Date viewed.>
Finally, there is a major exhibition of James Tissot's work in Italy.
As of January, 2015, there were ninety-one oil paintings by James Tissot in public art collections worldwide: twenty-six in the U.K., two in the Republic of Ireland, twenty-three in France, one in Belgium, one in Switzerland, twenty-six in the continental U.S. and one in Puerto Rico, six in Canada, one in India, two in New Zealand, and two in Australia. Many of these pictures are not usually on display, and opportunities to see them in other locations are rare.
The most recent retrospective of James Tissot's work in North America, and the only one since the first in 1968 (in Rhode Island and Toronto), was James Tissot: Victorian Life/Modern Love, an exhibition that began at the Yale Center for British Art, New Haven, Connecticut, in 1999, and then traveled to the Musée du Québec, Canada, and the Albright-Knox Gallery, Buffalo, New York. The exhibition featured approximately forty paintings, forty prints and twenty watercolors selected from public and private collections in North America, Europe and Australia, including works from the Tate Gallery in London, the Musée d'Orsay in Paris and the National Gallery of Art in Washington, D.C.
In 1984, the Barbican Art Gallery's major exhibition, James Tissot, 1836-1902, curated by Krystyna Matyjaszkiewicz, included 185 works. It travelled from London to the Whitworth Art Gallery in Manchester and the Musée du Petit Palais in Paris.
Four years later, in 1988, the Isetan Museum of Art in Tokyo, held James Tissot.
James Tissot et ses maîtres, a retrospective exhibition at the Musée des beaux-arts, Nantes, France, from November 4, 2005 to February 5, 2006, brought together twenty paintings and eight engravings and explored Tissot's work in relation to his teachers and contemporaries, including Jean-Auguste-Dominique Ingres (1780 – 1867), Jean-Hippolyte Flandrin (1809 – 1864), Louis Lamothe (1822 – 1869), Alfred Stevens (1823 – 1906), and Edgar Degas (1834 – 1917), as well as Tissot's influence on a younger generation of painters and print makers including Paul Helleu (1859 –1927).
An exhibition at the Palace of Marra in Barletta, Italy in 2006, De Nittis and Tissot: Painters of modern life, included loans of some of Tissot's oil paintings by museums including the Tate and the Musée d'Orsay but focused more on his friend Giuseppe De Nittis (1846 –1884), following the donation of 172 of De Nittis' paintings, pastels and engravings by Leontine Gruvelle in Barletta.
In 2013, The Hepworth Wakefield, West Yorkshire, U.K., presented James Tissot: Painting the Victorian Woman. The exhibition featured loans from the Tate and several regional art galleries.
Santa Maria della Pace, Chiostro del Bramante, Rome, Italy. (Photo: Wikipedia.org)
Now, at the Bramante Cloister inside Santa Maria della Pace Church in Rome, you can see eighty of Tissot's works all at once. Paintings, etchings and illustrations loaned by the Tate in London and the Petit Palais and the Musée d'Orsay in Paris, as well as by other museums and private collections around the world, went on view September 26, 2015 and will remain until February 21, 2016.
Self portrait (1865), by James Tissot, Fine Arts Museums of San Francisco, CA, USA. Courtesy The Bridgeman Art Library
It is the first time ever that the public has had the opportunity to view a major Tissot retrospective in Italy.
The exhibition, curated by Cyrille Sciama, head of the 19th century collection at the Musée des beaux-arts, Nantes, France, is organized into eight themed sections that form a chronology of Tissot's life and career.
I've created the following virtual tour for those of us who cannot make it to Rome:
The beginnings in Paris
Jacques Joseph Tissot left home in Nantes to study art in Paris at age 19, in 1856 (i.e before he turned 20 that October).
Within three years of his arrival in Paris, Tissot was ready to exhibit his work at the Salon, the huge government-administered annual art market showcasing the glory of France. Each spring, the Salon provided a six-week spectacle for the hundreds of thousands of visitors from throughout Europe and Great Britain who flocked past the floor-to-ceiling rows of paintings.
L'embuscade (Tentative d'enlèvement)/The Ambush/The Attempted Abduction (1865). Oil on canvas, 22.5 by 36.6 in./H. 57.2 by 93 cm. Musée des beaux-arts, Nantes.
The Salon was an art competition as well as the social event of the year. Artists struggling to build a reputation – and make money – chose conventional mythological, historical or religious subjects. Competing with established artists, the 23-year-old Jacques Joseph Tissot — likely borrowing the name from his American friend James Whistler — submitted his paintings to the jury under the name James Tissot.
At the Salon in 1863, Tissot exhibited three pictures including The Return of the Prodigal Son (1862).
In 1865, Tissot exhibited two paintings, Tentative d'enlèvement (The Attempted Abduction, on loan by the Musée des beaux-arts, Nantes) and Spring (loaned by a private collector), at the Salon. The Attempted Abduction, another of Tissot's medieval pictures, disappointed the critics. Spring, however, received some praise because of its similarities to British artist J.E. Millais' Apple Blossoms (Spring), exhibited at London's Royal Academy in 1859.
Tissot's Self portrait (1865) is on loan from the Fine Arts Museums of San Francisco, California.
Tissot was using his ever-increasing wealth to amass what would become a renowned collection of Oriental art. His new-found fascination initially influenced only a few of his paintings: The Japanese Bather (c. 1864, about seven by four feet, or 208 by 124 cm, on loan by the Musée des beaux-arts, Dijon, France).
Unlike his friend James Whistler, Tissot did not show his "Japanese" paintings at the Paris Salon, but he recorded them in the photograph album of the paintings he sold.
Portrait of Mlle. L.L. (Young Lady in a Red Jacket) (February 1864), by James Tissot. Oil on canvas, 48 13/16 by 39 3/8 in. (124 by 99.5 cm). Museé d'Orsay, Paris. (Photo: Wikimedia.org)
Gus Burnaby (1870), by James Tissot. National Portrait Gallery, London, UK. (Photo: Lucy Paquette)
Tissot exhibited Portrait of Mlle. L.L. [as well as Two Sisters] at the Salon in 1864 – reflecting the trend toward capturing "modernity," and he began to hit his stride as an artist.
The small, popular picture of Captain Frederick Gustavus Burnaby (1870) bursts with life; I saw it at the Metropolitan Museum of Art in New York when it was included in the blockbuster exhibition, Impressionism, Fashion & Modernity, in the spring of 2013. Burnaby was a larger-than-life character whom Tissot knew through a London friend.
A painter of London
Too Early (1873), by James Tissot. (Photo: Lucy Paquette)
Tissot moved to London in 1871, following the Franco-Prussian War and its bloody aftermath, the Paris Commune.
At the Royal Academy in 1873. he exhibited The Captain's Daughter (on loan by the Southampton City Art Gallery, U.K.) and Too Early (lent by the Guildhall Art Gallery, London).
A Portrait (1876) was exhibited by Tissot at the new Grosvenor Gallery, London, from May to June 1877 and is on loan from the Tate. It often is called Portrait of Miss Lloyd because Tissot made a print after it, and though it was a variation on the painting, the model for the print was identified at an auction in 1903 as Miss Lloyd.
The Ball on Shipboard (c. 1874), by James Tissot. Tate, London. (Photo: Lucy Paquette)
Other paintings on display in this section include An Interesting Story (c. 1872) on loan from the National Gallery of Victoria in Melbourne, Australia; The Ball on Shipboard (c. 1874), The Gallery of HMS Calcutta (c. 1876), and Portsmouth Dockyard (c. 1877), all on loan from the Tate; and The Letter (c. 1878), on loan from the National Gallery of Canada, Ottawa, Ontario, Canada.
The Gallery of the HMS Calcutta (Portsmouth), c. 1876, by James Tissot. Oil on canvas, 27 by 36 1/8 in. (68.5 by 92 cm). Tate, London. (Photo: Wikimedia.org)
The ideal face of Kathleen Newton
For six years, Tissot shared his home at 17 (now 44) Grove End Road, St. John's Wood, in north London with his mistress and muse, Kathleen Irene Ashburnham Kelly Newton (1854 – 1882). A divorcée with a young daughter and son, Mrs. Newton died of tuberculosis at age 28.
Mrs. Newton with a Parasol (1878), by James Tissot. Musée Baron Martin, France. (Photo: Wikiart.org)
Images of Kathleen Newton in the exhibition include Seaside (1880). Mrs. Newton with a Parasol (1878) and A Convalescent (c. 1880–1882) are on loan by the Musée Baron Martin, Gray, France. Quiet (c. 1881) and Le banc de jardin/The Garden Bench (1882) are on loan from the Andrew Lloyd Webber Collection.
The Warrior's Daughter
The Warrior's Daughter (A Convalescent), c. 1878, by James Tissot. Oil on panel; 14 ¼ by 8 11/16 in. (36.2 by 21.8 cm). Manchester Art Gallery, U.K. (Photo: Wikiart.org).
The Warrior's Daughter (A Convalescent) (c. 1878), for which Kathleen Newton modeled, is on loan from the Manchester Art Gallery, U.K.
The Prodigal Son in Modern Life
Upon his death, Tissot left a series of four oil paintings to the Louvre. These scenes from The Prodigal Son in Modern Life (1880) included Le depart (The Departure), En pays étranger (In Foreign Climes), Le Retour (The Return), and Le veau gras (The Fatted Calf).
The Inner Journey and the Departure
The Widower, by James Tissot. Art Gallery of New South Wales in Sydney, Australia. (Photo: Wikimedia.org)
The Widower (1876), set in Tissot's garden in St. John's Wood, London, is on loan from the Art Gallery of New South Wales in Sydney, Australia.
James Tissot, the Painter of Fashion
The Ladies of the Chariots (c. 1883-85), by James Tissot. Oil on canvas, 57 ½ by 39 5/8" (146 by 100.65 cm). Rhode Island School of Design Museum, Providence, U.S.A. (Photo: Lucy Paquette)
Immediately after James Tissot's mistress and muse Kathleen Newton died of tuberculosis in November, 1882, he abandoned his St. John's Wood home and moved back to Paris. During his eleven years in London, he had declined Edgar Degas' invitation to show his work with the artists who became known as the Impressionists.
Tissot exerted himself to re-establish his reputation in Paris with a series of fifteen large-scale pictures called La Femme à Paris (The Parisian Woman). Painted between 1883 and 1885, they portrayed the fashionable parisienne in various incarnations using brighter, modern colors than he had in his previous work.
When Tissot's La Femme à Paris pictures were exhibited at the Galerie Sedelmeyer, Paris, in 1885, and at Arthur Tooth and Sons, London, in 1886, the series was poorly received. Six of the paintings are now in public collections.
Visiting The Artist's Ladies at the Chrysler.
Les Femmes d'artiste (Painters and their Wives) (1885, also called The Artists' Wives or The Artist's Ladies) depicts a gathering of artists and their wives on Varnishing Day, before the official opening of the Salon in Paris at the Palais de l'Industrie. The picture is on loan by the Chrysler Museum of Art in Norfolk, Virginia.
The Embarkation at Calais (oil on canvas, 146.5 by 102 by 1.7 cm) is on loan from The Royal Museum of Fine Arts Antwerp. To see it, click the image on the museum's website.
Alone at the end of the exhibition is Tissot's The Most Beautiful Woman in Paris (La plus jolie femme de Paris, 1883-85). The painting (oil on canvas, 146.32 by 101.6 cm, on loan from the Musée d'art et d'histoire in Geneva, Switzerland) is protected by a glass box, "as if it were the Mona Lisa," according to one critic, in a small lounge hung with mirrors and crystal chandeliers.
Portrait du Révérend Père Bichet (1885), by James Tissot. Oil on canvas, 87 by 117 cm (34.25 by 46.06 in.). Musée des Beaux-Arts, Nantes, France.
So many other paintings are on view, including Young Woman in a Boat (1870), and La partie carrée (The Foursome, 1870), both lent by private collectors; The Empress Eugenie and the Prince Imperial in the Park at Camden Palace (1874), on loan by the Musée National Chateaux Compiegne, France; Le petit Nemrod (A Little Nimrod, c. 1882), on loan by the Musée des beaux-arts et d'archéologie, Besançon, France; and Portrait du Révérend Père Bichet (1885), on loan by the Musée des beaux-arts in Nantes, France.
The Bramante Cloister exhibition of Tissot's work is huge and important, and it's just a shame that it isn't travelling elsewhere. There has not been a major retrospective of Tissot's work in London since the Barbican Art Gallery's 1984 exhibition, nor in Paris since the same show traveled there in 1985, and though Victorian Life/Modern Love was held in Connecticut and Buffalo, there never has been a major retrospective of Tissot's work held in New York City.
A spotlight on Tissot at the Met's "Impressionism, Fashion, and Modernity"
Tissot's La Femme à Paris series
James Tissot in the Andrew Lloyd Webber Collection
© 2015 by Lucy Paquette. All rights reserved.
The articles published on this blog are copyrighted by Lucy Paquette. An article or any portion of it may not be reproduced in any medium or transmitted in any form, electronic or mechanical, without the author's permission. You are welcome to cite or quote from an article provided you give full acknowledgement to the author.
The Hammock: A novel based on the true story of French painter James Tissot, brings Tissot's world from 1870 to 1879 alive in a story of war, art, Society glamour, love, scandal, and tragedy.
Illustrated with 17 stunning, high-resolution fine art images in full color
Courtesy of The Bridgeman Art Library
(295 pages; ISBN (ePub): 978-0-615-68267-9).
See http://www.amazon.com/dp/B009P5RYVE.
NOTE: If you do not have a Kindle e-reader, you may download free Kindle reading apps for PCs, Smartphones, tablets, and the Kindle Cloud Reader to read The Hammock: A novel based on the true story of French painter James Tissot. Read reviews.
This entry was posted in Art blog, Art History, Impressionists and tagged James Tissot on December 15, 2015 by Lucy Paquette, author of The Hammock: A novel based on the true story of French painter James Tissot.
James Tissot, the painter art critics still love to hate: a retrospective review round-up
James Tissot: Fashion & Faith, a retrospective at the Legion of Honor
James Tissot's Prints at the Zimmerli Art Museum
James Tissot's Prints
Tissot's Textures
Follow The Hammock on WordPress.com
Follow The Hammock blog via Email
Peintres méconnus du XIXème siècle : une autre histoire de l'art
Before the Art
The Frame Blog
The Kissed Mouth
The Pre-Raphaelite Society
Elegance of Fashion
Suzanne Fagence Cooper
The Hammock on Facebook
A daily dip into the world of art
An Alternative Cultural Daybook
In the history of art, where do we stand and where do we start?
Articles, interviews and reviews to do with antique and modern picture frames
the international society for the study of the lives and art of the Pre-Raphaelite Brotherhood.
Did I misplace my pince-nez again? Light reading on the 19th century.


For the past two weeks, all over the media, an image of a little girl who was found dead in a trash bag along the shore of Boston Harbor has yanked at the hearts of more than 51 million viewers. Having lost my own daughter four years ago, I was mesmerized by the picture. Someone's beautiful daughter, her riveting eyes. Thrown away. How could this happen?
The computer-generated image was produced by Christi Andrews at the National Center for Missing and Exploited Children. Using autopsy reports, morgue photos, and stock images of facial features, Andrews constructed a digital composite that should come close to what the toddler looked like in life. Andrews selected a similar face shape, added eyes that matched the toddler's in size and color, and filled in the features with stock photos. She likened the process to building a Mr. Potato Head.
Forensic artists like Andrews often include age progressions in their composites, modifying images to reflect the effects of aging, to show likely current appearances of long gone missing children. They use the same Adobe Photoshop program I use. When I investigated further, to learn how Andrews recreated the face of 'Baby Doe,' the child found near Boston, I made a discovery: many bereaved parents find age progression on photos of their deceased children to be healing. They use services such as Phojoe Photo in order to see what their children might have looked like as adults.
With all the photo manipulations I've done on my daughter's image, aging her face had never occurred to me. What would Marika, who died before turning twenty-one, look like at my age, I wondered?
On one half of Marika's face I deepened her natural lines and then added from my own stockpile of wrinkles, sags, and age spots.
So now I have something else to stare at.
What images do you find comforting?
This entry was posted in 2015 and tagged Adobe Photoshop, age progression images, Baby Doe photo, bereaved parents, Christi Andrews, deceased children, forensic artist, missing children images, Missing Children Photos, National Center for Missing and Exploited Children on 2015/07/13 by Robin Botie.


If you've ever longed for a hair color that was emotionally transient your inner life, you no longer have to wait. There is now a line of heat-changing hair dyes from Pravana, so you can basically buy a formulaic mood ring for your hair. Given how much we love the vivid-colored blessings of Pravana, we're hardly surprised the brand has ventured into such inventive territory.
Still, the Pravana Vivids Mood Color collection is a one-of-a-kind concept. If you're wondering how it works — basically, there are four main color combinations: Cool Violet to Warm Pink, Lime Green to Sunny Yellow, Smokey Gray to Invisible, and Tropical Peach to Invisible.
Each of the color combinations has a base color (Cool Violet, Lime Green, Smokey Gray, and Tropical Peach) that changes into the secondary color with the application of heat.
So if you curl, blow-dry, or straighten your hair for the night — you'll have a gorgeous transient hair color.
If you regularly use heat-styling tools, you can watch your hair change in an instant.
Once your hair cools down, it returns to the original shade.
Just like a mood ring.
The brand new Vivids Mood Colors will turn you into a hair chameleon.
Starting today, you can get your hands on these fancy mood ring hair dyes at salons (just talk to your stylist about giving them a go, and seeing if they have them available at your nearest salon)! It should be noted they work a bit better (easier) on lighter hair colors, but your go-to stylist can give you the personalized pointers.
This is truly a wild invention.


text:
Q: Creating "stick controls" for android game? I'm trying to create a simple Android game, a 2D action shooter which has 2 control sticks (circles) on the screen, the left one is movement control and the right one weapon control. Direction is being controlled by the position of your thumb relative to the circle's center.
I've been following a tutorial on this site: http://www.kilobolt.com/day-7-creating-an-android-game-from-start-to-finish.html but it only gave me the base to work on. I have no programming experience so I'm quite lost now.
I got the movement working only on TOUCH_DOWN event, the hero moves to about where it should but to change direction I have to lift my thumb and touch the circle again. TOUCH_DRAGGED (or ACTION_MOVE) is broken because if I drag my finger across the circle the character moves really fast. I guess the problem is too many touch events are being handled, but I have no idea how to fix it.
How can I change this so that I can drag my thumb around the circle and the hero will change its direction instantly, and keep its speed constant all the time? Also the speed should be the same no matter how close or far from the center of the circle you touch.
private void updateRunning(List<TouchEvent> touchEvents, float deltaTime) {

    int len = touchEvents.size();

    for (int i = 0; i < len; i++) {
        TouchEvent event = touchEvents.get(i);
        if (event.type == TouchEvent.TOUCH_DOWN || event.type == TouchEvent.TOUCH_DRAGGED) {

            if (inBounds(event, 50, 300, 150, 150, 'c')) {
                ctrl.setX(event.x);
                ctrl.setY(event.y);
                ctrl.direction();
                hero.move(ctrl.getDirX(), ctrl.getDirY());
            }
        }

        if (event.type == TouchEvent.TOUCH_UP) {

            if (inBounds(event, 0, 0, 35, 35,'r')) {
                pause();
            }
            hero.stopMove();
        }
    }

    hero.update();

The movement: hero's speedX and speedY are added to hero's centerX and centerY on every hero.update() call.
public void move(float x, float y) {

    speedX += x * MOVESPEED;
    speedY += y * MOVESPEED;

}

This method that handles the x & y speed. Found it here at stackoverflow, and because touch_down event is working ok, I guess it's doing it's job. Although I feel it's not exactly how it's supposed to be. L_STICK_C is a constant with values of 100 and 350 (center of the circle).
public void direction() {

        dir.x = x - L_STICK_C.x;
        dir.y = y - L_STICK_C.y;
        double hyp = Math.sqrt(dir.x * dir.x + dir.y * dir.y);
        dir.x = (float) (dir.x / hyp);
        dir.y = (float) (dir.y / hyp);
}

A: I suggest you look into some game programming tutorials.  You usually would not move the character directly from the touch input. You'd set a game state variable once a game loop which would correspond to the position of your thumb inputs.  Then you'd only update the hero once per game loop based on those inputs.  This lets allows you to keep the game input control code, and hero code separate, and makes it re-usable for other parts of your game.
EDIT:
Based on your code, every time you drag your finger, you generate a bunch of dragged events.  So you are adding onto your characters speed for each event.  You should probably just be looking at the distance to center and x / y of the input on the last touch event, not all of them.

redpajama_set_name: RedPajamaStackExchange


Thanks to all the organizations and individuals helping us spread the word about BotBrik.
Here are links to their websites and to articles published about us.
Cleantech Solutions. Sustainability in Action.
Circular Economy Club. The International Circular Economy Network.
Working together for a better world to live in.


We live in Canada and we should be accustomed to cold weather throughout the winter; and we are, for the most part.
But to be clear, we live in Southern Ontario, so the temperatures we've been experiencing lately are a next level' kind of cold for us.
One day this past week, the temperatures plunged to -41ºC, after windchill. It's a kind of cold where, on my short walk from my car to the office, my breath made ice crystals on my moustache. Liz called them 'moust-icicles' .
Some folks embrace the weather and brave the cold for "fun" winter activities, like skiing. But not us. No matter how much we try to convince ourselves that this year we'll get outdoors and make the most of winter… we just never seem to do it. Maybe the odd skate here and there, and a little sledding, but that's the extent of activity for us.
Actually, I prefer science and grilling over skiing…I'll explain.
I took advantage of the extra cold weather to repeat a little science experiment that I'd tried a few years ago during a similar cold spell.
I poured boiling water into a mug, walked it outside and threw the water into the air. The water immediately transformed into a powdery snow. Not one drop of water made it to the ground. It's quite the visual.
If you follow our blog, you'll know I don't really have a barbecue season. I turn on the grill anytime of the year. I actually have a shovel sitting outside our back door so that I can shovel my way to the barbecue .
I did end up grilling some steaks on the coldest day of our deep freeze. That's some serious dedication. And serious faith in our Broil King Baron™ 590 BBQ.
Along with the steaks I made salad and thought it might be nice to roast some veg… cauliflower!
Roasted cauliflower on it's own is already delicious. A bit of flavour from our Frank's based sauce gave it that extra something-something.
Our little guy took one peek and decided he wasn't having any… but that's because he's picky…and stubborn! The rest of us absolutely loved the roasted cauliflower! The proof was in the pudding… or the empty platter, that is.
We're very much a meat and potatoes kind of family, so it's exciting to see the family enjoying vegetables like this.
Kick up your cauliflower with a drizzle of this delicious sauce, and eat well, friends.
This cauliflower comes out with crispy browned edges, and perfectly tender on the inside. The sauce gives it a wonderful flavour. A perfect side or main!
Preheat the oven to 500 ºF.
In a medium bowl, whisk together the garlic, salt, pepper, Frank's hot sauce and olive oil.
Use a basting brush to brush on the Frank's mixture onto the tops of each of the florets and place them on the baking sheet, separate from each other.
Tent a sheet of aluminum foil over the cauliflower florets and place the baking sheet in the oven on the middle rack.
After about 7 minutes, remove the aluminium foil and continue to roast for another 15 minutes or until the edges have nice brown edges.
Remove from the oven and serve hot. Enjoy!


Whether you have a burst pipe or are having problems with a leak, Bennett Bros are on hand to help. Covering most emergency plumbing problems, one of our qualified plumbers will come out and see you as soon as possible.
With a wealth of experience and knowledge, we aim to have your emergency resolved as quickly as we can. No matter how big or small the problem may be, call us today and let us resolve any issues you may be having.
If you have a plumbing emergency in Mountain Ash, Aberdare or Rhondda Cynon Taff, we can provide you with a same day response. Why not call us today to see if we cover your area?


Squatting near the lip of the creek at the edge of Palisade Meadows, I turned up to the sky, and saw that my time to complete my post dinner dishwashing chores was to be quickly truncated by the impending torrent. I quickly threw things in a pile, made a dash for the blue and yellow dome in which we would ultimately spend much of the next five days, and dove to avoid the inevitable. As I peeled off my rain gear in the vestibule, I was thinking: would this be what the Colorado monsoon would bring us for the next week? The quick answer was yes.
I had been watching the weather in SW Colorado for the past several weeks. It seemed like every night at Wolf Creek Pass, the word was scattered showers. Apparently, the monsoonal flow into Arizona and this part of the country was going to continue much later that normal. I was hopeful for a break in the weather, but I also knew that we had some early escape routes that we could exercise if needed.
Our start today was very inauspicious: I must have woken up about 5 am, and looked outside the window of the First Inn, located on the east side of Pagosa Springs (the "first" motel you come to when arriving from the east) and it was raining. We had arrived there yesterday afternoon from Albuquerque, following a leisurely drive. In fact, the entire trip had been uncharacteristically leisurely. Normally, I get somewhat uptight as I try to move a "herd of cats" - namely my friends through the start of a trip, trying to get everyone to the trail head in the minimum of time. This trip was an example of contrasts. We had flown out to Albuquerque on Friday afternoon, deliberately scheduling a 3 hour layover in Atlanta, being tired of having to run to catch our connecting flights - or missing them all together. And it was just Susie and I. While we enjoy our friends tremendously, it was nice to be able to relax and just take care of the two of us. Susie and I had just relaxed in the Crown Room, sipping Gin and Tonics, and mixes of fresh squeezed OJ and diet Sprite (yeah, I know, really pulling out all the stops). We got into Albuquerque 30 minutes late, due to a late-arriving connecting flight in Atlanta. Our luggage came off the rack on time, and our motel was only about 1.5 miles from the airport. Beats having to drive for 2.5 hours out the hinterlands like we normally do. Susie and I got up when we felt like it, and after a minimal continental breakfast at La Quinta, we headed over to Old Town, waiting for REI to open. When it did, we focused on their pre-Labor Day sale. I was looking at some miscellaneous stuff, and Susie came over with a Marmot Gore-Tex rain jacket and said, this is on sale for about $100 off, and you said you were in the market. Well, with Susie nearly suggesting that I think about getting this jacket, I had to try it on, and it fit great. Shortening the story, I walked out of the REI with a new rain jacket, a prophetic move indeed.
We picked the Branding Iron Barbeque for dinner. We ended up calling it the Christian Barbeque spot: no alcohol served and Christian music playing in the background. But the smoked beef brisket was great, and there was a lot of it, and it was pretty cheap, and the humming birds on the front deck were as good as I have seen outside the San Juan Café in Mexican Hat, UT. OF course, the little critters seem to spend more time fighting over who gets sipping rights than actually sipping the nectar from the feeders: sorta like humans.
We got back to the motel, and I went out about 8:30 to the Malt Shop to get a big chocolate raspberry milk shake for Susie and I to share (no, I did not eat the whole thing on the way back to the motel room!). When I got back, Susie was on the phone with Andy. They were to have started hiking on Saturday morning, but the rain had been impressive on the east side of the divide near Rio Grande Reservoir where they were to start, so they bagged it, changed their route, and would head up Squaw Creek on Sunday, still keeping their plan to meet us on Tuesday at Trout Lake.
It rained Saturday nite, and was still dripping when we got up. The ceiling was low too, not a great way to start things off. We had a very quiet breakfast at the motel, and were out of there before 8 am. As we headed north on the Piedra Road toward the trail head (it is about 30 miles or so), we could see some structure developing in the clouds. I remember from my weather forecasting class nearly 20 years ago that structure in the clouds is a good sign. OK, so there is not too much else I do remember, but it was non-credit, and being taught at UT by a TV Weatherman. Anyway, we got to the trail head about 9 am, and were loaded up by 9:10 am. At least it wasn't raining.
Our first obstacle on the Williams Creek Trail came within a few hundred meters, just after we crossed the Wilderness boundary. It seemed that the trail was getting rocky, and then it just disappeared. I looked up, and could see that we were going thru a huge wash out. A tremendous flood must have washed out the stream bed, and turned it into rubble. The power of nature can never be overestimated. We got thru that, and started a gradual climb to a point were we could look down a couple of hundred feet to the stream bed, and it looked like parts of Bryce Canyon: huge rounded cliffs eroded all the way to the creek. Another mile brought us to a meadow (very marshy and muddy, thanks to the horses, or the people that bring them out here), and the trail junction. We split to the right, heading ultimately for Palisade Meadows. There was a ford of Williams creek, which was not too tricky, even though we were low in the watershed. Then we started climbing in earnest. It is certainly aggravating to me that in the Smokies, I can match Susie, or many of our friends, step for step. But get me above 8000 feet or so, and my lungs can not get enough air. I guess with all the problems I have had with my lungs over the last 20 years, I should be thankful that I can get meaningful work out of them. But I certainly appreciated Susie's patience with me.
The trail continued to be a mess. Lots and lots of horse damage. The problem is that there has been way too much rain, and the horse packers do not adjust their routes accordingly. Of course, the ideal adjustment would be that under these conditions, they stay home. After our second crossing of Indian Creek, we finally get to some undamaged trail where one could maintain a rhythm while hiking. It felt really good, even though Susie continued to keep my ego in check by easily gaining a 100 meters on me in a few minutes. We sensed that the forest was beginning to open up just a bit, at least we were in sunshine along the creek. Another pull, and we were at the bottom end of lovely Palisade Meadows. It is pretty big, with no views of peaks around it (save one) and it is enclosed in Spruce forest, but it was "here," and there were no bugs. It was 3:15 pm, 6 hours after we started hiking the 5.5 miles to this place. Amazing what bad trail and altitude can do to your schedule. We looked around a bit, and settled on the spot where we had first dropped our packs. After backpacking collectively for nearly 50 years, you think we would have this part of picking out a campsite down and pat. But I think it is a combination of wanting to find the perfect spot and a bit of shell shock at having finally arrived that forces us to wander a bit before we set up home. We were out in the open, but had some trees to our SW to buffer the wind. We bathed a bit, and got some water our of a side creek, as it flowed into the main one draining the meadow. Fortunately, after bathing, I had elected to "air dry" (that's code for running around with just my Teva's on) for a bit, 'cause I fell back in the creek trying to position myself to get water out of the side stream. So much for my coordination and experience.
I got the water, dried off again, and got some clothes on, before it was time to make a dash for the tent. In tentia for a half hour shower, but it felt good to be warm, clean, and dry. Even though it weighs 1.5 lbs more than our other mountaineering tent, I am glad we had the Stretch Dome with us, mainly due to it's rock solid construction and great vestibule. The rain broke, and it was time to have dinner. Looking up at the sky, we decided to cook dinner right in front of the tent, in case another shower hits. Tonight it was Pesto pasta and chicken and cheese, but altitude problems have already hit, and I had a hard time finishing the Cherry Chocolate Mousse for dessert. About 6 pm, another couple showed up and say "You must be the folks from Tennessee!" I confirmed such and they indicated it is not clairvoyance but their having read the trail register. They were from Ann Arbor, Michigan, so we talk about the relative merits of the Spartans vs the Wolverines. He is a finance guy, and she is a doctoral candidate, but obviously not a young one, as they seemed in their mid-40's. Later discussions with them indicated that they had done quite a bit of backpacking. They were headed essentially on the same route as we were for the next few days. We also explained about the difficulty at finding the trail on the other side of the meadow, and I offered to mark the start with cairns if we were ahead of them in the morning.
Another shower hit right after I got the dishes cleaned up, but after it was over, I got out and walked around a bit. Nevertheless, by 8 pm, we had decided that it was time to go to bed, so we crawled in our bags, and slept pretty hard until 6 am.


This page contains the location of Treasure Map 07, Garrison's Treasure in Red Dead Redemption.
This is the seventh treasure map you'll need to solve. It is recovered from the chest where you found the previous treasure.
Directly north of Agave Viejo and west of Roca de Madera, look for a narrowish path that follows the upper ledge of the cliff that overlooks the river. Follow the path from east to west to find the treasure at the end.


In a new report by KGI's Ming-Chi Kuo, the reliable Apple analyst claims that the iPhone will be seeing a major redesign in 2017, dropping the iconic aluminum casing for an all-glass enclosure with AMOLED screen. This follows on from another of Kuo's reports in late March, where he first suggested Apple will return to an iPhone design akin to the iPhone 4. It does not seem like the iPhone 7 for 2016 will be seeing such a major overhaul, breaking Apple's tick-tock pattern of a significant chassis redesign every other generation.
Kuo believes that Apple will be moving to an all-glass enclosure, dropping aluminum completely as it will no longer appear modern or fresh in 2017. Apple's smartphone competitors are also adopting aluminum designs in droves, making it more likely Apple will want to differentiate with entirely new materials.
Kuo does not elaborate on how Apple will make the next iPhone entirely out of glass, so currently the specifics of the drastic redesign will have to be left to the imagination. Apple used glass for the iPhone 4/4s front and back, but this was sandwiched together with a stainless steel band. It's currently unclear how an iPhone could be constructed primarily out of glass.
The new glass phone will also feature a new AMOLED display panel, which will be thinner and lighter to compensate for the slight weight increase of glass compared with metal exteriors. Kuo does not believe that drop test issues will be a roadblock in Apple's decision making, given the iPhone 4 and iPhone 4s already relied heavily on glass front and back. Last week, Apple reportedly reached a $2.6 billion agreement with Samsung to supply OLED panels for iPhone displays.
It definitely seems like Apple is saving a major new iPhone form factor for 2017, which leaves Apple's 2016 iPhone 7 refresh somewhat in question. Leaks to date have shown very modest changes for the iPhone 7, with a design largely the same as the existing iPhone 6s and iPhone 6s Plus models. It certainly looks like Apple's next big refresh for the iPhone will not come to light this year, perhaps earlier in 2017 if not the fall. So far, the biggest new thing for the iPhone 7 appears to be the addition of a dual-camera for better pictures, although rumors have indicated this will be exclusive to the 5.5 inch iPhone 7 Plus.


text:
Q: Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1813 Tablespace for table Am using Laravel 5.6
I Tried to migrate purchases table for my project
When i tried to migrate and it's showing Table Space error.

General error: 1813 Tablespace for table 'jshop.purchases' exists. Please DISCARD the tablespace before IMPORT.

Migrate Code Below :
Schema::create('purchases', function (Blueprint $table) {
        $table->increments('id');
        $table->integer("product_price");
        $table->integer("product_qty");
        $table->unsignedInteger('invoice_id');
        $table->unsignedInteger('product_id');
        $table->unsignedInteger('weight_id');
        $table->timestamps();
        $table->foreign("invoice_id")->references('id')->on('invoices');
        $table->foreign("product_id")->references('id')->on('products');
        $table->foreign("weight_id")->references('id')->on('weights');
    });

invoice,products,weights table are valid in my database.
Error Message Image Below :
Migration Error image Link
How to solve this ?
Full Migration Code Image

A: try this:
php artisan migrate:refresh

if it is not solve this error
try this:
Go to mysql/data/database_name /tablename.ibd file and delete it manually.
after this try your command php artisan migrate

A: Drop the database and create a new one.

A: Locate where your database is and delete the table. Then run PHP artisan migrate This worked for me

A: Your database is corrupted, do the followinf steps to fix it.
SETP 1.
Drop the database and create a new one.
SETP 1.
run the following command
php artisan migrate:refresh


Having infiltrated the Bandidos for three years in a landmark police operation, Alex Caine is uniquely positioned to tell the untold story of the Hells Angels fiercest rivals, the Bandidos. Started in the mid-sixties by a group of Texas malcontents and ex-military who idolized the Hells Angels, the Bandidos now operate in almost every country of the world and are especially potent in Europe, Australia, the US and Canada. The Fat Mexican unearths the violent criminal history of the Bandidos: their four-decades-old battle with the Hells Angels, the terror their global expansion has caused rivals and innocents alike and the internal politics and rivalries that drive them to this day.
Alex Caine has retired from his career as a contracted agent, infiltrating criminal and terrorist organisations on behalf of police forces in Canada and abroad. He acts as a consultant in high-level cases and provides the media with background information on biker investigations. The international sensation Befriend and Betray was Caine's first book.


text:
Sapphire goes 'green'
Updated Aug 20, 2018 03:17pm
Anusha Zahid
Becomes the first fashion brand in Pakistan to introduce recycled seed bags to curb pollution.
Sapphire, a high-street fashion brand in Pakistan, launched their 'Seed Bags' on the occasion of Independence Day to highlight their contribution to a very pertinent problem in Pakistan: growing pollution, as well as to amplify the 'green' stance the company has taken.
The initiative was announced a week before August 14, and was led by Manghi Communication Solutions (MCS) – Sapphire's creative agency, which was also responsible for the ideation (from one of the creative directors in South Africa), procurement and manufacturing of the bags.
Talking about the initiative, Muzaffar Manghi, CEO, MCS says, "After oil and gas globally, fashion retail is the second largest plastic polluter. Therefore, rather than shy away from this glaring fact, we wanted to be honest in addressing it. We wanted to demonstrate that being green can be good for business too."
He adds that as Sapphire's creative and strategic partner, MCS's role is to provide solutions that extend beyond advertising and exist more in the domain of 'acts' versus 'ads'.
Sapphire's seed bags (instead of regular paper bags) are made from recycled cotton waste sourced from the textile industry and are eco-friendly. The bags come embedded with a mix of seeds: amaranth, marigold and China asther. Besides the fact that they are pretty, Manghi says the reason for choosing these plants in particular is that they are resilient and do not need much tending to, and can grow in a variety of climates.
Manghi says that through this initiative the brand not only achieved the objective of staying relevant within the green narrative, but the PR response the agency anticipated helped maintain top of mind (during a very noisy August). He opines that fashion industry communications need to change just as rapidly as their product line-ups – which is every few weeks.
"We figured that when someone plants the bag in their garden, they will most likely forget about it after a few weeks and the plant will have to manage more or less on its own," he remarks.
With instructions written on them on how they can be sown directly into the soil, the bags came in one size and could be bought on August 14, with any purchase at Sapphire.
The initiative was a huge success in terms of talkability and was appreciated across Pakistan. Since its announcement a week before August 14 on Instagram, Facebook, via bloggers and in-store advertising, Manghi says, "we ran out halfway through the day (so the response was a tad bit better than expected)."
Manghi is clear that these bags are just a small initiative and do not solve the larger problems immediately. "This was a test-run, which has worked well enough; we are considering the modalities of doing this over a long-term."
Cover Story – The Prêt Effect
Afiya Aug 26, 2018 12:35pm
Can these seeds grow in Pakistan and where can I get these recycled bags from.
Khurram Aug 27, 2018 09:42am
Where can I get these bags? If feasible, could Sapphire be kind enough to start selling them on large scale? I too am anxious and in hurry to get rid of polythene bags.


Are These Really The Best Ways To Measure Body Fat?
Depending on your body goals, you might be tracking down the best fitness gadgets, sourcing the best lean protein or calculating the best macros for fat loss.
And if you're actively trying to lose body fat, or are simply interested in how your stats stack up, there are so many different ways to measure body fat. However, not every method is accurate.
So what are the best ways to measure body fat and muscle mass? Popular techniques to get a better picture of your weight and training progression can be used both at home and in the gym.
From calipers, expensive assessments, online body fat calculators, and the trusty old tape measure trick, there are lots of options - but how can you be sure that you're using the most accurate method? Is it worth paying premium for in-depth analysis or are you just as good with an at-home smart scale?
While this continues to be a contentious topic among scientists and fitness fanatics alike, a research paper published in the the American Journal of Clinical Nutrition suggests that women aged between 20 and 40 years old is considered 'healthy' when she has a body fat percentage of 21% - 33%.
It's easy enough to Google 'best ways to measure body fat' and pick a method, but deciding what's best depends on your goal. If you're a casual gym-goer who is trying to shift the last lingering pounds, a high-tech scan is most likely an expense too far. But if you're concerned with your body composition – your muscle, fat and bone makeup – an X-ray that measures your lean mass could help you weigh up your training options.
Game? Here are the most popular ways to measure body fat.
You'll find a range of body fat percentage calculators online. Usually they will use the U.S Navy fitness formula to roughly estimate how much body fat you carry.
You will have to list your gender, weight, age and height, as well as your waist, hip and neck circumference.
While it might not give you a perfect reading, it claims to be within 1-3% accurate for most people.
Relatively cheap to buy, and deemed the easiest and most accurate way to measure body fat, calipers are a popular at-home method.
They look like a pair of pincers, which are gently gripped onto a skin-fold from your body. The little scale right of the arrows will give you a reading for total body fat.
Like the above fitness formula, the reading can be inaccurate by up to +/- 3% - which is not ideal for some, but works as a great tool for those casual fat measurers.
For those with specific fat-loss goals, you might think that shelling out a fortune in health tests and screenings is the best way to measure body fat. But you'll be pleasantly surprised.
A lot of gyms now offer professional insight into your stats, making it even easier to track your fat loss.
While choosing your gym membership is based on all sorts of things - location, price, classes - it's also important to check out the facilities. A range of gyms, like Virgin Active, David Lloyd and Barry's Bootcamp, offer Boditrax at their branches, and it's a very tempting incentive to sign up.
Without needing to have an in-depth chat with any PTs (unless you want one) you can get on the machines, create a login and get all manner of body metrics sent to your account.
You can track your progress and set goals for and of the things it records.
This includes the classics like fat and muscle mass, but also ratings of your Basal Metabolic Rate and BMR score, which is 'a calculation which illustrates an individual body's ability to burn the fuel it takes on board throughout the day'.
There is a lot of data, but a very easy to digest dashboard on which to read it all. Plus, it's usually free to use for all members.
Lean in, you'll want to hear this. It's time to wise up to weight loss.
If you're looking to completely transform your body, it's likely that 'losing weight' isn't enough. What you really want to do is focus on your fat, zoning in on where it's stored. This is where a DEXA Bodyscan can help.
Although pricey (from £129) it's the most advanced method of measuring mass and can tell you to the gram how much fat and lean mass is clinging on from head to heel. In less than seven minutes the X-ray machine sizes up your size.
Every inch of fat, lean mass and bone are accounted for. A detailed report then breaks down this information.
From this you can weigh up your body targets; this might be slashing your fat indices or increasing your lean indices.
The best bit? The information from the report can be inputted into the online resting metabolic rate calculator to reveal your resting daily calorie requirement (RMR). Plug this into My Fitness Pal and you're equipped with the most accurate tools to reach your goals.
What scale measures body fat?
There are plenty on the market, but which ones are worth their salt?
Say goodbye to the annoying dial on your dodgy old bathroom scales - the Fitbit Aria 2 Smart Scales are here to save you, and tell you everything you need to know about your body.
Teamed with the Fitbit app, you can monitor your daily steps and track your activities, and the smart scales will not only track your weight, but also track your body composition, body fat percentage, lean mass and BMI.
All this is them delivered seamlessly to Fitbit app which can be downloaded onto your mobile, meaning that everything is easily connected and all your information is stored in one place. Simple and super high-tech.


Anne Arundel Veterinary Emergency Clinic may choose to refer you to a specialist to ensure your pet receives the best possible care. We are a part of the Chesapeake Veterinary Referral Center, which a coalition of veterinary specialists in the disciplines of emergency medicine, surgery, canine rehabilitation, internal medicine, oncology, cardiology, eye care, and neurology. This means that when your pet needs specialty care we already have a network of specialists to send them to and they are located in the same building we are.
While both transfers to and consultations with specialists are quite routine during the week, access to specialists cannot be guaranteed. This is because our specialists conduct their business during normal business hours on weekdays, and each specialist veterinarian has already committed to pre-scheduled appointments with other clients. Specialist consultations are performed between and after their regularly-scheduled appointments.


text:
Ho Chi Minh City spring show highlights delta features
Features of the Mekong Delta's rural areas are on display at a fair in the Phu My Hung area in the southern economic hub of Ho Chi Minh City.
Saturday, January 25, 2014 14:34
Themed Huong Sac Mien Song Nuoc (Waterway Flavours and Colours), the Phu My Hung flower fair 2014 includes thousands of aquatic flora and fauna and a floating market.
Held on Crescent Lake, the floating market features dozens of boats selling the delta's agricultural products and flowers.
The flower and aquatic product street features 700m paths along the lake and includes more than 100 species of flowers and aquatic fauna species.
Various kinds of plants such as seaweed, lotus, waterlily, duckweed, water fern and nipa are also on display. The fair includes indigenous flowers, ornamental trees and a shopping mall with 500 booths selling flowers, trees, Tet gifts and as well as areas for games and calligraphy.
Organisers have also called on artisans nationwide to showcase their rare ornamental plants and flowers at the festival.
The admission-free fair, which is organised annually, focuses on a flower street displaying aquatic fauna species and a floating market.
It will end on January 29.-VNA
Agricultural sector continues to be economy's pillar
Ecological agriculture, modern rural areas and smart farmers are expected to be the three key factors helping agriculture secure its role as a firm pillar of the economy in 2022 and following years.
Art programme celebrates upcoming Party's founding anniversary
National-level championship of Vietnamese martial art held in Algeria
The first national-level Vo Viet Nam (previously called Son Long Quyen) championship took place in Algeria on January 14 and 15 to pay tribute to master Aitabdelmalek Larbi, who brought the Vietnamese martial art to the country in 1973.
10th "Truong Sa Spring" art programme held in Hanoi
The Communist Party of Vietnam Review and the Navy High Command held the 10th special music show "Truong Sa Spring" in Hanoi on January 15.
The Vietnam Motorkhana Championship 2021, the first-ever international-standard professional sport car race in Vietnam, opened in Hanoi on January 15.
Vitality of ancient Vietnamese outfits
When it comes to traditional Vietnamese outfits, many will think of the "ao dai", the traditional long dress. However, Vietnam has a wide range of outfits bearing the cultural imprint of every period of history. With growing interest among many young people and the development of films and historical art projects, Vietnam's ancient outfits have come back into the spotlight.
Miss Fitness Vietnam 2022 to be launched
The selection round of Miss Fitness Vietnam 2022, a national event featuring fitness enthusiasts, will open on January 16 in Ho Chi Minh City.


text:
Go2News
Deakin news on the move
Go2News is the site for Deakin journalism students to showcase their work. The site was established in August 2011. For more information contact go2newsdu@gmail.com or @go2newsdu
Trending on go2News
AFL animals Art australia Baillieu basketball Box Hill Burwood charity citizen journalism citizen journlaism community construction culture Deakin Deakin Staff Deakin students Deakin University Disability DUSA education employment Environment facebook Fashion food Football footy Geelong Go2News health Injuries international students iphone journalism Korean legislation libraries media medical research Melbourne metlink Milton mobile journalism mobile phone mobile phone journalism mojo movie MSFW music myki news Norway Parking parking fees politics protest public transport racism radio religion retail RSPCA shopping social media sport sports Students target Teenagers Torquay Ulladulla University Victoria Victoria Police
Previously on Go2News
Grief in the Workplace by Faith Horizon
Forestry Industry S.E NSW By Indi Wood
Ageism in the workplace by Matt Duigan
Part time jobs applicants up in line wth unemplyment rates by Zara Zaher
Changing Tracks by Alex Kingham
Young manufacturing boss by Candy Huang
Supporting adoption – love does not come with a price tag by Shawn Chang
International Students Study in Australia by Huaizhi Zhang
Go2News correspondents
Ethical Martini – journalism, ethics and martini music
Ivo Burum's CitizenMojo
Scott Carbines' tumblr music blog
Posted: October 3, 2012 by georgiaharrison in Education, Health, Melbourne, Social Issues
Tags: ANZOD, australia, Don't Bury Me, DonateLife, education, Nephrotic Syndrome, Organ Donation, Tissue Donation, Victoria, Zaidee's Rainbow Foundation
Despite the Federal Government dedicating millions of dollars to improving Australia's extremely low organ donation rates there have been no clear improvements since the reform was implemented in 2009.
In 2008 the Australian Federal Government introduced a reform package with significant results expected over four years.
According to the Australian and New Zealand Organ Donor Registry (ANZOD) there were 337 donors in 2011 whose organs and tissues were donated to 1001 recipients.
Unfortunately, in the past year, organ donor rates have plateaued and donor numbers are now in decline.
The World Health Organisation (WHO) ranked Australia 24th in the world last year.
In 2004 102 children died in Australia that weren't organ donors.
In the same year, young Zaidee Turner and her family had been registered organ donors for over 5 years. A blood vessel burst in her brain causing her to suddenly die.
As a registered organ donor, Zaidee became one of the youngest Australians to donate her organs and tissues at just 7 years old.
Zaidee's Rainbow Foundation, partnered with DonateLife, was developed by Zaidee's parents Kim and Allan Turner in an effort to raise national awareness of organ and tissue donation.
"Today the foundation is at the forefront of educating families about the need for more people to donate at the end of life." – Zaidee's dad, Allan Turner
Zaidee's rainbow shoelaces have become a symbol of hope across Australia for those people on the transplant waiting lists, and are worn proudly by sporting heroes.
"Australia has one of the lowest donation rates in the developed world." – DonateLife.
In Australia the family will always be asked to confirm the donation wishes of the deceased for the transplant donation to proceed. Unfortunately today only 60% of families give consent for organ and tissue donation to go ahead.
Unlike any other organ, humans can survive with just one kidney, however the official processes that possible donors must go through before donating their kidney is extremely taxing and time consuming.
If an individual's family is not eligible to donate, whether it is due to disease or poor kidney function, the individual will be placed on the waiting list which on average can take anywhere between 6 months to 4 years.
In April 2000 at the age of nine Tate Goldsmith was diagnosed with Nephrotic Syndrome FSGS. The disease rapidly progressed and by October of 2001 she had started dialysis for renal failure.
Thankfully Tate was able to receive her Mum's kidney via transplant in November 2002.
"Dad's kidney function wasn't the best so if Mum couldn't donate I would have had to go onto the waiting list which can really be a luck of the draw."
"Without a transplant I would require hospitalization 3 times a week for a minimum of 5 hours, and I wouldn't be able to really drink anything as I'd have a fluid restriction of around 1 litre per day. It doesnt sound much but that includes ice cream, jelly, soup, anything with liquid. Also – I wouldn't be able to eat a large majority of foods because my body wouldn't be able to excrete potassium – no potatoes, tomatoes, chocolate, bananas…"
"If more people donate it really just gives them the opportunity to have a greater quality of life that cannot be achieved if someone has organ failure. I don't think that anyone could undersand until the individual or someone immediate to them was in the situation."
There are currently around 1600 people on the organ donation waiting list.
Sadly, hundreds die waiting.
"The most important thing that helps a family's decision is knowing the wishes of their loved one…" according to Jo Harrison, a spokesperson for DonateLife Victoria. "43% of Australian's do not know or are unsure of their loved ones wishes."
Will Chapman is suffering with progressive heart and lung failure at just nineteen years old. Without a heart and double lung transplant Will won't make Christmas.
With the help from friends and family Will has produced a series of videos to urge more people to register and share their organ donation wishes.
Released in September 2012 Will's Don't Bury Me campaign highlights the dire need for change in order to save the lives of those on the waiting lists.
Below is a shortened version of Will's video. For the full movie 'A Gracious Gift' please go here.
To register as an organ donor please visit: Medicare Australia
For more information about organ donation please visit: DonateLife
Correspondent log-in
@go2newsdu
Always know what we're doing - subscribe


We are thrilled to announce the release of our second full-length album—Ordinary Things — 12 songs about life, love, secret longings, declarations; the undertows that pull at all of us.
Approachable on first listen, rewarding for those who return. The songs command, beg, bemoan and declare hard truths. Leslie takes a familiar sounding phrase; "the cradle robbed my baby," and with a slight of hand, makes it mysterious, even terrifying. The words, "you clung like burnt sugar" bring in all the senses. It's evocative without being direct; makes you feel more than you know. The limitless quest for the small moments of beauty, and the element of sweet surprise captivates and won't let go.
Ordinary Things is produced by Johnny Sangster (Mudhoney, Posies, The Supersuckers) and Mastered by Ed Brooks (The Decemberists, Fleet Foxes, Pearl Jam), Ordinary Things conjures unassuming moments of beauty through elements such as the vapor trail of a pedal steel guitar, an R&B double-stop guitar riff that would please Curtis Mayfield or Cornell Dupree, and an old-time fiddle and stand-up bass.
Pineola is Americana; a melting pot of Country, R&B, Rock, and Folk. The five-piece band hails from Seattle, WA, but the members are all transplants from small American towns. They bring the Gulf Coast to the Pacific Coast, the Blue Mountains to the Olympic Range, the longleaf pine to the ponderosa.
The songs are written by lead singer Leslie Braly: snapshots documented in delicate layers. Leslie also plays acoustic guitar and is joined by John Owen - guitar, Josh Woods - bass, Dirk Lebsack - drums, and Ed Brooks - pedal steel.
...Pineola may gain acceptance with the Ballard avenue alt-country scene, but their sweet sophistication will surely help them rise above the crowd.
We send out a news letter about once a month.
You won't be bombarded with messages - honest.