text:
Free Press Staff Writer
•Chuck Lawyer, a driver for Casella Waste Systems in Williston, received a Driver of the Year Award from the National Waste Recycling Association at an awards ceremony this week in Las Vegas. Lawyer, who has worked for Casella Waste Systems for 23 years, drives an average of 400 miles each week, with an average 3,500 pickups.
•Burlington Bytes has hired Jeff Simonds as a digital marketing specialist. Simonds was formerly a senior web analytics specialist at Terakeet in Syracuse, New York.
•Jonathan Slason recently rejoined RSG in Burlington as a senior engineer. Slason will provide project leadership with a focus on long-range planning, project scoping, and traffic operations for public and private clients. Slason returns to RSG after working as a senior transportation engineer for Beca, an international engineering company based in New Zealand.
•Vermont Information Technology Leaders, Inc. elected Dr. Bruce Bullock as board chairman. Since September VITL has also welcomed four new board members: Michael Del Trecco, Rep. Avram Patt, Richard Elmore and Jerry Ford. Bullock is co-owner of Marble Valley Healthworks, LLC in Rutland. Del Trecco is the co-executive officer and vice president of finance for the Vermont Association of Hospital and Health Systems. Rep. Patt is a member of the House Committee on Health Care. Elmore is the vice chairman of Commonwell Health Alliance and has had a long career with Allscripts and IDX Corporation. Ford is CEO of Marathon Health in Colchester.
•NPI Technology Management President John Burton has been selected to join the board of the South Burlington Business Association for a term of three years.
•Mayor Miro Weinberger announced that Katie Vane will serve as the new communications and projects coordinator in the Mayor's Office, replacing Jennifer Kaulius. Kaulius plans to pursue new opportunities closer to her family in Pennsylvania. Vane came to Burlington from Mammoth Lakes, California, where she worked for the past five years as a reporter and editor with The Sheet, a free weekly newspaper.
Corrections Staff Directory Careers Accessibility Support Site Map Legals Our Ethical Principles Terms of Service Privacy Policy Your California Privacy Rights / Privacy Policy
© 2021 www.burlingtonfreepress.com. All rights reserved.


text:
Source Page - 30
[S860] Benjamin W. Dwight, "escendants of Reverand Benjamin Woolsey, of Dosoris, L.I.," York Genealogical & Biographical Record
Volume 5, number 1 (January 1874): pages 12-25.
[S1145] "Queen Mary," Wikipedea.
[S1146] "East Anglia," Wikipedia.
[S1147] Nora Emma Snow, The Snow-Estes Ancestry (Snow, Hillburn, New York: 1939),.
[S1148] Marion E. Allen., Wills of the Archdeaconry of Suffolk, 1620-1624
, (England: Boydell, 1989 [Ancestry.com]),.
[S1149] G. Andrews Moriarty, "The Fiske Family," New England Historical & Genealogical Register Volume 88 (April 1934): page 145.
[S1150] G. Andrews Moriarty, "The Fiske Family," New England Historical & Genealogical Register Volume 86 (October 1932): pagess 406-435.
[S1153] G. Andrews Moriarty, "The Fiske Family," New England Historical & Genealogical Register
Volume 87 (October 1933): pages 367-374.
88 (April 1934): pages 142-146.
[S1156] G. Andrews Moriarty, "The Fiske Family," New England Historical & Genealogical Register Volume 92 (July 1938): pages177-181.
[S1158] Clifford J. Scott, "Anthony and Joshua Fisher of Dedham, Massachusetts," New England Historical & Genealogical Register
Volume 151 (July 1997): pages 291-302.
[S1159] Genealogy of Fiske (J. Munsell's Sons, Albany, New York: 1867),.
[S1197] Clifford L. Stott, "Humphrey Blake & His Descendants in New England & South Carolina," New England Historical & Genealogical Register
Volume 163 (July 2009): pages 199=211.
[S1213] Boston, Ma.: Births, Baptisms, Marriages, and Deaths, 1630-1699. [Online database. AmericanAncestors.org, New England Historic Genealogical Society, 2007.]
[S1219] Judith McGhan, Genealogies of Connecticut Families: from the New England
(Genealogical Publishing Company: 1983),.
[S1261] Ancient Families of New Haven,.
[S1262] Cuylerr Reynolds, Hudson-Mohawk Genealogical & Family Memoirs, (New York: Lewis Historical Publishing Company - 1911),.
[S1263] R. Thomas Collins Jr., One Life at a Time (Ravensyard Publishing, LTD., Oakton, Virgina: 1999),.
[S1264] William Richard Cutter, New England Families, Genealogical & Memorial, (New York: Lewis Historical Publishing Company, 1914),.
[S1265] Bernard C. Steiner Honorable R. D. smith & communicated by his grandson, "The Descendants of John Parmelee," New England Historical & Genealogical Register Volume 53, number 4 (October 1899): pages 405-406.
[S1266] Albert Wilcox Savage, The New England Ancestry of Albert wilcox Savage Jr.: Savage-Wilcox Lines, (Gateway Press: 1988),.
[S1267] The National Cyclopaedia of American Biography, (New York: James T. White & Company - 1920),.
[S1268] Portrait & Biographical Record of the State of Colorado (The Chapman Publishing Company),.
[S1269] Great Books,.
[S1331] "The Register of Births and Burialls in Dedham from the yeare1635 to the yeare 1643," New England Historical an Genealogical Register Volume 4, Number 3 (July 1850): page 174.
[S1332] "Early Records of Boston," New England Historical and Genealogical Register Volume 5, Number 1 (January 1851): pages 97-98.
[S1333] "Marriages and Deaths," New England Historical and Genealogical Register Volume 8, Number 1 (January 1854): pages 95-96.
[S1336] Elizabeth French, "Genealogical Research in England," New England Historical and Genealogical Register Volume 64 Number 2 (April 1910): pages 135-140.
[S1338] Frederic C. Torrey, One branch of the Chickering family, and the complete ancestry of Mary Chickering Nichols (Lakehurst, N.J.: 1919),.
[S1339] Albert Prescott, Paine, History of Samuel Paine, Jr., A.D. 1778-1861 (Randolph Center, Vt. : 1923),.
[S1340] "Marriages and Deaths," New England Historical and Genealogical Register Volume 8 Number 1 (January 1854): pages 95-96.
[S1362] Charles Worthy, Devonshire Wills: A Collection of Annotated Testamentary Abstracts (London: Bemrose & sons, 1896),.
[S1363] Samuel Smith Travers. Pedigree, with biographical sketches, of the Devonshire family of Travers : descended from Walter Travers of Nottingham, Goldsmith, http://www.ebooksread.com/authors-eng/samuel-smith-travers/…,.
[S1364] Pedigree of Vowell family, alias Hooker ����� - cornwall.gov.uk.
[S1368] ""Jago"," Wikipedea.
[S1369] Samuel Lewis & John Nelson, The history and topography of the parish of Saint Mary, Islington (London: Gilbert & Rivington; pub. by J.H. Jackson, 1842),.
[S1557] Genealogy of Canada - www.nosorigines.qc.ca/GenealogieQuebec.aspx?genealogy.
[S1660] J. L. Vivian, The visitations of the county of Devon: Comprising the herald's visitations of 1531, 1564, & 1620, http://hdl.handle.net/2027/yale.39002002213917, (Exeter 1895: for the author, by H. S. Eland.),.
[S1819] Robert Halstead, A Succinct Genealogy of the House of Mauduit That Were Lords of Werminster, Justified by Publick Records, Extant Charters, Histories, and Other Authentick Proofs (1685 [courtesy of David Pollard 2016]),.
[S1857] Myrtle Stevens Hyde, "Re-Examination of the Fiske Families of Suffolk, England, Ancetral of Some Early New England Families," New England Historial and Genealogical Register Volume 170 (Summer 2016): pages 223-232 - www.americanancestors.com.
[S1858] Myrtle Stevens Hyde, "Re-Examination of the Fiske Families of Suffolk, England, Ancetral of Some Early New England Families," New England Historial and Genealogical Register Volume 170 (Fall 2016): pages 339-346 - www.americanancestors.com.
[S1874] Myrtle Stevens Hyde, "A Re-Examination of the Fiske Family of Suffolk, England, Ancestral to Some New England Families," New England Historical and Genealogical Register Volume 171 (Winter 2017): pages 70-77.
[S1886] Sidney I. Paine, "The English Ancestry of Stephen Paine of Rehoboth, Plymoth Colony," New England Historical and Genealogical Register Volume 143 Number 4 (October 1989): pages 291-302 - https://www.americanancestors.org/DB202/i/11712/291/…
[S1887] Andrews Moriarty G, "Genealogical Gleanings in England - Metcalf," New England Historical and Genealogical Register Volume 78 Number 1 (January 1924): pages 63-65 - https://www.americanancestors.org/DB202/i/11669/54/23503541
[S1888] John William Linzee, The History of Peter Parker and Sarah Ruggles of Roxbury, Mass. and their Ancestors and Descendants, https://books.google.com/books, (Boston, Massachusetts: 1918),.
[S1889] George Ernest Bowman, "Plymouth Colony Wills and Inventories," Mayflower Descendant Volume 10 Number 3 (July 1908): pages 159-162.
[S1890] George Ernest Bowman, "Widow Judith Smith�s Will and Inventory: Transcribed from the Original Records," Mayflower Descendant Volume 10 Number 3 (July 1908): pages 172-174.
[S1891] Leslie Mahler, "The English Ancestry of Judith� Ray, Wife of Henry� Smith of Hingham and Rehoboth, Massachusetts," The American Genealogist Volume 87 (2014-2015): pages 263-268.
[S1894] Annie Haven Thwing., Boston MA: Inhabitants and Estates of the Town of Boston, 1630-1822.
[S1895] Walter Wittlesey Norton, Some Descendants of John Norton of Branford, 1622-1709: With Notes and Dates (Lakevile, Conn., The Journal Press: 1909i),.

redpajama_set_name: RedPajamaCommonCrawl


text:
#ifndef OSRM_UTIL_GUIDANCE_NAME_ANNOUNCEMENT_HPP_
#define OSRM_UTIL_GUIDANCE_NAME_ANNOUNCEMENT_HPP_

/* A set of tools required for guidance in both pre and post-processing */

#include "extractor/suffix_table.hpp"
#include "util/attributes.hpp"
#include "util/name_table.hpp"
#include "util/typedefs.hpp"

#include <algorithm>
#include <string>
#include <tuple>
#include <utility>
#include <vector>

#include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/predicate.hpp>

namespace osrm
{
namespace util
{
namespace guidance
{
// Name Change Logic
// Used both during Extraction as well as during Post-Processing

inline util::StringView longest_common_substring(const util::StringView &lhs,
                                                 const util::StringView &rhs)
{
    if (lhs.empty() || rhs.empty())
        return "";

    // array for dynamic programming
    std::vector<std::uint32_t> dp_previous(rhs.size(), 0), dp_current(rhs.size(), 0);

    // to remember the best location
    std::uint32_t best = 0;
    std::uint32_t best_pos = 0;
    using std::swap;
    for (std::uint32_t i = 0; i < lhs.size(); ++i)
    {
        for (std::uint32_t j = 0; j < rhs.size(); ++j)
        {
            if (lhs[i] == rhs[j])
            {
                dp_current[j] = (j == 0) ? 1 : (dp_previous[j - 1] + 1);
                if (dp_current[j] > best)
                {
                    best = dp_current[j];
                    best_pos = i + 1;
                }
            }
        }
        swap(dp_previous, dp_current);
    }
    // the best position marks the end of the string
    return lhs.substr(best_pos - best, best);
}

// TODO US-ASCII support only, no UTF-8 support
// While UTF-8 might work in some cases, we do not guarantee full functionality
template <typename StringView> inline auto decompose(const StringView &lhs, const StringView &rhs)
{
    auto const lcs = longest_common_substring(lhs, rhs);

    // trim spaces, transform to lower
    const auto trim = [](StringView view) {
        // we compare suffixes based on this value, it might break UTF chars, but as long as we are
        // consistent in handling, we do not create bad results
        std::string str = boost::to_lower_copy(view.to_string());
        auto front = str.find_first_not_of(" ");

        if (front == std::string::npos)
            return str;

        auto back = str.find_last_not_of(" ");
        return str.substr(front, back - front + 1);
    };

    if (lcs.empty())
    {
        return std::make_tuple(trim(lhs), trim(rhs), std::string(), std::string());
    }

    // find the common substring in both
    auto lhs_pos = lhs.find(lcs);
    auto rhs_pos = rhs.find(lcs);

    BOOST_ASSERT(lhs_pos + lcs.size() <= lhs.size());
    BOOST_ASSERT(rhs_pos + lcs.size() <= rhs.size());

    // prefixes
    auto lhs_prefix = (lhs_pos > 0) ? lhs.substr(0, lhs_pos) : StringView();
    auto rhs_prefix = (rhs_pos > 0) ? rhs.substr(0, rhs_pos) : StringView();

    // suffices
    auto lhs_suffix = lhs.substr(lhs_pos + lcs.size());
    auto rhs_suffix = rhs.substr(rhs_pos + lcs.size());

    return std::make_tuple(trim(lhs_prefix), trim(lhs_suffix), trim(rhs_prefix), trim(rhs_suffix));
}

// Note: there is an overload without suffix checking below.
// (that's the reason we template the suffix table here)
template <typename StringView, typename SuffixTable>
inline bool requiresNameAnnounced(const StringView &from_name,
                                  const StringView &from_ref,
                                  const StringView &from_pronunciation,
                                  const StringView &from_exits,
                                  const StringView &to_name,
                                  const StringView &to_ref,
                                  const StringView &to_pronunciation,
                                  const StringView &to_exits,
                                  const SuffixTable &suffix_table)
{
    // first is empty and the second is not
    if ((from_name.empty() && from_ref.empty()) && !(to_name.empty() && to_ref.empty()))
        return true;

    // FIXME, handle in profile to begin with?
    // Input for this function should be a struct separating streetname, suffix (e.g. road,
    // boulevard, North, West ...), and a list of references

    // check similarity of names
    const auto names_are_empty = from_name.empty() && to_name.empty();
    const auto name_is_contained =
        boost::starts_with(from_name, to_name) || boost::starts_with(to_name, from_name);

    const auto checkForPrefixOrSuffixChange =
        [](const StringView &first, const StringView &second, const SuffixTable &suffix_table) {
            std::string first_prefix, first_suffix, second_prefix, second_suffix;
            std::tie(first_prefix, first_suffix, second_prefix, second_suffix) =
                decompose(first, second);

            const auto checkTable = [&](const std::string &str) {
                return str.empty() || suffix_table.isSuffix(str);
            };

            return checkTable(first_prefix) && checkTable(first_suffix) &&
                   checkTable(second_prefix) && checkTable(second_suffix);
        };

    const auto is_suffix_change = checkForPrefixOrSuffixChange(from_name, to_name, suffix_table);
    const auto names_are_equal = from_name == to_name || name_is_contained || is_suffix_change;
    const auto name_is_removed = !from_name.empty() && to_name.empty();
    // references are contained in one another
    const auto refs_are_empty = from_ref.empty() && to_ref.empty();
    const auto ref_is_contained =
        from_ref.empty() || to_ref.empty() ||
        (from_ref.find(to_ref) != std::string::npos || to_ref.find(from_ref) != std::string::npos);
    const auto ref_is_removed = !from_ref.empty() && to_ref.empty();

    const auto obvious_change =
        (names_are_empty && refs_are_empty) || (names_are_equal && ref_is_contained) ||
        (names_are_equal && refs_are_empty) || (ref_is_contained && name_is_removed) ||
        (names_are_equal && ref_is_removed) || is_suffix_change;

    const auto needs_announce =
        // " (Ref)" -> "Name " and reverse
        (from_name.empty() && !from_ref.empty() && !to_name.empty() && to_ref.empty()) ||
        (!from_name.empty() && from_ref.empty() && to_name.empty() && !to_ref.empty());

    const auto pronunciation_changes = from_pronunciation != to_pronunciation;

    // when exiting onto ramps, we need to be careful about exit numbers. These can often be only
    // assigned to the first part of the ramp
    //
    //  a . . b . c . . d
    //         ` e . . f
    //
    // could assign the exit number to `be` when exiting `abcd` instead of the full ramp.
    //
    // Issuing a new-name instruction here would result in the turn assuming the short segment to be
    // irrelevant and remove the exit number in a collapse scenario. We don't want to issue any
    // instruction from be-ef, since we only loose the exit number. So we want to make sure that we
    // don't just loose an exit number, when exits change
    const auto exits_change = from_exits != to_exits;
    const auto looses_exit = (names_are_equal && !from_exits.empty() && to_exits.empty());

    return !obvious_change || needs_announce || pronunciation_changes ||
           (exits_change && !looses_exit);
}

// Overload without suffix checking
inline bool requiresNameAnnounced(const std::string &from_name,
                                  const std::string &from_ref,
                                  const std::string &from_pronunciation,
                                  const std::string &from_exits,
                                  const std::string &to_name,
                                  const std::string &to_ref,
                                  const std::string &to_pronunciation,
                                  const std::string &to_exits)
{
    // Dummy since we need to provide a SuffixTable but do not have the data for it.
    // (Guidance Post-Processing does not keep the suffix table around at the moment)
    struct NopSuffixTable final
    {
        NopSuffixTable() {}
        bool isSuffix(const StringView &) const { return false; }
    } static const table;

    return requiresNameAnnounced(util::StringView(from_name),
                                 util::StringView(from_ref),
                                 util::StringView(from_pronunciation),
                                 util::StringView(from_exits),
                                 util::StringView(to_name),
                                 util::StringView(to_ref),
                                 util::StringView(to_pronunciation),
                                 util::StringView(to_exits),
                                 table);
}

inline bool requiresNameAnnounced(const NameID from_name_id,
                                  const NameID to_name_id,
                                  const util::NameTable &name_table,
                                  const extractor::SuffixTable &suffix_table)
{
    if (from_name_id == to_name_id)
        return false;
    else
        return requiresNameAnnounced(name_table.GetNameForID(from_name_id),
                                     name_table.GetRefForID(from_name_id),
                                     name_table.GetPronunciationForID(from_name_id),
                                     name_table.GetExitsForID(from_name_id),
                                     //
                                     name_table.GetNameForID(to_name_id),
                                     name_table.GetRefForID(to_name_id),
                                     name_table.GetPronunciationForID(to_name_id),
                                     name_table.GetExitsForID(to_name_id),
                                     //
                                     suffix_table);
}

} // namespace guidance
} // namespace util
} // namespace osrm

#endif /* OSRM_UTIL_GUIDANCE_NAME_ANNOUNCEMENT_HPP_ */

redpajama_set_name: RedPajamaGithub


Like many industries, the banking and finance sector is being continuously disrupted by technological innovation and rapidly evolving customer expectations. In this exclusive video, Trent Fulcher, head of strategy for Kiwibank, provides insight into the ways the sector should respond to emerging challenges such as peer-to-peer lending facilities.
The next competitive battleground is who uses their business intelligence most effectively, not only to compete with the existing competitors but also to take it that one step further and figure out what consumer-based trends are coming that we can respond to and adapt to.
What are the challenges currently being faced by the banking sector and how should leaders in the industry respond?
We're seeing three main areas under attack or being disrupted globally: payments; traditional merchant services; and the lending space. Payments and lending are probably the two being [affected] the most at the moment.
One of the challenges we have as a financial services organisation is understanding the voice of the consumer with all this new technology available.
Lending is interesting because you've got peer-to-peer lending and crowd sourcing. A lot of those models are quite successful in the UK and in the US. In fact, in the UK I think about 12 per cent of the lending is now going through these types of entities. [They're] just starting to happen here in Australia and New Zealand and the traditional banks are not only not set up to counter those, they're also not reacting in a way they probably should, which is [to say] let's collaborate with these new entrants and figure out a way so we're not cannibalising our revenue.
If we don't have a solid handle on the voice of the customer – the voice of the market – and use the insights we can get from the data on a daily basis, then we're absolutely behind the 8-ball.
We're [approaching] this now [by asking] how can we build a customer ecosystem that will allow us to add value to the customers in new ways. And that ecosystem we don't necessarily have to own, we just have to be an enabler of it. Just wanting to have the customer loyal because they have as many products and services from our organisation as [possible] might have worked 10 years ago, but now customers are loyal because they believe in your brand, they believe in the cause your brand stands for and they truly believe you're adding value to them, either [through] the existing products and services you sell or [through] other services from third parties that could help them.


The PDSP leader is reacting to Ocampo's complaint that his report, The Armed Forces of the Philippines: Defender of the Nation, Guardian of Democracy, and Servant of the People, does not cite a single instance in which public funds were channeled to the communist rebels.
"More cases are being prepared against them. I cannot give details now as I do not want to jeopardize the witnesses who have committed to testify to back up the cases against them," Intengan said.
The social democrat leader advised the extreme leftist party-list lawmakers to wait for the tackling of the charges against them in court.
Meanwhile, Intengan's comrade, National Security Adviser and PDSP Chairperson Norberto Gonzales said the party-list representatives need not fear rebellion charges if they truly believe government does not have a strong case against them.
Gonzales, however, reiterated that the evidence he had gathered will prove his charges that the extreme leftist congressmen used part of their "pork barrel" to fund anti-government activities.
"This is treason of the highest order. These congressmen are taking money from the government to use against the government," Gonzales said.
Under Comrade Kim Jong Il's leadership, the Workers' Party of Korea has built a powerful Korean People's Army that is confident and capable of defending the motherland from external threats. Under his leadership the Workers' Party of Korea, the Korean People's Army and the Korean people have stood as one in asserting national sovereignty in the face of numerous attempts at bullying by the imperialist powers led by the United States.
Comrade Kim Jong Il has welded the unity of the people in overcoming many difficulties brought about by natural calamities and economic blockades imposed by the imperialists who wish to destroy Korea's socialist revolution and construction.
We support the Korean people's profound aspiration for the independent reunification of Korea, for peace and progress. Under Comrade Kim Jong Il's wise leadership, we hope that the Korean people will realize this deep national desire in the near future.
We wish Comrade Kim Jong Il, the Workers' Party of Korea and the Korean people more victories in the future in your struggle to build a society free from exploitation, a nation with dignity and a progressive and prosperous socialist country.


text:
Q: How to test if an object is a vector? I want to test if an object is a vector, any vector, not only a vector of a single type.
I ran a test:
var v:Vector.<int> = new Vector.<int>();
v.push(3);
v.push(1);
v.push(2);
trace(v is Array); // false
trace(v is Vector); // false
trace(v is Vector.<int>); // true
trace(v is Vector.<*>); // false

It seems that the only thing that returns true is the one which specifies the vector type, but I want to test it for ANY type.
I will need a very efficient method to compare, because getQualifiedClassName is too slow.
My current approach is:
private static function isVector(obj:Object):Boolean {
    return (getQualifiedClassName(obj).indexOf('__AS3__.vec::Vector') == 0);
}

But it is 2x slower than the is operator.
I need speed because it's for a object serialization class, and it needs to be very fast.

A: The problem is that Vector.<*> is a different class than that used for <Number>, <int>, or <uint>. The numeric primitives have special classes for better efficiency. String and Boolean are also primitives, but unlike the numeric primitives they are detected by <*>. As a result, you need only test for the generic Vector and the 3 numeric types.
This solution is over 2 times as fast as getQualifiedClassName in the worst case where the object is either not a Vector, or is a Vector.<uint>, and 5 times faster if the object is a non-primitive base type Vector, like Vector.<Object>:
return (obj is Vector.<*>
     || obj is Vector.<Number>
     || obj is Vector.<int>
     || obj is Vector.<uint>);

Here's a simplistic test:
var moo:Vector.<uint> = new Vector.<uint>();
var timer:Timer = new Timer();
var b:Boolean;
timer.startTimer();
for (var i:int = 0; i < 1000000; i++)
{
    b = (moo is Vector.<*>
      || moo is Vector.<Number>
      || moo is Vector.<int>
      || moo is Vector.<uint>);
}
logger.info("  is timer: " + timer.endTimer());

timer.startTimer();
for (i = 0; i < 1000000; i++)
{
    b = (flash.utils.getQualifiedClassName(moo).indexOf('__AS3__.vec::Vector') == 0);
}
logger.info("gqcn timer: " + timer.endTimer());

[LOG] com.tcg.test:   is timer: 320
[LOG] com.tcg.test: gqcn timer: 756

Change moo to Vector.<Object>:
[LOG] com.tcg.test:   is timer: 158
[LOG] com.tcg.test: gqcn timer: 743

A: Other methods are way too inefficient, so I'm still using my approach:
private static function isVector(obj:Object):Boolean {
    return (getQualifiedClassName(obj).indexOf('__AS3__.vec::Vector') == 0);
}

A: trace(new Array().fixed);//undefined
trace(new Object().fixed);//undefined
trace(new Vector.<Sprite>().fixed);//false
trace(new Vector.<*>().fixed);// false

A: If you need serialization for any kind of object, you have to iterate over all possible types anyway, so you could use a sequential approach to find your vector type:

*

*v is ... (simple data types)

*v is ... (object types that are not collections)

*v is Array

*v is XMLList

*v is ... (all other collection types you can think of)

*if none of the above is true, it must be a vector

*serialize objects in the vector.  If you have more than one type, it's Vector.<*>, otherwise set the vector type according to the object type of the content items.

A: Use
(obj as Vector.<*>) is Vector.<*>

A:     /// Return Class of any Target
    static public function getClass( Target:* ):Class
    {
        return getDefinitionByName ( getQualifiedClassName( Target ) ) as Class ;
    }

    /// Check if object is type of Vector.< * >
    static public function isVector( any:* ):Boolean
    {
        return String( getClass( any ) ).indexOf( "[class Vector.<" ) > -1;
    }

    /// Get Vector < Class >
    static public function getVectorType( vector:* ):Class
    {
        var c:String = String( getClass( vector ) );
        var s:int = c.indexOf( '<' ) + 1;
        var e:int = c.indexOf( '>' );
        return getDefinitionByName( c.substring( s, e ) ) as Class;
    }

A: private function getIsVector(obj:Object):Boolean
{
    return String(obj.constructor).indexOf('[class Vector.<*>]') == 0;
}

redpajama_set_name: RedPajamaStackExchange


text:
steelstashwriting
Fantastical Stories and Editing
Tag: sword and sorcery
Book Review – Dragon Slayer 1-3 by Michael-Scott Earle
Book: Dragon Slayer books 1-3
Author: Michael-Scott Earle
Genre: Fantasy, Sword and Sorcery
Part of a Series: Yes
Finally, a fantasy series to review. Dragon Slayer is a pulp harem fantasy series following Chicago firefighter Ethan Dapaolo. While at the scene of a blaze, Ethan gets trapped in a burning building and is pulled into a magic land by a mysterious guardian. He has been tasked with killing 25 dragons who threaten the people of this world while freeing the dragons' magic for the guardians return.
So slight spoilers from here on out. Every time Ethan defeats a dragon they turn into a beautiful woman. It takes way to long for the series to acknowledge this, well into book 2 actually. We, the audience, know all the dragons are women after the first transformation, because it is a harem fantasy after all, but after the 3rd dragon, people are still surprised they are women.
Speaking of harem fantasy… Despite the name, these books aren't over burdened with sex scenes. That's great as they tend to get boring after a while. It probably works better if you don't binge read the books, as they are decently spaced out, but if you read these all in one go, you are going to find yourself skipping scenes. It's fine as the sex doesn't add anything to the story. No new developments or growth, just titillation. The obvious exception is that the first time Ethan sleeps with a dragon who has been changed, she decides being human is great.
As for the story, it's fine. The world is interesting. The author does a good job at organically expanding the scope of the conflict and the size of the world. The characters are also fun, even if they are surrounded by plot armor. The magical guardian who brought Ethan to the world is obviously evil and Ethan will obviously be protecting the world from it when he is done with the dragons. It is not hard to guess how everything in this tale will ultimately turn out.
At the end of the day, Dragon Slayer is just a fun, maybe guilty pleasure, read. It is not overly complex and does a good job at recapping the reader on key points. It is not high fantasy, but it is not trying to be. Overall, I give these books the bronze stash (3/5).
Author steelstashPosted on July 15, 2018 Categories ReviewsTags book, dragon, dragon slayer, dragons, fantasy, michael-scott Earle, review, sword and sorceryLeave a comment on Book Review – Dragon Slayer 1-3 by Michael-Scott Earle
Prince Phillip – Chap. 1
I feel bad about missing last week's #flashfictionfriday. To make up for it, enjoy chapter one of my #wip Prince Phillip.
Hey all. Life got in the way last week and I feel bad about not getting the Friday Flash Fiction up. To make up for it, I've decided to give you all a little extra treat this week. Here is the current draft of the first chapter of Prince Phillip. Enjoy.
The hall was colorfully decorated for the party. Golden banners intertwined with red were strung across the walls. A merry din echoed off the stone surroundings, a mix of happy voices and the plucking of a psaltery filled the air. Everyone was in a joyous mood. After all, the infant princess had just been officially presented to the lords and ladies of the court.
There was one present, however, who was only mildly interested in the baby being celebrated. Prince Phillip had little concern for the child. After all, what use did a baby have to a five-year-old prince? He was far more engrossed by the various foods and punches that were available. The thought of the return trip home was also weighing on his young mind. It took ages to get to East Thuringia and it would take ages to return home. Frowning at the thought, he attempted to wash it away with another drink of punch.
"Phillip, my boy. Come here." The sound of his father's voice cutting over the noise of celebration pulled Phillip from his thoughts and the lad moved towards where his father was standing with Stephen, the king of East Thuringia.
"What do you think of Rose my lad?" Hubert looked down at his son with an expectant eye. Phillip knew the look. It meant his father was waiting for a certain answer, though the boy often did not know which answer his father wanted.
"I don't know father. She doesn't cry much."
Hubert slapped his large belly with a hearty laugh, his face turning a slightly deeper shade of red than his tunic. Phillip smiled, thinking he answered the question well enough. After all, he didn't have much experience with babies outside of those the castle wet nurse helped care for.
"What do you make of that Stephen? A high compliment from a young lad I think."
Stephen stroked a jet-black beard in quiet thought for a moment. "I am not sure what I expected, but there is plenty of time for them to get to know each other." The East Thuringian king was soft-spoken, a stark contrast to his father's boisterous demeanor.
"Then it is settled?" Hubert raised a golden brow at the taller king.
"Yes. It is settled." Stephen turned from Hubert to address the hall. "My lords! If you will please settle yourselves."
The hall quieted down and Hubert pulled his son to the side, holding the lad in front of him.
"My lords," Stephen continued. "Tonight is a great night. We have many things to celebrate. Not only do we have the chance to officially present my daughter Rose on her first birthday, but we also have a very special announcement. We announce the betrothal of Princess Rose to Prince Phillip of Thuringia." The hall broke out into a loud cry of approval at the news. Stephen smiled for a moment before lifting his hands for silence.
"With this pending marriage, the kingdoms of Thuringia and East Thuringia will be forever joined in bonds of brotherhood, and we shall grow together to soar like the Thuringian eagle with the strength of the East Thuringian boar. May God look with favor on this union. Minstrel! Music!"
The sounds of the psaltery once again filled the hall as Hubert pulled Phillip towards his mother. Many lords and ladies began to make their way towards him to congratulate him on the announcement. After what seemed ages of uncomfortable conversations with adults he did not know, Phillip was finally given a reprieve when attention shifted backed towards Stephen.
A funny looking man came striding forward clothed in the yellow of East Thuringia. With a high pitched but firm voice, the steward called out the name of one of the lords. At the sound of his name, the lord came forward and pledged some portion of his harvest to the king. When that was over, the steward called another lord who did similar. This continued for some time with each lord pledging some service or commitment of resources.
This display meant nothing to Phillip and he found his mind wandering. He needed to remember to ask his mother what a "betrothal" was. It seemed important. Maybe it had to do with his father's and Stephen's friendship. The two had been close for years. Phillip had to stifle a chuckle when remembering one of Hubert's stories of a childhood adventure. Maybe that was what a betrothal was, a chance to grow up and have adventures with Rose.
The young prince was pulled from his thoughts by the announcement of the Thuringian fairies. Twelve women came floating past the doors of the hall and towards Stephen. Phillip's eyes lit up at the sight of them. His nurse had told him stories of the fairies who lived deep in the Thuringian forest. Those stories had fueled his young imagination, but it was completely different to see them in person. Each fairy glowed with a soft light and bright colors. It was like watching a rainbow move across the hall.
The entire hall drew to a respectful silence at their approach. Even though the Christian God held dominance over religion, the old ways were still strong. As young as he was, even Phillip knew better than to make a lot of noise or squirm too much Not that he could if he wanted to. He was enthralled by the appearance of the fairies, so much so that he was not paying attention to the gifts that they were offering the baby princess. All he was aware of was each fairy gliding up to the princess and a gentle glow surrounding the baby before being replaced by the next in line.
The blue glow of the final fairy began to fade as she stepped back. Just then, a sudden wind burst through the doors of the hall. As it swirled around the walls, the fires in the hall flickered and roared angrily. A clap of thunder caused Phillip's hands to shoot to his ears and his eyes to squeeze shut. When he opened them again, the hall was dark save for a faint green glow in the center of the hall. The light grew in intensity to reveal a tall, pale woman standing in its aura. She was clad in a dress as black as midnight and seemed to tower over everyone else in the hall. On her shoulder rested a raven, its head cocked to the side as it observed the lords and ladies.
"My my. What a fine gathering you have here tonight Stephen."
"T..Tebofe." Stephen stood rigid on the dais as he stared at the newcomer. "No! Stop!"
Two guards came running from the back of the hall with their spears leveled at the woman in black. She smoothly lifted her arm and flicked her wrist towards the charging men, causing them to fly back through the air and crash into the far wall with a sickening thud. The woman, meanwhile, let a pout appear on her red lips. "Stephen. I am disappointed at my welcome. First, I do not receive an invitation to such an important night. Then you have your guards attack me?"
"It is not like that Tebofe." There was a slight tremor in Stephen's voice. He took a step back and lifted his arm as if to protect himself, his hand trembling in the air in front of him. "We would never disrespect you in such a way."
"I see." Her pout turned to a smirk as she watched the king. While she had never moved from the center of the room, her presence seemed to close on the dais. "My invitation must simply have been lost then." At last, she moved forward, swaying with all the grace of a serpent as she approached the cradle. "What a beautiful child. I think I know the gift I shall offer her."
"Please Tebofe, you do not need to do that." The color was gradually draining from Stephen's face.
"Nonsense. I must." Tebofe straightened and turned her head towards Stephen. "You deliberately ignore me and attempt to keep me from your celebration while allowing my sisters to attend. Your guards charge at me like I am a common thief. I must repay your actions in kind." As she spoke, each word became colder and more clipped. Stretching a skeletal hand over the crib, Tebofe and Rose were surrounded by a black aura.
"Your daughter will grow to be a fine woman with all the grace and beauty promised by my sisters. When her beauty has ripened and she has reached the age of eighteen, on that night she will prick her finger on a spinning wheel and die." Tebofe let out a laugh at the look on the king's face. "Do not worry my dear Stephen. I am not without my mercy. She will be untouched by the ravages of time. Her beauty will be preserved forever."
The dark fairy laughed again as the black aura grew. The laugh filled the hall, mingling with the caw of her raven. The shadows grew to surround her before disappearing suddenly. The fires and torches sprang back to life, but Tebofe was no longer in the hall.
Silence lasted for several seconds before erupting into a loud commotion. Stephen began shouting orders to his guard while the attending lords began to call for their personal troops. Phillip was startled by his mother shaking him by the shoulders. He had not moved the entire time, but he was covered in sweat. His breath was short and ragged. His mother grabbed him by the arm and dragged him from the hall and back towards their rooms.
The remaining two days were a blur. Phillip was rarely allowed to leave his room and never without a guard when he did. Several times, he went into his parents' room only for them to suddenly stop their conversation. He did not understand all of what he heard, but the young prince did hear that the Princess Rose had disappeared following Tebofe's curse. The following night, Phillip saw a great fire started in the courtyard from his window. No one would explain what the fire was for, but soldiers continually arrived at the castle with wagons to toss more things on it.
The fire was still raging on their final morning in the castle. As Phillip sat in the back of the carriage, he watched the thick, black cloud of smoke drift high up towards the heavens. Long after the castle was out of sight, Phillip could still see the smoke slithering up like a snake in the morning light.
If you liked this, please drop me a comment or share with your friends. Don't forget to follow us here, or on Facebook or Twitter so you don't miss the weekly fantasies I destroy my sanity to build for you. We also have our first newsletter coming out at the end of this month with an exclusive short story. Make sure you sign up and as a special thanks, you'll receive another short story for free. And as always, I mustache y'all to stay fantastical.
Author steelstashPosted on April 13, 2018 April 13, 2018 Categories flash fiction friday, Prince PhillipTags fairy, fantasy, flash fiction, flash fiction friday, magic, Prince Phillip, sword and sorcery, WIP, witchesLeave a comment on Prince Phillip – Chap. 1
Flash Fiction Friday 010 – Dabaumon
The forest was dark despite the the clear, mid-afternoon mid-skies. Torvin pulled his cloak tighter against himself to ward off a sudden chill. The old ones spoke of the Black Forest but only in hushed tones. It was an ancient place. A place still held under the sway of the old laws.
He did not like the mission that sent him deep beyond the borders of the forest. A young knight had escorted a woman into its depths several months ago and never returned. The villagers all assumed her and her escort dead. Unfortunately, the knight was from a prominent order who wanted proof of the death.
"Bloody knights and their bloody codes." Torvin spat at the thought of Knights Protector. Easy enough for them to sit in their high towers and make demands. Poor fools like Torvin were the ones who had to carry them out.
The tracker let his mind continue to wander down it's angry path as his feet followed the game trail. This was the most likely road they would have taken. In the distance, he heard a strange rustle. The forest had been acting stranger since the knight's disappearance.
"Ta hell with this." Torch spun around and turned back towards the edge of the forest. It would be dark soon and he wasn't going to spend the night out here alone. As he turned, his eyes landed on a strange looking tree in his path. He blinked, sure that the tree hadn't been there before. Tentatively, he stepped forward towards it.
The tree was gnarled and twisted by the wind. Jagged branches grew all over, clawing the sky in dark malice. It shifted and shuddered suddenly, uncoiling in a grotesquely humanoid shape. It's trunk split open with a sickening creak, revealing rows of mishappen teeth and unending darkness. The eldrich horror lurched forward, the movements like that of a sickly predator. The stench of rot and decay wafted on the breeze, carrying the promise of death should one fall in it's grasp.
With a terrified scream, Torvin clawed at his eyes, desperate to rid himself of the image lumbering towards him. His screams were cut short by the rising wind and darkness overtook him.
If you liked this, please drop me a comment or share with your friends. For more on the Black Forest and the knight Torvin was searching for, check out Salvation on Kindle Unlimited. Don't forget to follow us here, or on Facebook or Twitter so you don't miss the weekly fantasies I destroy my sanity to build for you. We also have our first newsletter coming out at the end of this month with an exclusive short story. Make sure you sign up and as a special thanks, you'll receive another short story for free.
Author steelstashPosted on March 30, 2018 March 30, 2018 Categories flash fiction fridayTags fantasy, flash fiction, flash fiction friday, monster, sword and sorcery, writingLeave a comment on Flash Fiction Friday 010 – Dabaumon
Flash Fiction Friday 007 – A Wizard's Duel
Two wizards meet in a forest clearing and challenge each other to a duel. Thrill as they display their power and seek to gain the upper hand. Will raw strength succeed or will cunning conquer?
"A wizard's duel?" Orpheus raised a brow in surprise and intrigue, a small smile playing across his lips. "What a fascinating thought. Rules?"
"Elemental based att-"
"Boo! Booooring." Orpheus chuckled the look on Maliek's face at being interrupted. "Come now Maliek. Don't frown so." A sigh escaped from Orpheus' lips. "Fine. Fine. Elemental it is. Really, you Mariesian mages need more creativity."
Just as Orpheus finished, Maliek stabbed the ground with his staff. The earth shook and rumbled beneath Orpheus' feet, and he was forced to reach out to a nearby tree for support. Before he could fully regain himself, Maliek slashed upwards with his staff. A blade of air burst from the staff's path, causing the tree to explode.
Orpheus dove out of the way, rolling into a kneel. Splinters and bark rained down around him. He saw the blur of Maliek's staff as another blade of air shot towards him. He did not dive away this time but clapped his hands together at the last moment, catching the airwave. With a twist of the wrists, he turned the wave and flung it up into the sky.
Bringing his arms down, Orpheus directed a bolt of lightning towards Maliek. The larger wizard shielded his eyes from the blinding light while spinning his staff to scatter the bolt's power. Orpheus took advantage of the momentary distraction to rise. A spinning of the finger caused a wind to swirl about Maliek, surrounding him with a thin layer of dirt and leaves. With a snap, Orpheus called forth a clap of thunder.
The clearing was filled with a deafening sound as wind and thunder mixed. As suddenly as it began, the noises stopped, and all was silent. Maliek stood alone in the silence. His vision was still spotty from the lightning and his hearing muffled from the thunder. Cursing, he spun about as he searched for his opponent.
Movement behind a tree caught his eye, and Maliek thrust his staff towards it. Instead of the flame flying from the end of his staff, Maliek's instrument exploded in his hands. The ground beneath his feet rose in the air and tilted, spilling him to the ground below. Vines rose from the exposed earth to bind his wrists and hold him fast to the ground.
"I yield." The surrender was more a growl from the large wizard.
"Poor Maliek," Orpheus said as he stepped from behind a tree. "Always thinking that your magic flows from your weapon. A flaw in the thoughts of the Mariesians." The vines binding Maliek retreated and Orpheus offered the man a hand up. "Come on now. It is time for lunch."
Maliek took the hand and rose with a grunt. "You owe me a new staff."
"Of course, of course." Orpheus smiled. "I was thinking mutton stew. I've been wanting to try the mutton stew at that new tavern near the academy." With a flick of the wrist, Orpheus opened a gateway to the city gates. "You're buying by the way. Victor's rights and all."
Maliek's growl was a halfhearted attempt to keep from smiling as he shoved Orpheus through the gateway.
If you liked this, let us know and share with your friends. Remember to follow for more stories and musings on storytelling. Like us on Facebook or follow us on Twitter. We also have our quarterly newsletter you can sign up for with the link on the sidebar. Sign up for exclusive short stories and news about our projects. And remember, I mustache you to stay fantastical.
Author steelstashPosted on March 9, 2018 March 9, 2018 Categories flash fiction fridayTags fantasy, magic, sorcery, sword and sorcery, wizard, writing1 Comment on Flash Fiction Friday 007 – A Wizard's Duel
Follow steelstashwriting on WordPress.com
Rose Nexus
The Romulean Empire stretched across multiple provinces in the cosmos. At it's center rested Terra and the throne of Lord Caesarium. When a mysterious threat appears on Terra, Magus Brennus must track down its source. His only clue is an odd feeling magic leading somewhere in the cosmos.
Will Brennus be able to save Terra and solve the mystery of the Rose Nexus?
Sign up for our newsletter now and receive news, sales, and exclusive short stories every quarter.
steelstashwriting Create a free website or blog at WordPress.com.


text:
News & Features » News
Mice Capades
Potential use of rodenticides on the mice of the Farallon Islands divides environmentalists
by Alastair Bland
From 1980 through 2003, Peter Pyle worked at the Farallon Islands off the coast of Marin. The veteran bird researcher counted seabirds, observed them feeding their young during nesting time, and many times witnessed and recorded great white sharks attacking and killing pinnipeds in the ocean waters surrounding the legendary islands. Pyle worked for the Point Reyes Bird Observatory at the time, and with a rotating team of assistant scientists, he lived in a small house on Southeast Farallon Island, the 357-foot-high crag visible to landlubbers from 30 miles away but off-limits to the general public. They hiked about the rocky shores, received grocery deliveries twice a month, and often fished for lingcod from a small skiff in the hours before dinnertime.
Today, Pyle, now working with the Institute for Bird Populations in Point Reyes, remembers his many seasons at the islands with a strange blend of sweet nostalgia and dread that makes the skin crawl—for the islands, now as then, are crawling with house mice. The animals are non-native, introduced accidentally more than a century ago by boaters, and every summer and fall their population explodes to grotesque numbers on two of the islands—namely, Southeast Farallon Island and an abutting crag called West End that becomes separated from the bigger island at high tide.
"They're just crawling around everywhere," says Pyle, who was working with the Point Reyes Bird Observatory during his years of island research. "It's like some invasion-of-the-rats movie."
Pete Warzybok/Point Blue
HOME SWEET HOME The Farallon Islands are home to scientists and researchers—and up to 100,000 mice.
The resident scientists, he says, sometimes kept a small compost heap in back of the house where hundreds of mice could be seen at a glance. Walking about on the rocky landscape, mice peeked out from nearly every crack and burrow. Nights in the old Victorian house were especially unsettling, he recalls. The rodents swarmed though the old dwelling. They skittered about on the counters, knocked over dishes, defecated on the dinner table and tousled sleepers' hair. Many individuals, Pyle says, have made attempts at controlling the animals using snap traps. Killing 50 a night can be easy, but it's a futile effort on an island whose mouse population in high season may reach 60,000 to 100,000.
The main problem associated with the Farallon Islands' mice is a complex of ecological imbalances. For one, the mice prey on two native species that live nowhere else: the camel cricket and the arboreal salamander. The rodents' presence has also attracted a population of burrowing owls, predators that previously only used the island for brief migratory stopovers but who now, due to the abundance of mice, remain for long periods.
When the mouse population suddenly plummets early each winter, the owls abruptly find themselves with almost nothing to eat. This turns their attention to native birds, in particular the ashy storm-petrel, a rare species that nests on the islands every winter and spring. The owls, according to experts, are slowly whittling away the petrels' population. But the owls prefer mice, and if only the rodents could be eliminated, the owls, too, might go away.
News Farallon Islands Farallon mice mice eradication


VisionArts Eyecare Center has a long standing commitment to serving Callaway County and the surrounding areas. The original optometric practice, located in office space above the Callaway Bank, was founded in 1949 by William R. Wright, O.D. In 1954, after serving his country in the U.S. Navy during WWII, Richard C. White, O.D. purchased the practice from Dr. Wright.
Dr. White relocated to the practice to 8 West 6th Street in 1959. During the late 1950s, modern day corneal lenses were invented and Dr. White was on the cutting-edge of fitting of contact lenses. Dr. White continued to successfully provide the community with excellent eye care services for forty years. In 1988, while attending continuing education in foreign body removal at UMSL School of Optometry, Dr. White met optometry student, J.W. Vann. The two continued to communicate and after receiving his doctorate in 1990, J.W. Vann, O.D. joined Dr. White in practice.
Two years later, in 1992, Dr. Vann purchased the practice from Dr. White and the practice became known as VisionArts Eyecare Center and moved to its current location at 614 Market Street the following year.
The following few years brought many changes to the practice including new exam equipment, additional eyewear, and new contact lens options, as well as the retirement of Dr. White in 1994. New Field of Vision Technology added in 1998 and in 1999 computerized medical records implemented into the practice. That same year, Dr. Vann was named "Young Optometrist of the Year" by the Missouri Optometric Association. Computerized medical records implemented into the practice.
With the new millennia came the EPIC Auto-Refracting System and new Glaucoma technology. Eye-Imaginations Software added to expand patient education in 2003, as well as Magic Mirror Technology added to assist in individualized frame selection. In 2004 Dr. Vann received Marchon Eyewear's "Leader in the Eyecare Profession" award. Corneal Mapping technology added that same year. As an alternative to dilation, the Optomap Retinal Exam (Optos) was added in 2005. Our office was the 2nd practice in Missouri and is still the only practice in Callaway County to provide this technology.
VisionArts received a "Business of the Year" award by Fulton Area Development Corporation this same year. In 2008, the Optovue OCT was implemented, allowing us to detect glaucoma changes up to 10 years earlier than traditional testing. This was one of first 3 OCTs placed in Missouri and the only one in Callaway County. A Konan Corneal Cell Analyzer as well as Digital Eye Pressure technology was added in 2009. The following year, we were the first eye care practice in Missouri to begin using a Biophotonic Scanner in order to measure antioxidant levels in the body.
In 2011 we became the only practice in Missouri to offer anti-aging technology allowing patients to avoid or delay Botox or eyelid surgery. That same year, we introduced Z-Vue High-Definition Lens Technology. 2012 brought with it tear lab testing to evaluate tear quality, and also Macula Risk DNA Testing for macular degeneration. Vita Risk testing was added to the Macula Risk Testing in 2013, allowing us to recommend specific eye vitamins based on each patient's genetic makeup. Also in 2013, Visually Evoked Potential testing was implemented, which performs similarly to and EKG, showing us how your brain & your eyes communicate. We began performing ClearPath DS-120 scans in 2014, allowing us to evaluate how a patient's body has processed glucose over his or her entire lifetime, thus giving us insight into the patient's potential to develop diabetes seven years sooner than any blood test. That year, Transitions Optical also chose VisionArts Eyecare Center as one of the top six eye care practices in the nation among the thousands of practices that offer the Transitions Brand Family of Adaptive Lenses.
Again in 2015, Transitions Optical named VisionArts one of the top three eye care practices in the nation. We are also a finalist for Transitions Optical's Innovation Award for Best in Patient Experience. We were also the first eye care practice in the state of Missouri to begin using the Visioffice 2 measuring system, which allows us to prescribe, fully customized, high definition lenses to our patients. Dr. Vann celebrated his 25th year as an eye care practitioner in 2015, and he is committed to bringing the community many more years of cutting edge eye care with personalized patient care and innovative health technology.


20%37°28°Cloudy with a high of 36 °F (2.2 °C). Winds variable.Night - Cloudy. Winds variable at 2 to 8 mph (3.2 to 12.9 kph). The overnight low will be 26 °F (-3.3 °C).
0%39°26°Cloudy today with a high of 39 °F (3.9 °C) and a low of 26 °F (-3.3 °C).
0%35°23°Partly cloudy today with a high of 35 °F (1.7 °C) and a low of 23 °F (-5.0 °C).
0%40°18°Sunny today with a high of 40 °F (4.4 °C) and a low of 18 °F (-7.8 °C).
0%40°21°Mostly cloudy today with a high of 40 °F (4.4 °C) and a low of 21 °F (-6.1 °C).
10%38°29°Cloudy today with a high of 38 °F (3.3 °C) and a low of 29 °F (-1.7 °C).
25%36°29°Mostly cloudy today with a high of 36 °F (2.2 °C) and a low of 29 °F (-1.7 °C). There is a 25% chance of precipitation.
0%43°24°Partly cloudy today with a high of 43 °F (6.1 °C) and a low of 24 °F (-4.4 °C).
0%37°27°Mostly cloudy today with a high of 37 °F (2.8 °C) and a low of 27 °F (-2.8 °C).
Today - Cloudy with a high of 36 °F (2.2 °C). Winds variable.
Tonight - Cloudy. Winds variable at 2 to 8 mph (3.2 to 12.9 kph). The overnight low will be 26 °F (-3.3 °C).


This post categorized under Heels and posted on August 31st, 2018.
Online shopping for Clothing Shoes & Jewelry from a great selection of Clothing Jewelry Shoes Accessories Handbags & Wallets Watches & Find great deals on eBay for womens medium heel dress shoes . Shop with confidence.
Shop Dillards large selection of womens mid heel dres sandals available in your favorite brands including Adrainna Papell Badgley Mischka and kate spade new york.


text:
$(function () {
    // Create the chart
    $('#google-chart').highcharts({

        title: {
            text: 'Highcharts data from Google Spreadsheets'
        },

        data: {
            googleSpreadsheetKey: '0AoIaUO7wH1HwdENPcGVEVkxfUDJkMmFBcXMzOVVPdHc'
        },

        credits: {
          enabled: false
        }

    });
});


text:
EPBiH to build 56 MW solar park on coal plant's ash, slag dump in Tuzla
The state energy supplier Elektroprivreda Bosne i Hercegovine (EPBiH) is preparing the installation of a photovoltaic system with 56 MW on the site of an ash and slag dump of the Tuzla coal-fired power plant in the north of Bosnia and Herzegovina.
Elektroprivreda BiH CEO Admir Andelija and other company representatives spoke to the mayor of Tuzla, Jasmin Imamović, and his team about the utility's plan to build a 56 MW solar park called Divkovići 1 and 2 on the site of an ash and slag dump within the city to build complex of thermal power station Tuzla.
Local officials agreed that the city's zoning plan and canton of Tuzla's spatial plan should be changed to allow the renewable energy facility to be built, the state-owned company said. According to EPBiH, Imamović and his staff have also expressed their support for the desulphurisation project for Unit 6 in the Tuzla coal-fired power plant.
Expansion of the biomass project on coal mine site
The utility also presented its project to grow biomass on the land of its coal mines, as well as its other activities related to decarbonising the energy sector and a just transition of regions where the local economy is still dependent on fossil fuels. Rapidly growing pasture is intended to partially replace coal in thermal power plants.
Rapidly growing pasture is intended to partially replace coal in thermal power plants
Volateq Brings Drone Monitoring Subscriptions for Trough…
Researchers Successfully Prove UAE Desert Sand Can Store…
Vast Solar Consortium Patents Flexitank; Prevents Thermal…
The trees will be planted on one hectare each in Kreka and Breza, and a total of 15 hectares will be added in Kreka, Breza and Đurđevik. Elektroprivreda Srbije from neighboring Serbia is implementing the same project.
"It is very important for us that Elektroprivreda BiH diversifies the growth directions and adjusts to the inevitable decarbonization. It is important for us to have a strong EPBiH as a prerequisite for Bosnia and Herzegovina's energy independence. It is important to us to have high-quality heating in Tuzla, while clean air is particularly important to us, "said Mayor Imamović.
Decarbonization trend in the coal sector
Companies that produce coal and operate thermal power plants are working on converting to other energy sources. The trend also gained momentum in Southeastern Europe, particularly in the rehabilitation of landfills and their use, as well as exhausted open-cast coal mines for the construction of wind and solar parks.
However, the EPBiH is not giving up the construction of two coal-fired power plants.
The Republic of Srpska, BiH's other entity, plans to install utility-scale solar power plants on disused opencast mines in the RiTE Ugljevik coal mining and power generation complex, which operates as part of the state-controlled utility Elektroprivreda Republike Srpske (ERS).
AshbuildCoaldumpEPBiHParkPlantsSlag
Residential Boiler Market Size, Trends, Forecast to 2029
Electric Heating Radiant Ceiling Panels Market Size 2021 Analysis by Top Key Players
Volateq Brings Drone Monitoring Subscriptions for Trough Solar Thermal…
Researchers Successfully Prove UAE Desert Sand Can Store Solar Energy…
Vast Solar Consortium Patents Flexitank; Prevents Thermal Storage…
Solar Power Products Market | Industry Growth and Forecast Analysis…


Born Sept. 17, 1922, in Icolo-e-Bengo, Luanda District, Angola. Major figure of the liberation movement of Angola; poet.
Neto was the son of a Protestant clergyman from the Kimbundu tribe. In 1958 he graduated from the faculty of medicine of the university in Coimbra, Portugal, after which he took part in the Angolan people's liberation struggle against the Portuguese colonizers. In 1962 he became president of the Popular Movement for the Liberation of Angola (MPLA), a party that was founded in 1956. In November 1975 he became president of the People's Republic of Angola. Neto began writing poetry in 1947. He is the author of the collections Poems (1961, in Portuguese) and Dry Eyes (in Italian, 1963; in Portuguese, 1969). He has received the Lotus Prize from the Permanent Bureau of Afro-Asian Writers (1970).
In Stikhi poetov Afriki. Moscow, 1958.
In Vzgliadom serdtsa. Moscow, 1961.
In Zdes' i trava roditsia krasnoi. Moscow, 1967.
S sukhimi glazami. Moscow, 1970.
Nekrasova, L. V. "Poeziia Angoly i Mozambika." In the collection Literatura stran Afriki. Moscow, 1964.


text:
Government identifies rooftops for solar energy
James Debono
The rooftops of some 29 public buildings, including MEPA, the Police headquarters, Mater Dei hospital, the Inland Revenue Department, and ten public schools have been identified as potential sites for solar energy installations by the resources ministry.
The estimated total unshaded area available for this project is estimated at 67,263 square metres, 40,000 of which lies on property belonging to the Water Services Corporation.
The most promising source of solar energy is a group of reservoirs belonging to the WSC in Ta' Qali, which has an unshaded area of 17,150 square metres.
The Maria Assumpta school, with an unshaded area of 3,592 square metres, has the greatest potential among the 10 public schools chosen.
Despite its enormous size, Mater Dei only has an unshaded area of 1,359 square metres – less than the Police headquarters (1,893 sq.m) and the Employment Training Corporation (2,500 sq.m).
The electricity generated from the photovoltaic systems will be fed into the national grid. The winning bidder for the project will be responsible for the financing, design, supply, installation, operation, and maintenance of photovoltaic systems on these public buildings in Malta.
Replacing the entire street lighting system with one fuelled by solar energy would cost the country €80 million, Infrastructure Minister Austin Gatt told parliament before the Christmas recess. The government has ruled out replacing the entire street lighting system, but does not exclude using solar generation in places where no street lighting currently exists.
Councils invest in renewables
During the past year, 41 local councils have benefited from an energy saving scheme introduced last year in which government subsidised councils with an allocation of €314,900 to support various local initiatives costing €468,529.
The top investors in this scheme were Qormi and Siggiewi which spent €10,000 each out of their own coffers, while receiving the same amount from the government to have their own rooftop photovoltaic systems.
While 26 councils made a separate bid, 15 Maltese and Gozitan councils formed a consortium to implement renewable energy systems in their locality.
The Gharb council installed a photovoltaic system on the primary school with the aim of educating students on the project, while Ghaxaq council installed a photovoltaic system on a sports centre. The St Paul's Bay council proposed an off-grid PV system for a street lighting system.


text:
package com.vaadin.client;

import java.util.logging.Logger;

import com.google.gwt.aria.client.Roles;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHTML;
import com.vaadin.client.communication.StateChangeEvent;
import com.vaadin.client.ui.AbstractFieldConnector;
import com.vaadin.client.ui.Icon;
import com.vaadin.client.ui.ImageIcon;
import com.vaadin.client.ui.aria.AriaHelper;
import com.vaadin.shared.AbstractComponentState;
import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.ComponentConstants;
import com.vaadin.shared.ui.ComponentStateUtil;

public class VCaption extends HTML {

    public static final String CLASSNAME = "v-caption";

    private final ComponentConnector owner;

    private Element errorIndicatorElement;

    private Element requiredFieldIndicator;

    private Icon icon;

    private String iconAltText = "";

    private Element captionText;

    private final ApplicationConnection client;

    private boolean placedAfterComponent = false;

    private int maxWidth = -1;

    private enum InsertPosition {
        ICON, CAPTION, REQUIRED, ERROR
    }

    private TooltipInfo tooltipInfo = null;

    private boolean captionAsHtml = false;

    /**
     * Creates a caption that is not linked to a {@link ComponentConnector}.
     *
     * When using this constructor, {@link #getOwner()} returns null.
     *
     * @param client
     *            ApplicationConnection
     * @deprecated all captions should be associated with a paintable widget and
     *             be updated from shared state, not UIDL
     */
    @Deprecated
    public VCaption(ApplicationConnection client) {
        super();
        this.client = client;
        owner = null;

        setStyleName(CLASSNAME);
        sinkEvents(VTooltip.TOOLTIP_EVENTS);

    }

    /**
     * Creates a caption for a {@link ComponentConnector}.
     *
     * @param component
     *            owner of caption, not null
     * @param client
     *            ApplicationConnection
     */
    public VCaption(ComponentConnector component, ApplicationConnection client) {
        super();
        this.client = client;
        owner = component;

        if (client != null && owner != null) {
            setOwnerPid(getElement(), owner.getConnectorId());
        }

        setStyleName(CLASSNAME);
    }

    @Override
    protected void onAttach() {
        super.onAttach();

        if (null != owner) {
            AriaHelper.bindCaption(owner.getWidget(), getElement());
        }

    }

    @Override
    protected void onDetach() {
        super.onDetach();

        if (null != owner) {
            AriaHelper.bindCaption(owner.getWidget(), null);
            AriaHelper.handleInputInvalid(owner.getWidget(), false);
            AriaHelper.handleInputRequired(owner.getWidget(), false);
        }
    }

    /**
     * Updates the caption from UIDL.
     *
     * This method may only be called when the caption has an owner - otherwise,
     * use {@link #updateCaptionWithoutOwner(UIDL, String, boolean, boolean)}.
     *
     * @return true if the position where the caption should be placed has
     *         changed
     */
    public boolean updateCaption() {
        boolean wasPlacedAfterComponent = placedAfterComponent;

        // Caption is placed after component unless there is some part which
        // moves it above.
        placedAfterComponent = true;

        String style = CLASSNAME;
        if (ComponentStateUtil.hasStyles(owner.getState())) {
            for (String customStyle : owner.getState().styles) {
                style += " " + CLASSNAME + "-" + customStyle;
            }
        }
        if (!owner.isEnabled()) {
            style += " " + StyleConstants.DISABLED;
        }
        setStyleName(style);

        boolean hasIcon = owner.getState().resources
                .containsKey(ComponentConstants.ICON_RESOURCE);
        boolean showRequired = false;
        boolean showError = owner.getState().errorMessage != null;
        if (owner.getState() instanceof AbstractFieldState) {
            AbstractFieldState abstractFieldState = (AbstractFieldState) owner
                    .getState();
            showError = showError && !abstractFieldState.hideErrors;
        }
        if (owner instanceof AbstractFieldConnector) {
            showRequired = ((AbstractFieldConnector) owner).isRequired();
        }

        if (icon != null) {
            getElement().removeChild(icon.getElement());
            icon = null;
        }
        if (hasIcon) {
            String uri = owner.getState().resources.get(
                    ComponentConstants.ICON_RESOURCE).getURL();

            icon = client.getIcon(uri);

            if (icon instanceof ImageIcon) {
                // onload will set appropriate size later
                icon.setWidth("0");
                icon.setHeight("0");
            }

            DOM.insertChild(getElement(), icon.getElement(),
                    getInsertPosition(InsertPosition.ICON));

            // Icon forces the caption to be above the component
            placedAfterComponent = false;
        }

        if (owner.getState().caption != null) {
            // A caption text should be shown if the attribute is set
            // If the caption is null the ATTRIBUTE_CAPTION should not be set to
            // avoid ending up here.

            if (captionText == null) {
                captionText = DOM.createDiv();
                captionText.setClassName("v-captiontext");

                DOM.insertChild(getElement(), captionText,
                        getInsertPosition(InsertPosition.CAPTION));
            }

            // Update caption text
            String c = owner.getState().caption;
            // A text forces the caption to be above the component.
            placedAfterComponent = false;
            if (c == null || c.trim().equals("")) {
                // Not sure if c even can be null. Should not.

                // This is required to ensure that the caption uses space in all
                // browsers when it is set to the empty string. If there is an
                // icon, error indicator or required indicator they will ensure
                // that space is reserved.
                if (!hasIcon && !showRequired && !showError) {
                    captionText.setInnerHTML(" ");
                }
            } else {
                setCaptionText(captionText, owner.getState());
            }

        } else if (captionText != null) {
            // Remove existing
            DOM.removeChild(getElement(), captionText);
            captionText = null;
        }

        if (ComponentStateUtil.hasDescription(owner.getState())
                && captionText != null) {
            addStyleDependentName("hasdescription");
        } else {
            removeStyleDependentName("hasdescription");
        }

        AriaHelper.handleInputRequired(owner.getWidget(), showRequired);

        if (showRequired) {
            if (requiredFieldIndicator == null) {
                requiredFieldIndicator = DOM.createDiv();
                requiredFieldIndicator
                        .setClassName("v-required-field-indicator");
                DOM.setInnerText(requiredFieldIndicator, "*");

                DOM.insertChild(getElement(), requiredFieldIndicator,
                        getInsertPosition(InsertPosition.REQUIRED));

                // Hide the required indicator from assistive device
                Roles.getTextboxRole().setAriaHiddenState(
                        requiredFieldIndicator, true);
            }
        } else if (requiredFieldIndicator != null) {
            // Remove existing
            DOM.removeChild(getElement(), requiredFieldIndicator);
            requiredFieldIndicator = null;
        }

        AriaHelper.handleInputInvalid(owner.getWidget(), showError);

        if (showError) {
            if (errorIndicatorElement == null) {
                errorIndicatorElement = DOM.createDiv();
                DOM.setInnerHTML(errorIndicatorElement, " ");
                DOM.setElementProperty(errorIndicatorElement, "className",
                        "v-errorindicator");

                DOM.insertChild(getElement(), errorIndicatorElement,
                        getInsertPosition(InsertPosition.ERROR));

                // Hide error indicator from assistive devices
                Roles.getTextboxRole().setAriaHiddenState(
                        errorIndicatorElement, true);
            }
        } else if (errorIndicatorElement != null) {
            // Remove existing
            getElement().removeChild(errorIndicatorElement);
            errorIndicatorElement = null;
        }

        return (wasPlacedAfterComponent != placedAfterComponent);
    }

    private int getInsertPosition(InsertPosition element) {
        int pos = 0;
        if (InsertPosition.ICON.equals(element)) {
            return pos;
        }
        if (icon != null) {
            pos++;
        }

        if (InsertPosition.CAPTION.equals(element)) {
            return pos;
        }

        if (captionText != null) {
            pos++;
        }

        if (InsertPosition.REQUIRED.equals(element)) {
            return pos;
        }
        if (requiredFieldIndicator != null) {
            pos++;
        }

        // if (InsertPosition.ERROR.equals(element)) {
        // }
        return pos;

    }

    @Deprecated
    public boolean updateCaptionWithoutOwner(String caption, boolean disabled,
            boolean hasDescription, boolean hasError, String iconURL) {
        return updateCaptionWithoutOwner(caption, disabled, hasDescription,
                hasError, iconURL, "");
    }

    @Deprecated
    public boolean updateCaptionWithoutOwner(String caption, boolean disabled,
            boolean hasDescription, boolean hasError, String iconURL,
            String iconAltText) {
        boolean wasPlacedAfterComponent = placedAfterComponent;

        // Caption is placed after component unless there is some part which
        // moves it above.
        placedAfterComponent = true;

        String style = VCaption.CLASSNAME;
        if (disabled) {
            style += " " + StyleConstants.DISABLED;
        }
        setStyleName(style);
        if (hasDescription) {
            if (captionText != null) {
                addStyleDependentName("hasdescription");
            } else {
                removeStyleDependentName("hasdescription");
            }
        }
        boolean hasIcon = iconURL != null;

        if (icon != null) {
            getElement().removeChild(icon.getElement());
            icon = null;
        }
        if (hasIcon) {
            icon = client.getIcon(iconURL);
            if (icon instanceof ImageIcon) {
                // onload sets appropriate size later
                icon.setWidth("0");
                icon.setHeight("0");
            }
            icon.setAlternateText(iconAltText);
            DOM.insertChild(getElement(), icon.getElement(),
                    getInsertPosition(InsertPosition.ICON));

            // Icon forces the caption to be above the component
            placedAfterComponent = false;

        }

        if (caption != null) {
            // A caption text should be shown if the attribute is set
            // If the caption is null the ATTRIBUTE_CAPTION should not be set to
            // avoid ending up here.

            if (captionText == null) {
                captionText = DOM.createDiv();
                captionText.setClassName("v-captiontext");

                DOM.insertChild(getElement(), captionText,
                        getInsertPosition(InsertPosition.CAPTION));
            }

            // Update caption text
            // A text forces the caption to be above the component.
            placedAfterComponent = false;
            if (caption.trim().equals("")) {
                // This is required to ensure that the caption uses space in all
                // browsers when it is set to the empty string. If there is an
                // icon, error indicator or required indicator they will ensure
                // that space is reserved.
                if (!hasIcon && !hasError) {
                    captionText.setInnerHTML(" ");
                }
            } else {
                if (captionAsHtml) {
                    captionText.setInnerHTML(caption);
                } else {
                    captionText.setInnerText(caption);
                }
            }

        } else if (captionText != null) {
            // Remove existing
            DOM.removeChild(getElement(), captionText);
            captionText = null;
        }

        if (hasError) {
            if (errorIndicatorElement == null) {
                errorIndicatorElement = DOM.createDiv();
                DOM.setInnerHTML(errorIndicatorElement, " ");
                DOM.setElementProperty(errorIndicatorElement, "className",
                        "v-errorindicator");

                DOM.insertChild(getElement(), errorIndicatorElement,
                        getInsertPosition(InsertPosition.ERROR));
            }
        } else if (errorIndicatorElement != null) {
            // Remove existing
            getElement().removeChild(errorIndicatorElement);
            errorIndicatorElement = null;
        }

        return (wasPlacedAfterComponent != placedAfterComponent);
    }

    @Override
    public void onBrowserEvent(Event event) {
        super.onBrowserEvent(event);
        final Element target = DOM.eventGetTarget(event);

        if (DOM.eventGetType(event) == Event.ONLOAD
                && icon.getElement() == target) {
            icon.setWidth("");
            icon.setHeight("");

            // if max width defined, recalculate
            if (maxWidth != -1) {
                setMaxWidth(maxWidth);
            } else {
                String width = getElement().getStyle().getProperty("width");
                if (width != null && !width.equals("")) {
                    setWidth(getRequiredWidth() + "px");
                }
            }

            /*
             * The size of the icon might affect the size of the component so we
             * must report the size change to the parent TODO consider moving
             * the responsibility of reacting to ONLOAD from VCaption to layouts
             */
            if (owner != null) {
                Util.notifyParentOfSizeChange(owner.getWidget(), true);
            } else {
                getLogger()
                        .warning(
                                "Warning: Icon load event was not propagated because VCaption owner is unknown.");
            }
        }
    }

    public static boolean isNeeded(AbstractComponentState state) {
        if (state.caption != null) {
            return true;
        }
        if (state.resources.containsKey(ComponentConstants.ICON_RESOURCE)) {
            return true;
        }
        if (state.errorMessage != null) {
            return true;
        }

        if (state instanceof AbstractFieldState) {
            if (((AbstractFieldState) state).required) {
                return true;
            }
        }

        return false;
    }

    /**
     * Checks whether anything in a given state change might cause the caption
     * to change.
     *
     * @param event
     *            the state change event to check
     * @return true if the caption might have changed; otherwise
     *         false
     */
    public static boolean mightChange(StateChangeEvent event) {
        if (event.hasPropertyChanged("caption")) {
            return true;
        }
        if (event.hasPropertyChanged("resources")) {
            return true;
        }
        if (event.hasPropertyChanged("errorMessage")) {
            return true;
        }

        return false;
    }

    /**
     * Returns Paintable for which this Caption belongs to.
     *
     * @return owner Widget
     */
    public ComponentConnector getOwner() {
        return owner;
    }

    public boolean shouldBePlacedAfterComponent() {
        return placedAfterComponent;
    }

    public int getRenderedWidth() {
        int width = 0;

        if (icon != null) {
            width += WidgetUtil.getRequiredWidth(icon.getElement());
        }

        if (captionText != null) {
            width += WidgetUtil.getRequiredWidth(captionText);
        }
        if (requiredFieldIndicator != null) {
            width += WidgetUtil.getRequiredWidth(requiredFieldIndicator);
        }
        if (errorIndicatorElement != null) {
            width += WidgetUtil.getRequiredWidth(errorIndicatorElement);
        }

        return width;

    }

    public int getRequiredWidth() {
        int width = 0;

        if (icon != null) {
            width += WidgetUtil.getRequiredWidth(icon.getElement());
        }
        if (captionText != null) {
            int textWidth = captionText.getScrollWidth();
            if (BrowserInfo.get().isFirefox()) {
                /*
                 * In Firefox3 the caption might require more space than the
                 * scrollWidth returns as scrollWidth is rounded down.
                 */
                int requiredWidth = WidgetUtil.getRequiredWidth(captionText);
                if (requiredWidth > textWidth) {
                    textWidth = requiredWidth;
                }

            }
            width += textWidth;
        }
        if (requiredFieldIndicator != null) {
            width += WidgetUtil.getRequiredWidth(requiredFieldIndicator);
        }
        if (errorIndicatorElement != null) {
            width += WidgetUtil.getRequiredWidth(errorIndicatorElement);
        }

        return width;

    }

    public int getHeight() {
        int height = 0;
        int h;

        if (icon != null) {
            h = WidgetUtil.getRequiredHeight(icon.getElement());
            if (h > height) {
                height = h;
            }
        }

        if (captionText != null) {
            h = WidgetUtil.getRequiredHeight(captionText);
            if (h > height) {
                height = h;
            }
        }
        if (requiredFieldIndicator != null) {
            h = WidgetUtil.getRequiredHeight(requiredFieldIndicator);
            if (h > height) {
                height = h;
            }
        }
        if (errorIndicatorElement != null) {
            h = WidgetUtil.getRequiredHeight(errorIndicatorElement);
            if (h > height) {
                height = h;
            }
        }

        return height;
    }

    public void setAlignment(String alignment) {
        getElement().getStyle().setProperty("textAlign", alignment);
    }

    public void setMaxWidth(int maxWidth) {
        this.maxWidth = maxWidth;
        getElement().getStyle().setWidth(maxWidth, Unit.PX);

        if (icon != null) {
            icon.getElement().getStyle().clearWidth();
        }

        if (captionText != null) {
            captionText.getStyle().clearWidth();
        }

        int requiredWidth = getRequiredWidth();
        /*
         * ApplicationConnection.getConsole().log( "Caption maxWidth: " +
         * maxWidth + ", requiredWidth: " + requiredWidth);
         */
        if (requiredWidth > maxWidth) {
            // Needs to truncate and clip
            int availableWidth = maxWidth;

            // DOM.setStyleAttribute(getElement(), "width", maxWidth + "px");
            if (requiredFieldIndicator != null) {
                availableWidth -= WidgetUtil
                        .getRequiredWidth(requiredFieldIndicator);
            }

            if (errorIndicatorElement != null) {
                availableWidth -= WidgetUtil
                        .getRequiredWidth(errorIndicatorElement);
            }

            if (availableWidth < 0) {
                availableWidth = 0;
            }

            if (icon != null) {
                int iconRequiredWidth = WidgetUtil.getRequiredWidth(icon
                        .getElement());
                if (availableWidth > iconRequiredWidth) {
                    availableWidth -= iconRequiredWidth;
                } else {
                    icon.getElement().getStyle()
                            .setWidth(availableWidth, Unit.PX);
                    availableWidth = 0;
                }
            }
            if (captionText != null) {
                int captionWidth = WidgetUtil.getRequiredWidth(captionText);
                if (availableWidth > captionWidth) {
                    availableWidth -= captionWidth;

                } else {
                    captionText.getStyle().setWidth(availableWidth, Unit.PX);
                    availableWidth = 0;
                }

            }

        }
    }

    /**
     * Sets the tooltip that should be shown for the caption
     *
     * @param tooltipInfo
     *            The tooltip that should be shown or null if no tooltip should
     *            be shown
     */
    public void setTooltipInfo(TooltipInfo tooltipInfo) {
        this.tooltipInfo = tooltipInfo;
    }

    /**
     * Returns the tooltip that should be shown for the caption
     *
     * @return The tooltip to show or null if no tooltip should be shown
     */
    public TooltipInfo getTooltipInfo() {
        return tooltipInfo;
    }

    protected com.google.gwt.user.client.Element getTextElement() {
        return DOM.asOld(captionText);
    }

    public static String getCaptionOwnerPid(Element e) {
        return getOwnerPid(e);
    }

    private native static void setOwnerPid(Element el, String pid)
    /*-{
        el.vOwnerPid = pid;
    }-*/;

    public native static String getOwnerPid(Element el)
    /*-{
        return el.vOwnerPid;
    }-*/;

    /**
     * Sets whether the caption is rendered as HTML.
     *

     * Default is false
     *
     * @param captionAsHtml
     *            true if the captions are rendered as HTML, false if rendered
     *            as plain text
     */
    public void setCaptionAsHtml(boolean captionAsHtml) {
        this.captionAsHtml = captionAsHtml;
    }

    /**
     * Checks whether captions are rendered as HTML.
     *

     * Default is false
     *
     * @return true if the captions are rendered as HTML, false if rendered as
     *         plain text
     */
    public boolean isCaptionAsHtml() {
        return captionAsHtml;
    }

    /**
     * Sets the text of the given caption element to the caption found in the
     * state.
     *

     * Uses {@link AbstractComponentState#captionAsHtml} to determine whether to
     * set the caption as html or plain text
     *
     * @since 7.4
     * @param captionElement
     *            the target element
     * @param state
     *            the state from which to read the caption text and mode
     */
    public static void setCaptionText(Element captionElement,
            AbstractComponentState state) {
        if (state.captionAsHtml) {
            captionElement.setInnerHTML(state.caption);
        } else {
            captionElement.setInnerText(state.caption);
        }

    }

    /**
     * Sets the text of the given widget to the caption found in the state.
     *

     * Uses {@link AbstractComponentState#captionAsHtml} to determine whether to
     * set the caption as html or plain text
     *
     * @since 7.4
     * @param widget
     *            the target widget
     * @param state
     *            the state from which to read the caption text and mode
     */
    public static void setCaptionText(HasHTML widget,
            AbstractComponentState state) {
        if (state.captionAsHtml) {
            widget.setHTML(state.caption);
        } else {
            widget.setText(state.caption);
        }

    }

    private static Logger getLogger() {
        return Logger.getLogger(VCaption.class.getName());
    }
}


This is Mr Sokolove's Law Firms' second go around at the High Court in the last several years. The rationale for the RI Top Court's decision is probably confusing to a layperson. Nonetheless, the Highest Court located in Providence pulled the plug until further order on the Sokolove operation.
The upheaval at Sokolove's firm is unclear but it appears that the firm's prior Attorney is out after a short stint and now replaced by a new attorney. the reason for this Attorney change is unclear at this time.
"This matter came before the Court in conference on the change in circumstances submitted by Sokolove Law, LLC. On January 21, 2010 the Clerk's Office issued Sokolove Law, LLC a license to practice law in Rhode Island as a limited liability company in accordance with this Court's opinion in In re Law Offices of James Sokolove LLC, 986 A.2d 997, 1005 (R.I. 2010). On April 3, 2012, Sokolove Law notified the Clerk's Office of a change to the facts set forth in its original application as required by Article II, Rule 10(e) of the Supreme Court Rules on the Admission to Practice Law — specifically, the replacement of Brian J. Farrell, who was listed in the original application as the sole Rhode Island attorney who would practice law in this state on behalf of the limited liability company. The change in circumstances lists Rhode Island Attorney Peter M. Iascone, with an address of 117 Bellevue Avenue, Newport, Rhode Island, as its only local attorney. The Newport address is the same address out of which Attorney Iascone has practiced law as Peter M. Iascone & Associates Ltd., an unlicensed professional service corporation which has been registered with the Rhode Island Secretary of State since April 11, 1986. In addition to practicing law as a professional service corporation without a license from this Court, Attorney Iascone has not obtained this Court's approval to serve as "an officer, shareholder, director or employee of any other corporation" as required by G.L. 1956 § 7-5.1-3(a) of the Professional Service Corporations Act.
Please keep posted as this ongoing saga continues.


From West Bengal to Gujarat is a long drive for a small car. Bumps and breakdowns are normal events in India. But what the Tata Nano episode shows is that politics matters — mostly for the worse, but sometimes there's good in it as well.
Less than a week after the Tatas pulled out of Singur, they found a new site in Gujarat. The chain of events can be disputed and it can be argued that it was chief minister Narendra Modi and his senior civil servants who induced Ratan Tata to come there.
In a sense, Gujarat is the antithesis of a "normal" Indian state: It has industrial peace, a relatively efficient civil service, quick decision-taking on economic matters and success in attracting investments without bending over backward by doling out incentives. How does Gujarat manage that? Why can't others replicate its success?
In most states, chief ministers confront numerous problems. Usually, the opposition is too strong to permit any concessions to industrialists. In West Bengal, for example, the ruling Left Front (which won 227 seats in a 294-member assembly in 2006) was no match for one politician: Mamata Banerjee. There are other, more pernicious, sources of opposition, usually within the ruling party. Then there's the bureaucracy to handle. Interest group politics takes away whatever is left of economic dynamism. Finally, if the state is anywhere near elections, one can say "tata" to projects: A small incident can derail electoral fortunes.
Gujarat has none of these problems. Modi brooks no opposition within or outside his party. That's where the paradox lies. If Modi is plain bad news in liberal eyes, he's doing a whole lot of good to the economy of his state. In terms of the usual indicators of success (such as per capita income growth and economic growth rate), Gujarat is way ahead of most states. For a country with perhaps the single largest pool of poor in the world, the choice ought to be growth and not the politics that one individual practises. But then, that's another story.
Tatas' effusive yes to Gujarat does not take away the odium of political violence unleashed against minorities there in 2002. But equally, that single but awful episode ought not to damn Gujarat forever. The relocation of the Nano project does not imply a yes to the Gujarat brand of politics. Such mixing of economics and politics is of Leftist origin. If India is to power ahead, it's best that such notions are discarded quickly.


text:
Privacy & Advertising Disclosure
Copyright What? Why? How Come? 2020 | Theme by ThemeinProgress | Proudly powered by WordPress
What? Why? How Come?Finding answers to life's random questions
Why Do We Kiss?
September 12, 2013Uncategorized Standard
Many of us do it multiple times every day. We kiss good morning, goodnight, hello, goodbye. A kiss comes in many forms: a peck on the cheek, the air kiss, a kiss on the hand, as well as those of a more romantic variety. But, why do we do it? Where did the idea of touching one's lips to another come from? Our motivations to kiss vary just as much. Is a biological or social?
A Google search for "kiss", not surprisingly, has over 500 million hits. What is surprising (to me, anyway) is that the first page is almost entirely dedicated to the 70s heavy metal band. Searching "why kiss" turns up 634 million. (Apparently, I am not the only one wondering.)
According to Wikipedia, "a kiss can express sentiments of love, passion, affection, respect, greeting, friendship, peace and good luck, among many others. In some situations a kiss is a ritual, formal or symbolic gesture indicating devotion, respect, or sacrament." The website further explains that anthropologist have two theories: kissing is instinctual or it derived from mothers chewing and feeding food to their infants (yuck!). The earliest known written reference is in the Old Testament and we apparently have the Romans to thank for spreading the custom far and wide. (Wiki states "The Romans were passionate about kissing.")
Kissing is seen everywhere in our culture. In music: in the above-mentioned band and in countless songs across all genres. In art: many paintings, drawings, sculptures depict humans engaging in a kiss. Movies show us the "foot-popping" kiss, the "fireworks" kiss," true-love's" kiss. The film The Princess Bride begins and ends with a discussion of one of the greatest kisses in history. Kisses are even featured in children's literature: In Else Holmelund Minarik's A Kiss for Little Bear (one of my childhood favorites), the entire story is about a kiss. Little girls hear how kissing a frog will turn it into a prince. We have even found a way to "kiss" remotely, by "blowing a kiss" or with a serious of x's or lip prints on a card. And the Hershey Chocolate Company makes it possible for all of us to make kisses part of our daily lives.
Google is an amazing thing. Through it, one can learn a lot about kissing (perhaps too much, certainly more and in more depth than I want to necessarily see). Many seem to agree that it is instinctual, that it satisfies a hunger for love and affection. The greatest focus is on the romantic kiss.
Apparently some people have taken the "why" question to heart. This group of people call themselves philematologists and they formally study the anatomy and evolutionary history of kissing. Apparently not every culture indulges in this particular practice. About 10 percent of the human population does not kiss (amazing!), which supports the theory that kissing is learned (that mouth feeding thing, ugh).
WebMD gives quite a bit of information about kissing, claiming that it has quite a few health benefits. The site quotes Michael Cane, author of The Art of Kissing, who "lectures" on kissing at colleges around the country. (I don't' remember books or lectures like that when I was in college!) He says, "Kissing is passion and romance and what keeps people together." The website makes the argument that kissing, by its very nature, creates intimacy and trust, as people are physically close to one another. Kissing can create a bond, reduces stress and boosts self-esteem.
Other reasons to kiss include as ritual, as a sign of respect or friendship, in greeting, as part of a religious practice, as a sign of peace. A kiss is not always for a person. People have been known to kiss floors, the ground, religious icons, rings and pets. Sometimes, as in the case of the Blarney Stone, people even go to extreme lengths. Certain holidays seem to encourage the practice. Mistletoe and Kissing Balls appear around Christmas; the stroke of midnight on New Year's Eve is a traditional moment to share a smooch.
An interesting statistic: Two-thirds of all people turn their head to the right when kissing, according to psychologist Onur Gntrkn of Ruhr-University Bochum in Germany (dicovermagazine.com).
The website thirdage.com claims:
"Kissing burns calories. Kissing is indeed a form of exercise. Not only does it promote flexibility and tone the muscles of the face, lips, and cheeks, kissing genuinely burns calories. Kissing for twenty minutes might not burn calories like the same time spent on a treadmill, but it will burn the same number of calories you took in eating a half dozen M&M's."
I never eat only 6 M&Ms…
What Exactly Is Baccalaureate?
The Cost of Salt Has Changed, But It's Value Remains
How Can You Not Love That Whiskered Face?
The Underappreciated and Disrespected Sloth Has its Own Day
Burgs, Villes and Boros, What's In a Name?
history of things
Sign up to get articles delivered straight to your inbox