text:
package org.apache.activemq.tool;

import java.io.File;
import java.util.Properties;

import junit.framework.TestCase;
import org.apache.activemq.tool.properties.ReflectionConfigurable;
import org.apache.activemq.tool.properties.ReflectionUtil;

public class ReflectionUtilTest extends TestCase {
    public void testConfigurableOption() {
        TestClass5 data = new TestClass5();

        data.willIntercept = true;
        ReflectionUtil.configureClass(data, "this-should-not-matter", "this-should-not-matter");
        assertTrue(data.intercepted);

        data.willIntercept = false;
        data.nest = new TestClass5();
        data.nest.willIntercept = true;
        ReflectionUtil.configureClass(data, "nest.this-should-not-matter", "this-should-not-matter");
        assertTrue(data.intercepted);
        assertTrue(data.nest.intercepted);

        data.willIntercept = false;
        data.nest = new TestClass5();
        data.nest.willIntercept = false;
        data.nest.nest = new TestClass5();
        data.nest.nest.willIntercept = true;
        ReflectionUtil.configureClass(data, "nest.nest.this-should-not-matter", "this-should-not-matter");
        assertTrue(data.intercepted);
        assertTrue(data.nest.intercepted);
        assertTrue(data.nest.nest.intercepted);

        TestClass6 data2 = new TestClass6();
        data2.nestConfig = new TestClass5();
        data2.nestConfig.willIntercept = true;
        ReflectionUtil.configureClass(data2, "nestConfig.this-should-not-matter", "this-should-not-matter");
        assertTrue(data2.nestConfig.intercepted);

        data2.nestNotConfig = new TestClass6();
        data2.nestNotConfig.nestConfig = new TestClass5();
        data2.nestNotConfig.nestConfig.willIntercept = true;
        ReflectionUtil.configureClass(data2, "nestNotConfig.nestConfig.this-should-not-matter", "this-should-not-matter");
        assertTrue(data2.nestNotConfig.nestConfig.intercepted);
    }

    public void testDataTypeConfig() {
        TestClass3 targetObj = new TestClass3();

        // Initialize variables;
        targetObj.setBooleanData(false);
        targetObj.setIntData(0);
        targetObj.setLongData(0);
        targetObj.setShortData((short)0);
        targetObj.setDoubleData(0.0);
        targetObj.setFloatData(0.0F);
        targetObj.setByteData((byte)0);
        targetObj.setCharData('0');
        targetObj.setStringData("false");

        // Set properties
        Properties props = new Properties();
        props.setProperty("booleanData", "true");
        props.setProperty("intData", "1000");
        props.setProperty("longData", "2000");
        props.setProperty("shortData", "3000");
        props.setProperty("doubleData", "1234.567");
        props.setProperty("floatData", "9876.543");
        props.setProperty("byteData", "127");
        props.setProperty("charData", "A");
        props.setProperty("stringData", "true");

        ReflectionUtil.configureClass(targetObj, props);

        // Check config
        assertEquals(true, targetObj.isBooleanData());
        assertEquals(1000, targetObj.getIntData());
        assertEquals(2000, targetObj.getLongData());
        assertEquals(3000, targetObj.getShortData());
        assertEquals(1234.567, targetObj.getDoubleData(), 0.0001);
        assertEquals(9876.543, targetObj.getFloatData(), 0.0001);
        assertEquals(127, targetObj.getByteData());
        assertEquals('A', targetObj.getCharData());
        assertEquals("true", targetObj.getStringData());
    }

    public void testValueOfMethod() {
        TestClass4 targetObj = new TestClass4();

        ReflectionUtil.configureClass(targetObj, "testFile", "TEST.FOO.BAR");

        assertEquals("TEST.FOO.BAR", targetObj.testFile.toString());
    }

    public void testGetProperties() {

        TestClass3 testData = new TestClass3();
        testData.setBooleanData(false);
        testData.setByteData((byte)15);
        testData.setCharData('G');
        testData.setDoubleData(765.43);
        testData.setFloatData(543.21F);
        testData.setIntData(654321);
        testData.setLongData(987654321);
        testData.setShortData((short)4321);
        testData.setStringData("BAR.TEST.FOO");

        TestClass3 targetObj = new TestClass3();
        targetObj.setBooleanData(true);
        targetObj.setByteData((byte)10);
        targetObj.setCharData('D');
        targetObj.setDoubleData(1234.567);
        targetObj.setFloatData(4567.89F);
        targetObj.setIntData(123456);
        targetObj.setLongData(1234567890);
        targetObj.setShortData((short)1234);
        targetObj.setStringData("Test.FOO.BAR");
        targetObj.setTestData(testData);

        Properties p = ReflectionUtil.retrieveObjectProperties(targetObj);
        assertEquals("true", p.getProperty("booleanData"));
        assertEquals("10", p.getProperty("byteData"));
        assertEquals("D", p.getProperty("charData"));
        assertEquals("1234.567", p.getProperty("doubleData"));
        assertEquals("4567.89", p.getProperty("floatData"));
        assertEquals("123456", p.getProperty("intData"));
        assertEquals("1234567890", p.getProperty("longData"));
        assertEquals("1234", p.getProperty("shortData"));
        assertEquals("Test.FOO.BAR", p.getProperty("stringData"));
        assertEquals("false", p.getProperty("testData.booleanData"));
        assertEquals("15", p.getProperty("testData.byteData"));
        assertEquals("G", p.getProperty("testData.charData"));
        assertEquals("765.43", p.getProperty("testData.doubleData"));
        assertEquals("543.21", p.getProperty("testData.floatData"));
        assertEquals("654321", p.getProperty("testData.intData"));
        assertEquals("987654321", p.getProperty("testData.longData"));
        assertEquals("4321", p.getProperty("testData.shortData"));
        assertEquals("BAR.TEST.FOO", p.getProperty("testData.stringData"));

    }

    public void testNestedConfig() {
        TestClass3 t1 = new TestClass3();
        TestClass3 t2 = new TestClass3();
        TestClass3 t3 = new TestClass3();
        TestClass3 t4 = new TestClass3();
        TestClass3 t5 = new TestClass3();

        ReflectionUtil.configureClass(t1, "stringData", "t1");
        assertEquals("t1", t1.getStringData());

        t1.setTestData(t2);
        ReflectionUtil.configureClass(t1, "testData.stringData", "t2");
        assertEquals("t2", t2.getStringData());

        t2.setTestData(t3);
        ReflectionUtil.configureClass(t1, "testData.testData.stringData", "t3");
        assertEquals("t3", t3.getStringData());

        t3.setTestData(t4);
        ReflectionUtil.configureClass(t1, "testData.testData.testData.stringData", "t4");
        assertEquals("t4", t4.getStringData());

        t4.setTestData(t5);
        ReflectionUtil.configureClass(t1, "testData.testData.testData.testData.stringData", "t5");
        assertEquals("t5", t5.getStringData());
    }

    public class TestClass1 {
        private boolean booleanData;
        private int intData;
        private long longData;

        public boolean isBooleanData() {
            return booleanData;
        }

        public void setBooleanData(boolean booleanData) {
            this.booleanData = booleanData;
        }

        public int getIntData() {
            return intData;
        }

        public void setIntData(int intData) {
            this.intData = intData;
        }

        public long getLongData() {
            return longData;
        }

        public void setLongData(long longData) {
            this.longData = longData;
        }
    }

    public class TestClass2 extends TestClass1 {
        private float floatData;
        private byte byteData;
        private char charData;

        public float getFloatData() {
            return floatData;
        }

        public void setFloatData(float floatData) {
            this.floatData = floatData;
        }

        public byte getByteData() {
            return byteData;
        }

        public void setByteData(byte byteData) {
            this.byteData = byteData;
        }

        public char getCharData() {
            return charData;
        }

        public void setCharData(char charData) {
            this.charData = charData;
        }
    }

    public class TestClass3 extends TestClass2 {
        private short shortData;
        private double doubleData;
        private String stringData;
        private TestClass3 testData;

        public short getShortData() {
            return shortData;
        }

        public void setShortData(short shortData) {
            this.shortData = shortData;
        }

        public double getDoubleData() {
            return doubleData;
        }

        public void setDoubleData(double doubleData) {
            this.doubleData = doubleData;
        }

        public String getStringData() {
            return stringData;
        }

        public void setStringData(String stringData) {
            this.stringData = stringData;
        }

        public TestClass3 getTestData() {
            return testData;
        }

        public void setTestData(TestClass3 testData) {
            this.testData = testData;
        }

        public TestClass3 getRecursiveData() {
            return this;
        }
    }

    public class TestClass4 {
        private File testFile;

        public String getTestFile() {
            return testFile.toString();
        }

        public void setTestFile(String testFile) {
            this.testFile = new File(testFile);
        }
    }

    public class TestClass5 implements ReflectionConfigurable {
        public boolean intercepted;
        public boolean willIntercept = true;
        public TestClass5 nest;

        public void configureProperties(Properties props) {
            // Do nothing
        }

        public Properties retrieveProperties(Properties props) {
            return null;
        }

        public boolean acceptConfig(String key, String val) {
            intercepted = true;

            return !willIntercept;
        }

        public TestClass5 getNest() {
            return nest;
        }

        public void setNest(TestClass5 nest) {
            this.nest = nest;
        }
    }

    public class TestClass6 {
        public TestClass6 nestNotConfig;
        public TestClass5 nestConfig;

        public TestClass6 getNestNotConfig() {
            return nestNotConfig;
        }

        public void setNestNotConfig(TestClass6 nestNotConfig) {
            this.nestNotConfig = nestNotConfig;
        }

        public TestClass5 getNestConfig() {
            return nestConfig;
        }

        public void setNestConfig(TestClass5 nestConfig) {
            this.nestConfig = nestConfig;
        }
    }
}


As the sale of dog and cat fur is condemned and banned in countries like the United States, Australia and in the EU, the Asian fur industry attempts to conceal the truth by deliberately mislabeling furs. Examples of misleading labels for dog fur is Asian jackal, Asiatic racoonwolf, Asian wolf, Corsak, Corsak fox, Dogaskin, Dogue of China, Finnracoon, Fox of Asia, Gae wolf, Gubi, Kou pi, Lamb skin, Murmanski, Nakhon, Pemmern wolf, Sakhon, Sobaki and Special skin. Even if a fur garment's label says it was made in a European country, the animals were likely raised and slaughtered elsewhere - possibly on aChinese fur farm.
This extremely cruel industry will only end when the public refuses to buy fur. The best way is to avoid buying fur completely. After all – the fur looks much better on the animal!


text:
Google said to be working on Android 4.3 for Google I/O, another Jelly Bean build
Android Software updates
Published: Apr 27, 2013, 12:52 PM
Alan F.
Imagine ordering desert at a restaurant and instead of getting the slice of key lime pie you've ordered, you get a bowl of jelly beans instead. You would be disappointed, right? Well, something quite similar is apparently taking place in the world of Android where server logs are showing that instead of rolling out Android 5.0 Key Lime Pie at the Google I/O developer event next month, Google might send out a substitution, Android 4.3 Jelly Bean.
Just a few days ago, speculation intensified that Android 5.0 would not be making its debut at Google I/O. A "J" designation seen next to the Android 4.3 build on the server logs seems to confirm that the next version of android released will continue to be Jelly Bean. And for those who want to doubt the authenticity of the server logs, the IP addresses connected to the Android 4.3 build are said to be coming from inside Google.
Why the delay? It has been thought that Google's hardware partners are not happy with the prospect of being one full point-0 version behind the times. With the delay, manufacturers will have time to get Android 4.2.2 pushed out to their devices first. Last week, there were rumors spreading that the only new phone related item expected at Google I/O this year will be a 32GB variant of the Google Nexus 4, with support for LTE connectivity. While that would certainly make a large number of Android fans happy, there are even a larger number expecting to see Android 5.0 and some earth shattering phone introduced, like a Motorola X or LG Megalodon.
Before you jump, there is also the possibility that Google is trying to fake everyone out and Key Lime Pie is coming next month along with an outrageously spec'd phone. We will all know for sure very soon.
source: TechnoBuffalo via RedmondPie
Server logs seem to be showing Android 4.3 with the "J" designation for Jelly Bean

redpajama_set_name: RedPajamaCommonCrawl


text:
Hòa Bình hosts culture and tourism week
HÀ NỘI — A series of cultural and tourism activities will be held at Hòa Bình Culture and Tourism Week 2019 from December 6 to 12.
Lác Village is one of the most appealing tourist spots in Mai Châu, Hòa Bình Province. Photo maichaubanlac.com
The week aims to honour the cultural values in the northern province of Hòa Bình and strengthen tourism and cultural development, according to the organisation board at the press conference held in Hà Nội this week.
"Hòa Bình has abundant natural resources and is the cradle of traditional culture," said Nguyễn Văn Chương, deputy chairman of the provincial People's Committee at the conference.
"With many unique cultural heritages which will boost tourism development, such as eco-tourism and heritage tourism, we hope the week will create opportunities and motivations for tourism businesses to introduce new products, promote tourism investment and expand local product consumption markets."
As an ancient land, the residents in the province consist mainly of the Mường ethnic minority and various other ethnic groups, such as the Thái and Tày.
This contributes a lot to the cultural diversity of this mountainous province as well as the development of its tourism industry.
The week will open with a concert at Hòa Bình Square at 7pm featuring performances by pop singers and traditional artists of the province.
Many activities will take place such as a street parade; performances; beauty contest, photo exhibition and food.
The beauty contest will be a highlight of the week.
Twenty-five contestants will present traditional costumes and evening gowns during the final night on December 9. The top five will take part in a question and answer session to crown Miss Mường.
Along with that, a number of tourism programmes will also be held to promote exchange between tourism companies.
The province has received 2.5 million visitors since the beginning this year, reaching 83 per cent of the annual plan. Of which, international visitors reached 290,000.
The total revenue from tourists is estimated at VNĐ1.650 trillion (US$71 million) reaching 82.5% of the annual plan. VNS
cultural and tourism exchanges
Vietnamese Zen Master Thích Nhất Hạnh dies at 95 (January, 22 2022)
Mai Vàng award honours veteran artist Kim Cương (January, 22 2022)
Tiger images in antiques displayed (January, 22 2022)
Nhật Tân peach village blooms ahead of Tết (January, 22 2022)
List of new national intangible cultural heritages and relics announced (January, 21 2022)
Enjoying happiness and safety in Việt Nam (January, 20 2022)
How virtual learning prepares students for the future that does not yet exist
Nom, nom, Vietnam - Episode 90: Stir-fried noodles1
Nom, nom, Vietnam - Episode 89: Noodles with duck


text:
Q: How to find grandchildren? I'm trying to find all the grandchildren for a specific id, but I can't seem to get my joins correct. The below code works, but it I need to get the products associated with it from the products table.
SELECT b.category_id, b.category_name, b.parent, a.parent
FROM categories AS a, categories AS b
WHERE a.category_id = b.parent AND a.parent = 119

When I try to JOIN the products table I keep getting an error:
SELECT *
FROM products p
INNER JOIN products_categories pc
ON p.product_id = pc.product_id
INNER JOIN (
      SELECT b.category_id, b.category_name, b.parent, a.parent
      FROM categories AS a, categories AS b
      WHERE a.category_id = b.parent AND a.parent = 119
      )x

My desired result would be to have the following: (NOTE: Check out my SQL Fiddle to see the schema in code view)
(76, 'BR134', 'LEA530664', 'ITEM1234', 1499.99, 'yes', 'This is a nice gun'),
(77, 'mZCXGT', 'LEA471061', 'qwer345', 89.99, 'yes', 'Testing!'),
(78, 'ert', 'LEA023991', 'asdf34', 129.99, 'yes', 'Another test to get this right!'),
(79, 'model test', 'LEA355935', 'item test', 119.99, 'yes', 'This is another test dammit!'),
(80, 'CZV1354', 'LEA741837', 'LI-1234', 1299.99, 'yes', 'This is a hipoint weapon!'),
(81, 'PINK12G', 'LEA008558', 'PINK-SHG', 89.99, 'yes', 'YEP! This is pink!'),
(82, 'BOWTECH', 'LEA762521', 'asdf', 899.99, 'yes', 'This is a test!'),
(83, 'LX32', 'LEA346903', 'MADEUP', 1499.99, 'yes', 'This is Carters gun.');

SQL Fiddle:
http://sqlfiddle.com/#!2/dd66c/2
Here's my schema:

A: I think you are looking for this (I have added category names for "debuggability"):
SELECT
  p.product_id
, p.model
, p.sku
, p.item_number
, p.msrp
, p.availability
, p.description
, grand_child.category_name AS grand_child_category
, child.category_name AS child_category
, parent.category_name AS parent_category
FROM categories parent
INNER JOIN categories child
ON parent.category_id = child.parent
INNER JOIN categories grand_child
ON child.category_id = grand_child.parent
INNER JOIN products_categories pc
ON grand_child.category_id = pc.category_id
INNER JOIN products p
ON p.product_id = pc.product_id
WHERE parent.category_id = 119

redpajama_set_name: RedPajamaStackExchange


Here is a Zebco Cardinal 4 Spinning Reel, made in Sweden with a 1975 serial number, new in the box. It comes with the Zebco Wrench, Oil Bottle, Manual, and Spare Spool as issued by Zebco. Everything is mint and as new condition, although the box is a little rough with a few tears and creases. There are also a couple of scotch tape repairs inside the box where they are not visible. The item "Vintage Zebco Cardinal 4 Reel New in Box" is in sale since Saturday, June 30, 2018. This item is in the category "Sporting Goods\Fishing\Vintage\Reels\Spinning Reels". The seller is "northdumfries" and is located in Ridgeway, Ontario.


text:
World Swastika Rehabilitation Day on June 26
World Swastika Rehabilitation Day (WOSRED) will be celebrated on June 26 through marches and informative events worldwide.
WOSRED was launched last year by Rael, spiritual leader of the IRM, in order to educate people about the true meaning of peace and harmony of the swastika, this ancient symbol regretfully hijacked by the Nazis.
Raelians are often questioned about their symbol, in which a swastika intertwines with two overlapping triangles that form a six-pointed star. People, especially those of Jewish origin, obviously disturbed to see a swastika intertwined with a Star of David, change their perception when they're told it was used for millennia and is still used today by many peaceful religious groups, especially in Asia.
On June 26, the organizers are expecting hundreds, or, hopefully, thousands of people to celebrate World Swastika Rehabilitation Day in the streets of Miami, Houston, San Francisco, Los Angeles and New York in the United States; in Vancouver and Toronto in Canada; in Sydney, Melbourne, Brisbane and Perth in Australia; in Zacatecas, Veracruz and Mexico City in Mexico; in Milan, Italy; Lyon, France; and Rotterdam, Holland.
The Proswastika group initiated by Rael now includes Buddhists and Hindus, who have used the swastika as a symbol since the very beginning of their religions.
"No one should be surprised to see the swastika as a revered symbol in most religious groups because it's part of the symbol given to us by the human scientists from another planet who created us, the Elohim – those who are at the origin of all religions," Brigitte Boisselier explains. "They gave the Raelian symbol to Rael when they met with him in 1973 (see rael.org), just as they gave it to all the prophets of the past. That's why we can find traces of this symbol on every continent and in every culture, not only in Asia with the Buddhists and Hindus, but in America with the Native Americans and Aztecs; in Europe with the Celts and the Greeks; and even in Israel, where you can see it in some of the temples."


Even though most people just like MOAR exhaust pipes (the bigger the better!) this set of pipes do not ruin the car it its drift environment.
You can read more about this Soarer (and see more pics) on Speedhunters!


text:
Comedian Ali Siddiq Goes from Jail to Jokes 0
20 years ago comedian Ali Siddiq served six years in the Texas state penitentiary, and now he's returning to the cellblock for his new Comedy Central standup special Ali Siddiq: It's Bigger Than These Bars. On today's podcast, Ali talks about the incident that landed behind bars, and why he says "mental prison" is far worse than physical prison. He discusses how he started his comedy career by telling funny stories to his fellow prisoners, how he convinced the Bell County Jail to let him back in for his new standup special, and some of the surprising changes he saw in both the inmates and their guards. He recalls starting out in showbusiness on the modern day equivalent of the "chitlin' circuit," reveals why his favorite comics are all old white guys, and answers which is the tougher audience…comedy club-goers or hardened criminals.
Ali Siddiq: It's Bigger Than These Bars premieres on Friday, February 23 at 11:00 p.m. Eastern on Comedy Central. Check out Ali's upcoming live dates at www.alisiddiq.com and follow him on Twitter at @Ali_Speaks. Today's podcast was sponsored by Google Cloud Platform, Grasshopper, SeatGeek, and Adiamor.com.


All of the sealer is carefully stripped before the glass beading process. 1966 GT350 Shelby Mustang.
1966 Shelby SFM6S933 is another project in the shop at Maple Hill Restoration. We have other posts on the Blog here about the car. Just to recap, like all of the cars, we will be involved with the research and, of course, will be supplying the parts for this project. This is a fantastic, rust free car, but was painted white at one time. When Jeremy picked it up from the customer, it had already been disassembled. Fortunately, many of the original parts are in super condition and everything was saved.
After working on some other projects that we have posted about here on our Blog, Jeremy is back on this car with the goal of completely glass beading it and getting it in primer. During this process, all of the primer colors, sealers, paint patterns, markings, etc. are carefully documented. All mounting holes, particularly for the sheet metal screws are checked and repaired if needed during this process also. This make reassembly a whole lot easier!
We have tons of pictures. This is the first post about this process, so please subscribe to our Blog to keep checking out the process.
This is a Sapphire Blue GT350 without LeMans stripes. Fortunately, there is a lot of nice original paint on the dash. It is being carefully saved in order to match the exact original color.
Take a look at the captions for more information and be sure to check out our next post showing the red primer underside colors along with some original markings.
Sealer and sound deadener locations are carefully documented during the stripping process. 1966 GT350 Shelby Mustang.
This 1966 GT350 Shelby Mustang is a super car - very clean and rust free.
Sheet metal holes that have been checked and/or repaired are marked as finished. 1966 GT350 Shelby Mustang.
This shot shows the exhaust reinforcement sections on the rear floor area. These are originally found on factory dual exhaust Mustangs. 1966 GT350 Shelby Mustang.
The floors are just super nice in this car. 1966 GT350 Shelby Mustang.
The nice original Sapphire Blue paint is taped up during the glass beading process. This area will be used to match the paint. 1966 GT350 Shelby Mustang.
The cowl area is nice but will be carefully cleaned. 1966 GT350 Shelby Mustang.
It is very interesting to note the traces of yellow paint under the dash near the area where the export brace is attached on the other side at the cowl. We have seem this yellow paint on several '65 and '66 GT350s. 1966 GT350 Shelby Mustang.


text:
Me, Myself & Irene (br: Eu, Eu Mesmo e Irene; pt: Ela, Eu e o Outro) é um filme de comédia e humor negro americano de 2000, dirigido pelos irmãos Bobby e Peter Farrelly e estrelado por Jim Carrey e Renée Zellweger. A trilha sonora do filme é composta por Pete Yorn, Lee Scott e Stewart Copeland.

Sinopse

O narrador (Rex Allen Jr.,) conta a história de Charlie Bailegaytes (Jim Carrey), um policial veterano que trabalha há 18 anos na força policial de Rhode Island. Trabalhador, honesto e sempre disposto a ajudar o próximo, Charlie não é respeitado pelos cidadãos, mas nunca deixa que isso o importune. No passado, ele foi traído pela esposa Layla, que o trocou por Shonté, um motorista anão e com um QI alto como o dela. Seus amigos tentaram lhe alertar, mas Charlie se negou a acreditar na traição. Meses depois, Layla deu à luz a trigêmeos negros, mas Charlie se apegou tanto as crianças que não quis acreditar no óbvio. Quando os garotos estavam com 9 anos, Layla foi embora com o amante, deixando os filhos com o marido. Mesmo desolado, Charlie decidiu criar Jamaal, Lee Harvey e Shonté Jr. com muito amor e dedicação.

O abandono da esposa, fez Charlie ficar tão abalado emocionante, a ponto de deixar as pessoas o usarem e se aproveitaram de sua boa vontade. Tantos anos de abuso psicológico, fizeram com
que Charlie passsase a  sofrer de  Transtorno dissociativo de identidade (TDI), a popular "Dupla Personalidade". Se ele deixar de tomar seu remédio, vem à tona sua segunda personalidade, Hank Evans, que é beberrão, fumante compulsivo, mal-educado, tarado e agressivo, ou seja, o total oposto de Charlie.

Sentindo que Charlie precisa de férias, seu oficial o escolta para proteger a bela Irene Waters (Renée Zellweger), uma jovem ameaçada pelo ex-namorado mafioso Dickie, chefe de uma quadrilha criminosa. A missão de Charlie era apenas levar Irene em segurança até Massena (Nova Iorque), mas, ao chegarem lá, um assassino, contratado por Dickie para se livrar de Irene, mata dois agentes da Agência de Proteção Ambiental dos Estados Unidos (EPA), forçado ela e Charlie a fugirem. A partir daí, os dois passam a ser perseguidos por agentes federais, pelo próprio Dickie e também por Gerke, um detetive de polícia corrupto. Eles ainda fazem amizade com o jovem albino Whitney (Ou, o "Leitoso"). Durante a viagem, Charlie ainda esquece seu medicamento especial em um hotel, fazendo o rival Hank aparecer toda hora e o colocar em situações  hilárias. Quando os dois se apaixonam pela mesma mulher (Irene), passam a lutar simultaneamente para ter o domínio total do mesmo corpo.

Elenco
 Jim Carrey - Charlie Baileygates / Hank Evans
 Renée Zellweger - Irene P. Waters
 Chris Cooper - Tenente Gerke
 Richard Jenkins - Agente Boshane
 Robert Forster - Coronel Partington
 Daniel Greene - Dickie Thurman
 Michael Bowman - Gaspar (Whitey / Leitoso)
 Anthony Anderson - Jamaal Baileygates
 Mongo Brownlee - Lee Harvey Baileygates
 Jerod Mixon - Shonté Jr. Baileygates
 Zen Gesner - Agente Peterson
 Rob Moran - Trooper Finneran
 Mike Cerrone - Oficial Stubie
 Ezra Buzzington - Sr. Murphy
 Traylor Howard - Layla Baileygates Jackson
 Tony Cox - Shonté Jackson
 Richard Tyson - Dono da loja de Armas
 Anna Kournikova - Ela mesma

Recepção da crítica
Me, Myself & Irene tem recepção mista por parte da crítica especializada. Com o tomatometer de 48% em base de 97 críticas, o Rotten Tomatoes publicou um consenso: "Enquanto as habilidades cômicas de Jim Carrey garantem alguns risos, Me, Myself and Irene possui um lote insatisfatório e cansado". Por parte da audiência do site tem 57% de aprovação.

Principais prêmios e indicações
MTV Movie Awards 2001 (EUA)
 Indicado na categoria de Melhor Atuação em Comédia (Jim Carrey).

Trilha sonora
 "Breakout" - Foo Fighters
 "'Do It Again" - Smash Mouth
 "Deep Inside of You" - Third Eye Blind
 "Totalimmortal" - The Offspring (cover de AFI)
 "The World Ain't Slowin' Down" - Ellis Paul
 "Any Major Dude Will Tell You" - Wilco
 "Only a Fool Would Say That" - Ivy
 "Can't Find the Time to Tell You" - Hootie & The Blowfish
 "Bodhisattva" - Brian Setzer Orchestra
 "Bad Sneakers" - The Push Stars
 "Reelin' in the Years" - Marvelous 3
 "Strange Condition" - Pete Yorn
 "Barrytown" - Ben Folds Five
 "Razor Boy" - Billy Goodrum
 "Where He Can Hide" - Tom Wolfe
 "Fire LikeThis" (We're gonna rock you) - Hardknox

Ligações externas

Filmes com trilha sonora de Stewart Copeland
Filmes dos Estados Unidos de 2000
Filmes de comédia da década de 2000
Filmes de comédia dos Estados Unidos
Filmes de estrada
Filmes dirigidos pelos irmãos Farrelly
Filmes ambientados em Rhode Island
Filmes gravados em Rhode Island
Filmes da 20th Century Studios
Transtorno dissociativo de identidade em filmes
Filmes em língua inglesa
Filmes gravados em Vermont

redpajama_set_name: RedPajamaWikipedia


text:
About Bill Taylor
Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.
Bill Taylor brings a successful record of accomplishment of piloting diverse businesses into new markets and driving consistent top-line revenue growth for firms and companies throughout the United States and internationally. Recognized as an outstanding business coach and consulting professionals, Taylor is a dynamic executive and leader who has experience building businesses. With domestic and international experience in both the public and private sectors, Bill Taylor applies over four decades of business expertise with his unique global perspective to tackle and solve business challenges with business owners and professionals. Today, Bill Taylor is the founder of Corporate Ladders, a business coaching, consulting, and training firm specializing in top-line practice and business revenue growth, and leadership development. Corporate Ladders is a member of the New Jersey Law Journal "Hall of Fame" for its recognition as the Top Business Development training firm for 2017, 2018, and 2019. Bill Taylor is a featured speaker at conferences such as the NJ CPA Annual Convention and corporate events nationwide and is a contributing columnist for multiple publications, including the New Jersey Law Journal, Consulting Magazine, Accounting Today, Phone+ Magazine, and Inside Outdoor magazine.
Bill Taylor previously held the position of Senior Vice President of Sales and Marketing for Election, Inc. with worldwide P&L responsibility. While at Election, Inc., Bill Taylor was the leading spokesperson for deployment and implementation of election systems and was a guest speaker on US television and radio while also speaking at events worldwide. Under his leadership, the firm experienced rapid top-line revenue growth from $1 million to $30 million in 24 months, providing online voting and election services worldwide to private and public-sector entities. Clients included the Arizona Democratic Party, the Democratic National Committee, the city of Brest, France, and numerous private unions and associations. Before joining Election, Inc., Taylor was an Internet pioneer as Senior Director of Business Development for Prodigy Internet, helping develop, launch, and support Internet-delivered products for small and medium-sized businesses.
Before Prodigy, Bill Taylor founded Millennium Graphix, a full-service marketing communications company specializing in value-added creative services for unique corporate marketing programs. Before Millennium Graphix, Taylor was Director of National Account Sales for AT&T Wireless (McCaw Cellular), a leader in wireless and cellular communications. While at AT&T Wireless, Taylor built a world-class sales organization to market advanced wireless communications products to Fortune 100 clients.
Before joining AT&T Wireless, Taylor was General Manager of Executone Information Systems, with P&L responsibility for one of the largest field business units.
Early in his career, Taylor was a Division General Manager for IBM Corporation, with P&L responsibility for $700 million and over 1,600 employees.
Taylor attended Fordham University and has participated in numerous courses, including advanced general and financial management at Kellogg School of Management, strategic and consultative selling, and myriad others. As the founder of Corporate Ladders, Taylor has designed, developed, and delivered hundreds of training programs worldwide.
Sign up for our Newsletter and we'll send you a complimentary copy of: "The six silver bullets to quickly grow any business" e-book.


text:
Via The Daily Hodl: "Why Tron's (TRX) Founder Paid More Than a Hundred Million Dollars for BitTorrent"
June 21, 2018 Brian in Chicago Implementation, Tron, Uncategorized Leave a comment
I read this and the immediate impression I get is, "the behaviors we engage in on an everyday level is going to fundamentally change."
DYOR, and be well, Everyone.
Why Tron's (TRX) Founder Paid More Than a Hundred Million Dollars for BitTorrent
Tron founder Justin Sun made waves with the announcement that he bought the pioneer file-sharing platform BitTorrent.
And now it's clear just how much he paid for it. According to a new report from Tech Crunch, the acquisition came with a hefty price tag: $140 million. So was it worth it?
BitTorrent is a peer-to-peer file-sharing protocol that allows people around the world to easily download large files. As users download a file, they also begin sharing it with others, simultaneously powering the network in a reliable and ingenious way.
The BitTorrent desktop app burst onto the scene after its release in 2001, and quickly became notorious for its use as a tool for downloading pirated videos and music. Throughout the years, BitTorrent, Inc. survived numerous attempts to shut it down, namely because the platform doesn't inherently promote illicit material or help users find it. It simply provides a way to download files.
So how can Tron take advantage of it?
For starters, BitTorrent claims its monthly user base is 170 million people. That's a worldwide audience that could gain exposure to Tron, one way or another.
As for how Tron can actually utilize BitTorrent, Tech Crunch says it extracted a couple of interesting clues from a BitTorrent shareholder.
"First, it will be used to 'legitimize' Tron's business, which has met with some controversy: it has been accused of plagiarising FileCoin and Ethereum in the development of its technology.
And second, as a potential network to help mine coins, using BitTorrent's P2P architecture and wide network of users."
It's easy to see how Sun's purchase of BitTorrent could in and of itself help Tron gain notoriety and attention in the mainstream. As for BitTorrent serving as a new feature for mining cryptocurrency, it's certainly possible. But there is a catch.
The statement from the shareholder implies that BitTorrent's desktop app could mine cryptocurrency while its users download files. But they won't be mining TRX, Tron's native cryptocurrency. That's because all TRX coins were pre-mined when the project was in its infancy.
Another possible use case for BitTorrent is that it will be used to distribute files on the Tron network.
Among a long list of objectives, Tron promises to deliver a way for content creators to publish and monetize their creations, using the blockchain to establish proof of ownership. So BitTorrent could be used as a portal where visitors download videos and music certified by the Tron blockchain. This could be offered as a free addition to what BitTorrent already does, or users could pay to access the content.
Exactly how Tron will utilize BitTorrent to maximize its exposure in the mainstream remains to be seen. But the purchase is certainly creating a lot of possibilities and raising eyebrows about how legacy platforms can be integrated into blockchain networks.
Follow Tiny Crypto Blog on blockchain blogging platform Steemit
Follow Tiny Crypto Blog on YouTube
are cryptocurrencies the futureblockchain implementationTrontrx
Previous Post: Documentary Series: "Bitcoin: Beyond The Bubble"
Next Post: Interview: Mike Novogratz Talks Cryptocurrencies and Regulation on Bloomberg Television


The mobile website solution for your event.
Guests get sent an SMS or email containing a personalised link to their own mobile companion. This gives your guests access to a whole toolbox of options which can be customised to suit the type of industry your in.
While an awards dinner might include their table number and who else is at their table, the ability to connect with colleagues and swap contact details, or a menu ordering option.
At a sporting event, there might be access to VIP catering, or synchronised crowd participation quizes, as well as ordering drinks to be delivered to your seat.
If you have other ideas we can make them happen too.
As with all Satellite Tag solutions, all the interactions managed within the mobile companion contribute to the data collected at your event. Data can be displayed via the advanced real-time reporting dashboard, helping event organisers understand their event and guests better and enabling decisions for future events to be based on real insights.


The Equipment Remote Control System provides centralised remote control of any type of communications equipment and enables the effective control and monitoring of its working parameters. It can be an effective solution in naval vessel refit programs or when adding new equipment that, for any reason, cannot be integrated in the existing communications control systems. The adoption of such system considerably reduces the ship's cabling.
The system is composed of Remote Front-End Units, providing the necessary remote control interfaces to the communications equipment and Control Computers (CC), enabling a single operator to take care of the full control and supervision of the system.


I grew up in Petaluma, CA. A small town famous for its chickens and cows. I have been teaching at Van Ness for less than one year. The most important thing my students have taught me is everyone has a story to tell, and patience is the key to learning and teaching. My favorite thing about Van Ness is the welcoming community of positivity and respect that the staff and students create on a daily basis. What makes Van Ness Elementary unique and special is the superb level of the integration. This school embraces its diversity and differently-abled children with its whole heart.Van Ness is the school that opened my eyes to being a special education teacher. The students and staff at this school inspired me to pursue a special education career.
What I love most about my job is helping my students reach their potential academically, socially, and vocationally. I always strive to prepare them for the world as successful global citizens of society. My students inspire me. They teach me new lessons and always have interesting perspectives everyday. I would describe my teaching style as activity-style. I love to promote self-learning and exploration in my classroom. I also focus on modeling the behaviors that I expect from my students daily.


text:
2015 FINA Junior World Championships: Day 6 Prelims Live Recap
With a new personal best time, Canada's Taylor Ruck topped the prelims of the women's 200 free in 1:59.34. Her previous best was a 1:59.79 from 2015 U.S. Junior Nationals. Current photo via Adrian Seetho/Singapore Swimming Association
2015 FINA World Junior Championships
Event PageMeet Information Results Live Stream Meet Site
More 2015 FINA World Junior Championships
2015 FINA World Junior Championships: Day 6 Highlight Video
In the finals of the women's 200 breast, Turkey's Viktoria Gunes put on a performance that was perhaps the most impressive swim of the entire meet.
2015 FINA Junior World Championships: Day 4 Highlights Video
Day 4 of 2015 FINA Junior World Championships proved to be a big day for Turkey's Viktoria Gunes. She won both the 100m breast and 200m IM in Singapore, as part of a night that saw 5 records fall.
2015 FINA Junior World Championships: Day 6 Finals Live Recap
In the finals of the women's 200 breast, Turkey's Viktoria Gunes obliterated the Junior World Record with a 2:19.64, closing in on Rikke Moeller Pedersen's World Record of 2:19.11.
Andrew, Gunes Earn FINA Swimmer Of The Meet Honors
Michael Andrew earned FINA male swimmer of the meet honors after winning 5 medals and swimming 25 races in the 6 day competition
Kyle Chalmers Ticking All the Boxes As New Aussie Sprint Star
Australia's Kyle Chalmers is ticking all of the boxes to become the next new sprint star in Australia.
Lauren Neidigh
by Lauren Neidigh 28
August 29th, 2015 Asia, Australia, Brazil, Latin America & Caribbean, Britain, Canada, Europe, FINA Junior World Championships, International, News, Previews & Recaps
Share 2015 FINA Junior World Championships: Day 6 Prelims Live Recap on Facebook
Tweet 2015 FINA Junior World Championships: Day 6 Prelims Live Recap
Submit 2015 FINA Junior World Championships: Day 6 Prelims Live Recap to Reddit
Share 2015 FINA Junior World Championships: Day 6 Prelims Live Recap on Pinterest
Share 2015 FINA Junior World Championships: Day 6 Prelims Live Recap on LinkedIn
2015 JUNIOR WORLD SWIMMING CHAMPIONSHIPS
Tuesday, August 25th – Sunday, August 30th
OCBC Aquatic Centre, Singapore
Prelims 10 am (GMT+8)/ in USA = previous day 10 pm EDT, 7 pm PDT
Finals 6 pm (GMT+ 8)/ in USA = 6 am EDT, 3 am PDT
Meet Website
'Live' Stream – EuroVision
MEN'S 200 BACK
WR: 1:51.92 Aaron Piersol (USA) 31 JUL 2009 Rome (ITA)
WJ: 1:56.79 Li Guangyuan (CHN) 7 AUG 2015 Kazan (RUS)
CR: 1:57.92 Luca Mencarini (RUS) 31 AUG 2013 Dubai (UAE)
Britain's Luke Greenbank looked smooth through his prelims heat, easily taking the top seed in 1:58.90. The only other sub-2:00 this morning was USA's Austin Katz, who won a tight battle with Spain's Hugo Gonzalez, 1:59.52 to 2:00.03.
Italy's Jacopo Bietti (2:00.32), Russia's Roman Larin (2:00.37), and Poland's Jakub Skierka (2:00.76) were the next 3 into the final.
USA's Michael Taylor won his circle seeded heat, but wound up just 7th overall in 2:00.78. At the cutoff line for the top 8 was Australia's Tristan Ludlow (2:01.61).
Missing the final was Canada's Markus Thormeyer, 9th in 2:01.76.
Top 8: Greenbank (GBR), Katz (USA), Gonzalez (ESP), Bietti (ITA), Larin (RUS), Skierka (POL), Taylor (USA), Ludlow (AUS).
PDF Results.
WR: 2:19.11 Rikke Moeller Pedersen (DEN) 1 AUG 2013 Barcelona (ESP)
WJ: 2:22.66 Viktoria Gunes (TUR) 5 JUL 2015 Vichy (FRA)
CR: 2:23.12 Viktoriya Solntseva (UKR) 31 AUG 2013 Dubai (UAE)
Turkey's Viktoria Gunes, Junior World Record holder in this event, looked strong through prelims of the 200 breast. She posted a 2:24.47 to lead the field heading into finals.
Gunes was almost 2 full seconds ahead of the next fastest qualifier, Britain's Georgia Coates (2:26.42). Coates won a won a race that came down to the wire in heat 4, narrowly ahead of Russia's Mariia Astashkina (2:26.59). Also qualifying out of that heat was Italy's Verona Giulia (2:27.25).
Britain, Russia, and Japan all got 2 into the final. Coates' teammate Katie Matts (2:27.39) took 5th overall. Russia's Sofia Andreeva (2:28.03) made it in at 7th. Japan's Runa Imai (2:27.86) was 6th, and her teammate Yukino Miyasaka (2:30.39) closed out the top 8.
Top 8: Gunes (TUR), Coates (GBR), Astashkina (RUS), Verona (ITA), Matts (GBR), Imai (JPN), Andreeva (RUS), Miyasaka (JPN).
WR: 1:51.51 Michael Phelps (USA) 29 JUL 2009 Rome (ITA)
WJ: 1:55.92 Andrew Seliskar (USA) 27 AUG 2014 Maui (USA)
CR: 1:56.42 Andrew Seliskar (USA) 31 AUG 2013 Dubai (UAE)
There were 4 men under 2:00 through prelims of the mens 200 fly, led by Japan's Nao Horomura in 1:58.77. He'll swim next to Russia's Daniil Pakhomov, who took the 2nd seed at 1:58.96, in the final tonight. Pakhomov looked strong through 150 meters, and looked like he shut it down in the closing 50 with a 31.97 split. Those two are the favorites in the battle for gold tonight.
USA's Mike Thomas had the fastest 1st 100 of the morning, turning at 55.28. He faded quite a bit on the last 50 to finish in 33.05, but nonetheless held on for 3rd overall with a 1:59.63. Bulgaria's Antani Ivanov (1:59.71) dipped under 2 minutes for 4th.
Hungary's Mark Tekauer (2:00.02), New Zealand's Wilrich Coetzee (2:00.15), and Italy's Giacomo Carini (2:00.29) will compete in the final tonight. Joining them will be USA's Zach Harting. Harting edged into the final at 2:00.41, pushing Russia's Daniil Antipov (2:00.47) to 9th.
Top 8: Horomura (JPN), Pakhomov (RUS), Thomas (USA), Ivanov (BUL), Tekauer (HUN), Coetzee (NZL), Carini (ITA), Harting (USA).
WOMEN'S 200 FREE
WR: 1:52.98 Federica Pellegrini (ITA) 29 JUL 2009 Rome (ITA)
WJ: 1:55.16 Katie Ledecky (USA) 07 AUG 2014 Irvine (USA)
CR: 1:58.93 Brittany MacLean (CAN) 21 AUG 2011 Lima (PER)
With a new personal best time, Canada's Taylor Ruck topped the prelims of the women's 200 free in 1:59.34. Her previous best was a 1:59.79 from 2015 U.S. Junior Nationals.
Also under 2:00 this morning was USA's Hannah Cox (1:59.52) and Japan's Sachi Mochida (1:59.89), claiming the 2nd and 3rd spots for finals. Italy's Rachele Ceracchi (2:00.77) came in behind them in heat 7 for 4th.
Both Russians made it into the final. Arina Openysheva landed 5th overall in 2:01.23, while her teammate Daria Mullakaeva (2:01.48) wound up 7th. Finishing between them was Brazil's Rafaela Raurich (2:01.40). Britain's Holly Hibbott rounded out the top 8 in 2:01.71.
Top 8: Ruck (CAN), Cox (USA), Mochida (JPN), Ceracchi (ITA), Openysheva (RUS), Raurich (BRA), Mullakaeva (RUS), Hibbott (GBR).
MEN'S 4×100 MEDLEY RELAY
WR: 3:27.28 United States (USA) 2 AUG 2009 Rome (ITA)
WJ: 3:38.02 Russia (RUS) 20 AUG 2014 Nanjing (CHN)
CR: 3:38.13 Japan (JPN) 31 AUG 2013 Dubai (UAE)
The USA had the fastest quartet this morning in the men's 4×100 medley relay. Michael Andrew (55.56), Reece Whitley (1:00.84), Ryan Hoffer (53.84), and Daniel Krueger (50.10) combined for a 3:40.31 to win heat 2.
Australia was 2nd in 3:42.19 with Jack Cartwright as the anchor in 50.14. Like the USA, they're saving their top swimmer, Kyle Chalmers, for finals. Russia was closely behind in 3:42.89 with a 53.25 fly split from Daniil Antipov.
Interestingly, Britain's relay was a now show in this event. Italy was DQed after an early jump from their anchor, Ivano Vendrame.
Top 8: United States (USA), Australia (AUS), Russia (RUS), Poland (POL), Brazil (BRA), Spain (ESP), Canada (CAN), Turkey (TUR).
WOMEN'S 4×100 MEDLEY RELAY
WR: 3:52.05 United States (USA) 4 AUG 2012 London (GBR)
WJ: 4:03.22 Russia (RUS) 25 JUN 2015 Baku (AZE)
CR: 4:04.48 Russia (RUS) 31 AUG 2013 Dubai (UAE)
Japan leads the women's 4×100 medley relay headed into finals. They posted a 4:05.65 with a 58.93 fly split from Rikako Ikee. Behind them was Team USA's Grace Ariola (1:01.27), Kennedy Lohman (1:09.86), Lauren Case (1:00.23), and Kenisha Liu (56.12) with a 4:07.48.
Canada (4:08.31) was 3rd this morning with a 55.27 anchor from Rebecca Smith. Just behind them was Australia, who finished in 4:08.55 after a 1:00.34 backstroke split by Minna Atherton.
Top 8: Japan (JPN), United States (USA), Canada (CAN), Australia (AUS), Russia (RUS), Germany (GER), Italy (ITA), Slovakia (SVK).
MEN'S 1500 FREE
WR: 14:31.02 Sun Yang (CHN) 4 AUG 2012 London (GBR)
WJ: 14:48.76 Mack Horton (AUS) 29 JUL 2014 Glasgow (SCT)
CR: 14:56.60 Mack Horton (AUS) 31 AUG 2013 Dubai (UAE)
China's Ziao Qiu topped the early heats of the men's 1500 free, winning heat 4 with a 15:17.54. Behind him was Hungary's Kristof Rasovszky at 15:24.91. South Africa's Matthew Meyer (15:25.76) was the 3rd fastest this morning.
Those are the top 3 finishers before tonight's final. On paper, the 8th place cutoff is at 15:26.22. Should some of the finalists not improve on their seed times, the top finishers in the early heats can move into the top 8.
« 2015 FINA Junior World Championships: Day 6 Prelims Preview
Remembering Nebraska Swimmer Jon Nelson »
Austin Katz
Minna Atherton
Reece Whitley
Ryan Hoffer
Gina Rhinestone
2 ppl from Tasmania are competing at a world swimming event today . I think that maybe a something that has never happened before in the history of mankind .
commonwombat
Don't know about on the same day & two Tasmanians in one AUS swim team very rare. Think there were two Tasmanians on 84 team; Brett Stocks (brs) & Audrey Moore (back).
Ruck looked good in her heat, with her being in the front from the start and no one to push her along. Has a great chance to be on the podium again tonight.
bobo gigi
She's the huge favorite to win the gold. 1.57 something.
LonelySwimFan
The writer of this article is BRILLIANT. Swimswam has changed my life! I no longer have to spend Saturday nights sitting alone wondering how swimming is going.
Mom….? Is that you?
Lonelyswimfan, are you hitting on Lauren? 😆
And when I said during the world championships that swimswam was also a dating website, everybody was laughing…. 🙂
Load Rest of Comments
About Lauren Neidigh
Lauren Neidigh is a former NCAA swimmer at the University of Arizona and the University of Florida. While her college swimming career left a bit to be desired, her Snapchat chin selfies and hot takes on Twitter do not disappoint. She is now coaching for Loggerhead Aquatics in her hometown …
More from Lauren Neidigh
All-Americans S. Dressel, Main Earn Wins on Saturday at Gainesville Sectionals
15-Year-Olds Kozan, Crom Drop 2:10s in 200 Fly at L.A. Invite
2019 World Champs Previews: Kalisz Seeks USA's 9th-Straight Title in 200 IM
Watch: Race Videos From Day 4 of the Bloomington PSS


No wonder the original plan what plan? was only three pages long. It turns out that there was no plan. When I heard the news that Treasury had reversed course on the Troubled Asset Recovery component of the Troubled Asset Recovery Plan, that and writing an article with the above title were the first things that popped into my head. Sadly, those two things were also all I could think of while I was cowering under my desk, without food and water, waiting for it all to end. REITs of course got absolutely crushed, and now it looks like many REITs are now headed for the dreaded ".BB" designation. I keep hoping in vain to someday drown in dividends, but that's unlikely to happen if REITs are swimming in the Pink (sheets that is).
The story of the insanity in commercial mortgages that ensued after the about face now been covered everywhere, including the Wall Street Journal, the Washington Post, and Bloomberg, which was the most strident in blaming it all on Paulson. Sadly, spreading blame won't help; only spreading money will (and maybe some Prozac too, if I could only afford to see the doctor).
What follows is a relatively cogent article consisting of the most juicy bits from those three above articles.
The price of commercial real-estate-debt securities has fallen so far that it has set off a debate among investors as to whether now is the time to get back into the market. Triple-A commercial mortgage-backed securities are trading at roughly 70 cents on the dollar, meaning they would produce a 20% return if held to term.
The default rate on commercial mortgages remains near its historical low, although it is increasing. Overall, the number of commercial mortgages packaged into securities that are 30 days or more past due rose to 0.64% in October from 0.39% at the end of last year. That is the highest delinquency rate in two years but still far from the kind of carnage that occurred during the commercial real-estate collapse of the early 1990s. Back then the cumulative default rate on loans made in 1986 reached 36%.
The spreads between the CMBX, a credit market index that tracks the values of commercial real-estate bonds, widened to another record level Thursday. And CMBS bonds with triple-A ratings now yield more than 14 percentage points above yields on 10-year U.S. Treasury notes, according to Trepp, a New York company that tracks the commercial real-estate-finance market. That compares with a 1.5 percentage point spread one year ago and an 8.3 percentage point spread just one week ago.
At current prices, all the loans could default within 18 months and a buyer wouldn't lose money, according to Lisa Pendergast, an analyst at the Greenwich, Connecticut-based unit of Royal Bank of Scotland Plc. That's assuming foreclosure recoveries of 37 percent, compared with the typical 60 percent.
"The default levels implied by where these bonds are trading mean we will all be living in boxes," said Eric Johnson, president of 40/86 Advisors Inc. in Carmel, Indiana.
"There is evidence that short-sellers are targeting this market because they know they can push it around," said James Grady, managing director in New York at Deutsche Asset Management, which has about $240 billion of fixed-income assets under management.
Let's hope so. I have bills to pay.
Next post: More Downside in Equity REITs?


text:
Will the Middle East Implode?
Mohammed Ayoob
Danny Postel
Reviewer Title
Associate director, Center for Middle East Studies, Josef Korbel School of International Studies, University of Denver
Polity Press, 2014. 208 pages. $20.87, paper
It was timely enough to publish a book titled Will the Middle East Implode? in the spring of 2014, but the events of this summer — the seizure in June of Mosul, Iraq's second-largest city, by ISIS and the international response it has provoked, and the re-eruption in July of Israel's recurrent assault on Gaza — have made Mohammed Ayoob's new volume nothing less than momentous. It is a robust contribution to the growing literature on the Arab uprisings and their aftermath. Polity Press should be marketing it aggressively as the book on the current conflagration convulsing this critical region.
Will the Middle East Implode? is an intellectually gripping and insightful book by a wise and accomplished scholar. Among its strengths is that Ayoob possesses both geopolitical expertise — he is distinguished professor emeritus of International Relations at Michigan State University — and richly textured knowledge of the internal dynamics of the region. His The Many Faces of Political Islam (2007) is widely considered a classic in the field. This one-two punch makes Ayoob somewhat rare among commentators on the Middle East. International Relations scholars tend not to focus on domestic politics within countries, while experts on specific countries typically have little to say about the geopolitical realm.
There are deep tensions and contradictory strains in the book, which I'll explore shortly. But first let me briefly sketch its contours and highlight some of its strengths. The book consists of six chapters: on the "Arab Spring"; the role of Islamist movements and parties in the region's changing political landscape; the enduring Israeli-Palestinian conflict; "Regional and Global Rivalries"; the geopolitics of Iran's nuclear program; and a concluding essay on the prospects for the region. In addition, there is an afterword offering brief reflections on three developments that unfolded after the completion of the book's main body: the June 2013 election of Hassan Rouhani as president of Iran, the July 2013 ouster of Mohammad Morsi as president of Egypt, and the August 2013 Syrian chemical-weapons attack and the Obama administration's response to it.
Was the Arab Spring "simply a mirage that will ultimately lead to disillusionment?" asks Ayoob on the book's first page. "Or were these uprisings really a harbinger of better times?" "So far the evidence would seem to give credence to the first interpretation," he writes, expressing his realist proclivities. Yet, "enough of the spark of the original movements survives," he counters, to leave one "optimistic about the long-term future of the Arab world" — giving voice to the "other" Ayoob, the one who passionately wants to see democratic forces prevail. These two sides of Ayoob wrestle with one another throughout the book. At times, this critical tension is intellectually productive; at others, the book's conceptual fabric comes dangerously close to fraying.
Ayoob is especially lucid and forceful in his discussion of three key themes: the derailing of Egypt's democratic transition, the regional geopolitics of the Syrian conflict, and the dance between Islamism and democracy. He contends — persuasively, in my view — that the July 2013 coup that ousted Morsi from power was a catastrophe for Egyptian democracy, the Arab Spring's "most dramatic and possibly irreversible setback" (p. 147). Moreover, Ayoob argues, the coup is likely to drive the Muslim Brotherhood underground and off the pragmatic-democratic path it pursued over the last several decades. The Muslim Brothers, like other Islamist groups in the region, "enthusiastically embraced the democratic process" (p. 9), demonstrating "ideological flexibility" and an "increasing commitment to peaceful political action" (p. 20). Indeed, he contends, "in several cases the Islamically rooted parties have become the main champions of democratic governance" in the region (p. 20). The coup has all but torpedoed this development. It may lead, Ayoob warns, to
disillusionment on the part of a segment of mainstream Islamists with the democracy route and encourage them to adopt violent means, thus vindicating the extremists' argument that Islamist parties will never be allowed to attain and retain power through non-violent and democratic means… (p. 24).
Indeed, given the repression against the Muslim Brotherhood since the coup, including massacres of peaceful demonstrators, "it may not be too far-fetched to imagine the emergence of an 'al-Qaeda on the Nile'" (p. 35).
In bringing down a democratically elected president, Egyptian liberals showed striking political immaturity and impatience. The coup was a short-cut, one that aborted Egypt's democratic transition. Morsi's opponents would have been wiser to forgo immediate gratification via extra-constitutional means and stay the democratic course, Ayoob argues, for
democratization, if allowed to proceed without hindrance, increasingly levels the playing field between Islamists and their secular opponents. It may even redound to the latter's benefit if they demonstrate adequate patience and let the political credibility of Islamist governments be undermined by their performance or non-performance (p. 23).
By the same token, Ayoob counsels, the Muslim Brothers should not eschew the democratic path but rather show patience. By "increasing popular sympathy" for the victims of the regime's repression, he continues, the coup could "actually prove to be to the Brotherhood's long-term advantage if participatory politics is revived in the country" (p. 24). That's a big if. Mohammad Fadel, professor of law at the University of Toronto, has argued that it "would take a heroic, perhaps superhuman, act of forgiveness and reconciliation" for the Muslim Brotherhood and Egyptian liberals to renew the alliance that united them against the Mubarak regime ("Mohammad Fadel Replies," in the forum "What Killed Egyptian Democracy?" Boston Review, January/February 2014, p. 23, http://www.bostonreview.net/forum/mohammad-fadel-what-killed-egyptian-d…). The recent emergence of an anti-coup alliance is a promising development, but the post-coup ditch Egypt will have to climb out of is very deep. I agree with Ayoob that it could prove a "possibly irreversible setback" (p. 147).
One of strengths of the book is Ayoob's discussion of the regional geopolitics of the Middle East. "The Arab Spring," he writes, "was never the autonomous phenomenon most people were led to believe during its initial phase, when Tunisia and Egypt seemed to be leading the way toward a democratic future for the region" (p. 74). "The transition to democracy," he notes, "has been severely curtailed if not aborted by the actions of outside powers" (p. 84). In a particularly brazen case in point, Saudi Arabia intervened to crush the Bahraini democracy movement. That the Saudis did so "without any significant protest" from Washington "flew in the face of President Obama's public position supporting the pro-democracy movements in the Middle East, thus leaving the United States wide open to the charge of hypocrisy" (p. 29).
Ayoob's analysis of how "Regional and Global Rivalries" (Chapter 4) play out in the Syrian conflict is incisive. Syria, he writes, is "the quintessential battleground where several proxy wars are being fought simultaneously" (p. 91) — the geopolitical war of position between the United States and Russia, the regional Cold War between Saudi Arabia and Iran, and various internal Arab conflicts. Hezbollah's popularity in the Arab world has been severely damaged as a result of its intervention on the side of the Assad regime, which has "made a measurable difference to the balance of forces on the ground" (p. 93). Indeed, the International Crisis Group contends that Hezbollah's very identity has transmogrified in the course of its Syrian emprise (see "Lebanon's Hizbollah Turns Eastward to Syria," International Crisis Group, May 27, 2014: www.crisisgroup.org/~/media/Files/Middle%20East%20North%20Africa/Iraq%2…; and Sahar Atrache, "How Hezbollah Is Changing the War in Syria—and Vice Versa," Huffington Post, June 6, 2014: www.huffingtonpost.com/sahar-atrache/hezbollah-war-syria_b_5455850.html).
Hamas moved in the opposite direction, pulling its headquarters in exile out of Damascus and siding with the Syrian uprising against the Assad regime. Ayoob attributes this "radical departure" (p. 64) to the role of the Syrian Muslim Brotherhood, "an ideological sibling of Hamas, as a leading participant in the anti-Assad movement, and the overall Palestinian sympathy for the democratic movement in Syria" (p. 63).
The most compelling element in Ayoob's analysis of the Syrian puzzle is what he calls the "Turkish conundrum" (p. 102). The Arab upheaval has been a "mixed blessing" for Ankara:
One the one hand, it enhanced the popularity of the Turkish model among the Arab publics…. On the other, it posed painful choices for Ankara between its newfound, often authoritarian, friends in the Arab world and the democratic aspirations of the Arab peoples inspired in part by the success of Turkish democracy (p. 103).
Prime Minister Erdogan and Foreign Minister Davutoglu "had invested a considerable degree of political capital in building strong relations with Assad and felt betrayed by his refusal to follow through on the promises for reform he had made to them" (pp. 104-05). In a dramatic departure from its much-discussed "zero problems with neighbors" policy, by August 2011, Ankara had thrown its full support behind the Syrian opposition and has taken in close to a million refugees from the Syrian war. This is a highly contentious issue in Turkish domestic politics, as I recently witnessed during a visit to the Turkish-Syrian border.
Turkey's role in Syria's protracted conflict, Ayoob argues, is a risky strategic proposition. It threatens to destroy "the trust [Turkey] had painstakingly built in its relations with Iran" (p. 105), the Islamic Republic being Assad's principal regional ally and supporter. This is a flashpoint for Ayoob, as "the region's future security and stability," he contends, "can only be guaranteed by a smooth working relationship between Ankara and Tehran." Turkey's Syrian gambit also jeopardizes its growing trade with other countries in the region, "much of which passed overland through Syria," as Ayoob notes.
Turkey's "conundrum" is also in a sense Ayoob's conundrum. Earlier I mentioned that there are competing sensibilities that wrestle with one another throughout his narrative. Like Turkey, there is the Ayoob who strongly supports the democratic aspirations of the people of the Middle East and maintains that Islam and democracy are compatible. But there is also Ayoob the realist, who fears instability and uncertainty above all. "Forces let loose by the Arab Spring," he laments, "have exacerbated pre-existing problems in the Middle East" (p. 159), and the "introduction of a huge amount of uncertainty in Middle Eastern politics" by the democratic revolts of 2010-11 have "led to a highly fluid and potentially combustible state of affairs in this already volatile region" (pp. 1-2).
At an abstract level, these sensibilities are arguably reconcilable. The trouble comes at the concrete level. Ayoob is at odds with himself, for example, when it comes to Syria. He acknowledges that "the fundamental problem facing the Syrian polity" is "an end to the civil war — negotiated or otherwise — that would leave the state structure largely intact while removing the family and sectarian dictatorship that has ruled the country for the past four decades" (p. 167). In discussing the chemical-weapons crisis of August-September 2013, he writes: "Had the United States made good on its threat to strike Syria, it would have turned out to be a major escalation of the conflict and may have tilted the military balance decisively against the Assad regime" (pp. 165-66). Yet he also warns of the danger of Syria's becoming a failed state, "if the United States with or without the help of its European allies launches air attacks on Syrian military and communication facilities using the regime's employment of chemical weapons, if proven, as an excuse…" (p. 97). So the underlying issue in Syria is the Assad regime itself and its potential removal. Had Obama launched the military strike on the regime as he had threatened, it might have brought down the House of Assad; yet doing so would have been calamitous and indeed remains a "danger" (p. 166).
Obviously, these three arguments do not hang together. And Ayoob never proposes a solution to the Syrian conflict. This is not to condemn him. The Syrian nightmare, now in its fourth year, has perplexed and divided the world, leaving no consensus on what is to be done. This is why the book my colleague Nader Hashemi and I assembled on the topic is entitled The Syria Dilemma. I don't fault Ayoob for failing to come up with the answer to the Syrian riddle, but there are contradictions in his arguments that make his otherwise illuminating discussion of this crucial issue less than compelling. These criticisms notwithstanding, Will the Middle East Implode? is filled with critical insights and much-needed food for thought on some of the central questions of our age.


text:
Piketty: The Financial Times Is Full of Lies!
By Jordan Weissmann
"Come at me, homme." — What Thomas Piketty is undoubtedly saying in this photo.
Photo by Leon Neal/AFP/Getty Images
Thomas Piketty is gettin' feisty!
I mean, by economist standards anyway. Today, he hit back at the Financial Times, which last week reported that the data underpinning his best-selling tome, Capital in the Twenty-First Century, was full of flaws and distortions that undercut its thesis. The original article was accompanied by a surprisingly vague statement by Piketty. Now, the Frenchman tells Newsweek there was good reason for the lack of detail: The FT barely gave him any time to respond.
Piketty, who posted his data spreadsheets online for all to see, told Newsweek in an email this morning Giles gave him less than a day to respond to questions about his data and methodology used in his expansive, 696-page book, as well as his voluminous spreadsheet data.
"He didn't give me proper time to respond (less than 24 hours) and most of all the mail he sent me did not include a large part of the material that they were going to publish," he said to Newsweek in the email. "I maintain that there's no error or flaw in my series."
Even if the errors are real, Piketty says they're immaterial.
"What's really dishonest is that the small corrections that they make to my series (and with which I disagree) do not make any difference to the overall evolution and to the overall analysis proposed in the book … and they try to pretend the opposite," he told Newsweek. "I will update the online technical appendix in order to clarify all of this."
"Dishonest." I think that qualifies as an escalation from when he told Business Insider's Rob Wile that the FT's criticisms weren't "constructive."
For what it's worth, there are plenty of third parties, on the left and right, who seem to think that the FT has oversold its case as well. The paper claimed to show that wealth inequality wasn't rising across Europe, and that the U.S. trend was harder to discern than Piketty had suggested. This, they said, called into question the core of his book. But the liberal Roosevelt Institute's Mike Konczal and Scott Winship of the libertarian Manhattan Institute have both noted that rising wealth inequality isn't really central to the economist's argument.* It would likely be one result of the process he talks about, where income from capital takes up a rising share of the economy, but it's not essential to it.
In any event, this has to be the most eagerly awaited technical appendix update of the decade.
*Correction, May 27, 2014: An earlier version of this post incorrectly stated that Scott Winship works for the Cato Institute.


text:
Q: Passing ArrayList to another activity, getting NullPointerException I am trying to pass an ArrayList of objects from one activity to another using the Parcelable interface, but am consistently getting a NullPointerException when I enter the activity to which I am passing my ArrayList.
Vitamin.java - defines an object with a string and two String[] arrays, implements Parcelable
HealthBenefits.java - Displays a list of strings. When a string is selected, the list of Vitamin objects is searched and the objects containing the selected string are put into another ArrayList. This ArrayList is then passed via putParcelableArrayListExtra to the VitaminDisplay activity.
VitaminDisplay.java - Displays a list of strings corresponding to the names of the vitamins which are passed to the activity.
Vitamin.java
public class Vitamin implements Parcelable{

String theName;
String[] theFoods, theBenefits;

public Vitamin(String name, String[] benefits, String[] foods)
{
    theName = name;
    theBenefits = benefits;
    theFoods = foods;
}

private Vitamin(Parcel in){
    theName = in.readString();
    ArrayList<String> tempBenefits = new ArrayList<String>();
    tempBenefits = (ArrayList<String>) in.readSerializable();
    ArrayList<String> tempFoods = new ArrayList<String>();
    tempFoods = (ArrayList<String>) in.readSerializable();

    //convert from ArrayList<String> to String[]
    theBenefits = new String[tempBenefits.size()];
    theFoods = new String[tempFoods.size()];
    theBenefits = tempBenefits.toArray(theFoods);
    theFoods = tempFoods.toArray(theFoods);
}

public String getName(){
    return theName;
}

public String[] getBenefit(){
    return theBenefits;
}

public String[] getFoods(){
    return theFoods;
}

@Override
public int describeContents() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void writeToParcel(Parcel out, int flags) {
    // TODO Auto-generated method stub
    out.writeString(theName);
    out.writeStringArray(theBenefits);
    out.writeStringArray(theFoods);
}

public static final Parcelable.Creator<Vitamin> CREATOR = new Parcelable.Creator<Vitamin>() {
    public Vitamin createFromParcel(Parcel in) {
        return new Vitamin(in);
    }

    public Vitamin[] newArray(int size) {
        return new Vitamin[size];
    }
};
}

HealthBenefits.java
public class HealthBenefits extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.health_benefits_layout);

    ListView benefits = (ListView) findViewById(R.id.listView1);
    benefits.setTextFilterEnabled(true);
    ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.benefits, android.R.layout.simple_list_item_1);
    benefits.setAdapter(aa);

    final ArrayList<Vitamin> vitamins = new ArrayList<Vitamin>();
    String[] foods1 = {"Pork", "Whole grain", "Legumes", "Nuts and seeds"};
    String[] vitaBenefits1 = {"Improve nerve function", "Improve metabolism"};
    vitamins.add(new Vitamin("Vitamin B1", vitaBenefits1, foods1));

    String[] vitaBenefits13 = {"Improve circulatory function"};
    String[] foods13 = {"Leafy green vegetables"};
    vitamins.add(new Vitamin("Vitamin K", vitaBenefits13, foods13));

        //...more vitamin objects added to the list, omitted for brevity

    benefits.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
            // When clicked, show a toast with the TextView text
            ArrayList<Vitamin> listToDisplay = new ArrayList<Vitamin>();

            if(position == 1)
            {
            //code specific to first list item
                    for(int i = 0;i < vitamins.size();i++){
                        if(vitamins.get(i).getBenefit().equals("Improve immune system")) {
                            listToDisplay.add(vitamins.get(i));
                        }

                    }
                     Intent myIntent = new Intent(view.getContext(), VitaminDisplay.class);
                     myIntent.putParcelableArrayListExtra("VITAMINS", listToDisplay);
                     startActivityForResult(myIntent, 0);
            }

            if(position == 2)
            {
            //code specific to 2nd list item
            }
        }
  });
}
}

VitaminDisplay.java
public class VitaminDisplay extends Activity{

ArrayList<Vitamin> vitaminsList;
ArrayList<String> displayList;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.health_benefits_layout);

    vitaminsList = getIntent().getExtras().getParcelableArrayList("VITAMINS");
            displayList = new ArrayList<String>();

    for(int i = 0;i < vitaminsList.size();i++){
        displayList.add(vitaminsList.get(i).getName());
        Log.d("VitaminDisplay", vitaminsList.get(i).getName());
    }

    //displayList = new ArrayList<String>();
    //displayList.add("test");

    ListView benefits = (ListView) findViewById(R.id.listView1);
    benefits.setTextFilterEnabled(true);
    ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, displayList);
    benefits.setAdapter(aa);
}

}

I believe the exception may be from how I have implemented the Parcelable class in Vitamin.java, but I have yet to find a solution. Any suggestions?
Here's the full logcat:
E/AndroidRuntime(1958): FATAL EXCEPTION: main

04-21 21:55:08.963: E/AndroidRuntime(1958): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.heartsmart/com.example.heartsmart.VitaminDisplay}: java.lang.NullPointerException
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Looper.loop(Looper.java:137)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.ActivityThread.main(ActivityThread.java:5041)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at java.lang.reflect.Method.invokeNative(Native Method)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at java.lang.reflect.Method.invoke(Method.java:511)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at dalvik.system.NativeStart.main(Native Method)
04-21 21:55:08.963: E/AndroidRuntime(1958): Caused by: java.lang.NullPointerException
04-21 21:55:08.963: E/AndroidRuntime(1958):     at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:60)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readSerializable(Parcel.java:2139)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.example.heartsmart.Vitamin.<init>(Vitamin.java:23)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.example.heartsmart.Vitamin.<init>(Vitamin.java:20)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.example.heartsmart.Vitamin$1.createFromParcel(Vitamin.java:62)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.example.heartsmart.Vitamin$1.createFromParcel(Vitamin.java:1)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readParcelable(Parcel.java:2103)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readValue(Parcel.java:1965)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readListInternal(Parcel.java:2235)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readArrayList(Parcel.java:1655)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readValue(Parcel.java:1986)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Parcel.readMapInternal(Parcel.java:2226)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Bundle.unparcel(Bundle.java:223)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.os.Bundle.containsKey(Bundle.java:271)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at com.example.heartsmart.VitaminDisplay.onCreate(VitaminDisplay.java:23)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.Activity.performCreate(Activity.java:5104)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-21 21:55:08.963: E/AndroidRuntime(1958):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-21 21:55:08.963: E/AndroidRuntime(1958):     ... 11 more

A: You are writing your arrays using Parcel.writeStringArray but trying to read them using Parcel.readSerializable. Change your Vitamin constructor to match  how you write writeToParcel. This should do it:
private Vitamin(Parcel in){
    theName = in.readString();
    theBenefits = in.createStringArray();
    theFoods = in.createStringArray();
}

Alternatively, modify writeToParcel to write the string arrays as Serializable objects. Or you could put the arrays into a Bundle and write and then read the bundle.
Even better, switch to using ArrayList<String>, which I think provides better support for this.

A: There could be more and this might not be the problem you are currently having but this is a problem. In VitaminDisplay you never initialize your ArrayList before trying to add to it
ArrayList<String> displayList;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.health_benefits_layout);

vitaminsList = getIntent().getParcelableArrayListExtra("VITAMINS");
for(int i = 0;i < vitaminsList.size();i++){
    displayList.add(vitaminsList.get(i).getName());   // displayList isn't initialized

Change it to
ArrayList<String> displayList = new ArrayList<String>();  // Change this here

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.health_benefits_layout);

vitaminsList = getIntent().getParcelableArrayListExtra("VITAMINS");
for(int i = 0;i < vitaminsList.size();i++){
    displayList.add(vitaminsList.get(i).getName());

A: Top of my head. One thing is missing when you try to get array.
Instead of doing
vitaminsList = getIntent().getParcelableArrayListExtra("VITAMINS");

try
vitaminsList = getIntent().getExtras.getParcelableArrayList("VITAMINS");

you should add more checks like...
Bundle b = getIntent().getExtras();
if(b!=null && b.containsKey("VITAMINS")){
   vitaminsList = b.getParcelableArrayList("VITAMINS");
}


One of Asa's recent blog entries (get a link style different from your text, dude! :-) refers to a New York Times article (sacrifice of first-born child required) about switching from IE to Firefox.
Ms. Sandlin is so devoted to her browser that she has taped a note to her monitor warning guests not to click on the desktop shortcut to Internet Explorer. "Do not touch the blue 'E!' " the note says.
That's cool. It's fairly predictable that Mozilla products will be popular with clued-up techies. It is most encouraging to see Mozilla products being popular even with someone who evidently doesn't know how to delete a shortcut off the Windows desktop, and who therefore represents a key target sector of the market. Says a lot about usability.


Mandi is a compassionate, empathic and effective communicator with excellent listening and interpersonal skills. She is a highly qualified Chinese Medicine Practitioner, motivated and dedicated towards her profession. Mandi focuses on an integrative medicine approach and possesses strong research skills.
Mandi has a Bachelor of Health Science (Chinese Medicine), majoring in both Acupuncture and Chinese Herbal Medicine.
Prior to studying Chinese Medicine and Naturopathy, Mandi completed a Bachelor of Biomedical Science (Psychology major) at Monash University. Mandi is registered with AHPRA, is a member of the Australian Acupuncture and Chinese Medicine Association (AACMA) and also registered with all major health funds enabling her patients to access private health insurance rebates.
She continues to enrich her knowledge with professional development courses in conjunction with reading journals and literature research.
Mandi has extensive training and experience in IVF support, as well as with male infertility.
Mandi has worked in a Drug and Alcohol Rehabilitation Centre giving her experience in drug withdrawal, addiction, depression, insomnia and mental illness. She draws upon her background in psychology and counselling if required.
Mandi's passion is in Chinese Medicine and she has an integrative approach to diagnosis and treatment. She integrates and blends the philosophies and empirical knowledge of Traditional Chinese Medicine with the research and modern advancements of Western Medicine.
Mandi's acupuncture technique is effective, gentle and may incorporate cupping and moxibustion (heat therapy) to rebalance and harmonise the body's internal systems and function to encourage and restore its natural state of balance and wellbeing.
Mandi is very passionate about educating her patients to use 'food as medicine,' as she integrates her extensive knowledge in both nutrition and Chinese dietary therapy to provide personalised dietary advice.
Mandi loves collaborating with her patients' other health care practitioners and her caring and professional approach makes her a valued member of the NEST team.
Chinese Medicine recognises that health is much more than the absence of disease. As an integrative practitioner Mandi strives to empower her patients with an appreciation and understanding of their own health and for the prevention of illness.
Mandi loves spending time with her husband and three kids, travelling, throwing parties, going for long walks with friends and cooking wholesome food.


text:
namespace ash {
namespace help_app {

// Processes all registered search tags by adding them to the LocalSearchService
// index and providing the additional metadata needed for search results via
// GetTagMetadata().
class SearchTagRegistry {
 public:
  class Observer : public base::CheckedObserver {
   public:
    ~Observer() override = default;
    virtual void OnRegistryUpdated() = 0;
  };

  SearchTagRegistry(local_search_service::LocalSearchServiceProxy*
                        local_search_service_proxy);
  SearchTagRegistry(const SearchTagRegistry& other) = delete;
  SearchTagRegistry& operator=(const SearchTagRegistry& other) = delete;
  virtual ~SearchTagRegistry();

  void AddObserver(Observer* observer);
  void RemoveObserver(Observer* observer);

  // Returns the tag metadata associated with |result_id|, which is the ID
  // returned by the LocalSearchService. Returns SearchTagRegistry::not_found_
  // if no metadata is available.
  const SearchMetadata& GetTagMetadata(const std::string& result_id) const;

  // Adds search concepts to the index.
  // Callbacks when the LSS index is done updating.
  void Update(const std::vector<mojom::SearchConceptPtr>& search_tags,
              base::OnceCallback<void()> callback);

  // Returned by GetTagMetadata if the id was not found.
  static const SearchMetadata not_found_;

 private:
  void NotifyRegistryUpdated();
  void NotifyRegistryAdded();

  // Index used by the LocalSearchService for string matching.
  mojo::Remote<local_search_service::mojom::Index> index_remote_;

  // In-memory cache of all results which have been added to the
  // LocalSearchService. Contents are kept in sync with |index_remote_|.
  std::unordered_map<std::string, SearchMetadata>
      result_id_to_metadata_list_map_;

  base::ObserverList<Observer> observer_list_;
  base::WeakPtrFactory<SearchTagRegistry> weak_ptr_factory_{this};
};

}  // namespace help_app
}  // namespace ash

#endif  // ASH_WEBUI_HELP_APP_UI_SEARCH_SEARCH_TAG_REGISTRY_H_

redpajama_set_name: RedPajamaGithub