text:
<Auctions in 2016
Leagues ahead>
PriceGuide Articles
Auction Report: Camille Souter at Adam's
March 1, 2016 /Comments closed
CAMILLE SOUTER HRHA (b.1929) CALARY BOG 1958 mixed media 44x59cm
CAMILLE SOUTER HRHA THE HOUSE AT DALKEY 1972, oil on paper 57x57cm
In 1962 Camille Souter and her family moved to Calary Bog, County Wicklow, an area far more remote at the time than is now the case. Isolation has always been important to this artist for whom the phrase 'backing into the limelight' might have been coined. It was while in Calary that Souter started to move away from her earlier abstraction to a more representative style. However Garrett Cormican in his magisterial 2006 monograph cautions against treating such a shift as too absolute, noting 'The subject of her paintings from the 1950s might have been difficult to recognize without the assistance of the artist or the aid of titles, but this also applies to several other of her paintings right up to the present. Souter finds it meaningless to distinguish between abstraction and realism.' Nevertheless, titles can be helpful with pre-1960s work, such as one of two paintings included in the Adam's sale of Irish art in early December. The lot in question dates from 1958 and is called Calary Bog, thereby indicating this part of the country had caught Souter's attention some years before she settled there. More important, the picture is quite different from the images of Calary that she would go on to produce such as Calary When We Came Back and Going Up to Calary (both 1964) in which what might be called topographical markers are apparent. By the mid-1960s, The Irish Times critic Brian Fallon considered she had 'gradually developed a sure sense of form and kept her spontaneity.' On the other hand the 1958 picture, a Pollock-like mixed-media work in shades of pink and blue and brown, reveals a different kind of form and spontaneity, more a response than a representation to what Souter saw. It made an interesting contrast to the next lot, also by the artist, which dates from 1972 and clearly shows its subject, The House at Dalkey in which her familiar colours of green and yellow come to the fore. This second picture fetched €13,000, a figure within its pre-sale estimate but the earlier painting, which had been expected to go for €4,000-€6,000 then did better than thought, going for the same amount, €13,000.


text:
Late Night Tackles President Trump
Stephen Colbert checks in with a stoical Melania Trump after her White House move
byPeter Weber
Screenshot/YouTube/The Late Show With Stephen Colbert
"Ever since Donald Trump took office, he has been a bachelor in the White House," Stephen Colbert noted on Tuesday's Late Show. "They say he's been lonely, he's been isolated, he's put on weight." Well, "those bachelor days are over forever, because this weekend, after more than five months of living apart, Melania Trump moved into the White House," he said. "It's like their second honeymoon — and for Donald, his fourth. So, how are things going?" He turned to Melania Trump, "live" from "the White House," as played by actress Laura Benanti. Benanti's Melania is maybe not thrilled to be at 1600 Pennsylvania Ave., perhaps not sad at the idea of Trump's impeachment, possibly fantasizing a bit about Canada's Justin Trudeau, and as committed to her marriage as America is to its constitutionally elected president, even if survival means taking up the tippling slogan "Make America Grape Again." Watch below. Peter Weber

redpajama_set_name: RedPajamaCommonCrawl


Add 1/3 cup sugar gradually and continue to beat until soft peaks form. Be careful not to over-beat the egg whites, because if they become too stiff and dry it becomes harder to blend in the yolk mixture in the next step.
Add 1/4 of the egg whites into the flour and yolk mixture with a spatula or wire whisk , not with an electric beater. Mix gently until the color is uniform. Add the rest of the egg whites and fold in just until blended. Over-mixing will cause deflation of the batter.
Pour the batter into an un greased 10-inch tube pan and bake at 325°F (165°C) for 1 hour or until a wooden skewer inserted into the center of the cake comes out clean. Immediately after removing the cake from the oven invert the pan and place on a bottle or flat surface.
Let the cake cool completely before removing from pan.
Beat until smooth and syrupy. Pour immediately over the cake before the glaze becomes hard. If it does become too hard, add a very small amount of water to the right consistency.


Could Boston Bike Share Increase Brain Injury?
Bicycle riding is a popular way to get around Boston and many major metropolitan areas in the United States and bicycle share programs have been making it easier for more people than ever to commute via bike. Unfortunately, recent studies suggest that in cities with bike share programs, there is dramatic increase in the number of people who experience brain injury.
Brain injury can have devastating and lasting effects and can be very costly to treat. Unfortunately, bicycle accidents leading to brain injury frequently occur because drivers fail to share the road in a safe way with bicycle riders. When a driver is to blame for causing a brain injury, he becomes responsible for compensating the victim or his family members for the economic and non-financial costs of the injury. An experienced Boston brain injury lawyer should be consulted to provide assistance to those who wish to take legal action after a bicycle accident.
According to a study published in the American Journal of Public Health on public bike share programs, making more bicycles available for rent resulted in more people suffering head injuries. In fact, the proportion of bicycle-related head injuries leading to admission to a trauma center increased by as much as 14 percent.
Trauma center data was analyzed from five different cities with bike shares as well as from five comparison cities. Researchers used logistic regression models to compare the odds of admission to a trauma center for a bicycle related accident that involved head injury. The odds of head injuries were assessed from 24 months prior to implementing the bike share program and 12 months after.
In cities with a bike share, the proportion of head injuries that occurred in bicycle-related accidents increased from 42.3 percent prior to the bike share program being implemented to 50.1 percent after. In comparison cities, the risk of head injury remained unchanged.
The researchers believe that the likely cause of the increase in head injuries in cities with bike sharing programs was that the rental programs only made the bikes available and did not include helmets with the rental. The researchers suggested that helmets should become part of the programs and should be a factor as the programs were being designed and implemented rather than considered as an afterthought.
While helmet use can help to prevent brain injury when a bike accident occurs, it is far better to prevent the accident from happening in the first place. When bike shares are implemented, drivers need to be educated about the rights of bicycle riders on the road and about proper bike safety procedures. If drivers respect the rights of bicyclists, fewer accidents should happen and head injuries and other types of harm including spinal cord injuries and fatalities can also be prevented.
Bicycle riders should still be entitled to compensation after an accident, regardless of whether they had a helmet on or not. Those hurt or family members of loved ones killed in bike crashes should speak with an experienced attorney for help.


text:
No availability showing at Broadway Hotel
UK England West Midlands Warwickshire
One of two lovely, top-end hotels in this lovely Cotswold town, Broadway Hotel pays homage to horses, with its Jockey Bar, and with all the rooms named after famous racehorses. Although there's no stabling outside, there is a secure private car park as well as gardens in which to stroll (rather than gallop, alas). Bedrooms are on the small side, but this being Broadway, are rather smart and well-to-do – bathroom toiletries are Molton Brown, to add to the feeling of luxury. Peckish? Both the bar and restaurant offer good food, and should you need to stride out for the day, the hotel will be delighted to offer you a packed lunch.
Double rooms from £80 per night
Broadway Hotel, The Green Broadway Worcestershire WR12 7AA
If you are the owner of this site, start taking bookings through Cool Places. Contact Us
Be the first to leave a review!
See Hotels in Warwickshire
See The Cotswolds
Other places to stay near Broadway Hotel
The Townhouse Stratford
Stratford upon Avon, Warwickshire, West Midlands, England
16 Church Street Stratford-upon-Avon Warwickshire CV37 6HB
A welcoming boutique hotel with comfy rooms and good food - handily placed in the centre of Stratford.
The Townhouse Stratford, 16 Church Street Stratford-upon-Avon Warwickshire CV37 6HB
Holidays in Stratford upon Avon
Holidays in Warwickshire
Holidays in West Midlands
Crestow House
Stow-on-the-Wold, Gloucestershire, South West England, England
Fosseway Stow on the Wold Gloucestershire GL54 1JX Gloucestershire
Escape to rural bliss at this boutique country house in the heart of the Cotswolds
Crestow House, Fosseway Stow on the Wold Gloucestershire GL54 1JX Gloucestershire
Holidays in Stow-on-the-Wold
Holidays in Gloucestershire
Parson's Barn
Parsons Barn, Parsons Corner, Stow-On-The-Wold, Gloucestershire GL54 1EE
A 17th-century self-catering, dog-friendly cottage in the Cotswolds, comfortably sleeping up to six adults and two small children
Parson's Barn, Parsons Barn, Parsons Corner, Stow-On-The-Wold, Gloucestershire GL54 1EE
The George Townhouse
Shipston-on-Stour, Warwickshire, West Midlands, England
8 High Street Shipston-on-Stour Warwickshire CV36 4AJ
A contemporary and very welcoming boutique Cotswolds hotel and restaurant.
The George Townhouse, 8 High Street Shipston-on-Stour Warwickshire CV36 4AJ
Holidays in Shipston-on-Stour
The Old Stocks Inn
Gloucestershire, South West England, England
The Square, Stow-on-the-Wold, Gloucestershire GL54 1AF
A characterful 17th-century boutique coaching inn nestled in the heart of the Cotswolds
The Old Stocks Inn, The Square, Stow-on-the-Wold, Gloucestershire GL54 1AF
The Sheep on Sheep St
Sheep St, Stow-on-the-Wold, Gloucestershire GL54 1AG
A boutique hotel and restaurant at the heart of the Cotswolds town of Stow on the Wold.
The Sheep on Sheep St, Sheep St, Stow-on-the-Wold, Gloucestershire GL54 1AG
YHA Stratford-upon-Avon
Hemmingford House Alveston Stratford-Upon-Avon Warwickshire CV377RG
A superb hostel in a Georgian mansion, just a mile and a half from Stratford.
YHA Stratford-upon-Avon, Hemmingford House Alveston Stratford-Upon-Avon Warwickshire CV377RG
Alveston Manor Hotel
Clopton Bridge Stratford-Upon-Avon Warwickshire CV377HP
Tudor hotel situated in its own grounds five minutes' from the centre of town.
Alveston Manor Hotel, Clopton Bridge Stratford-Upon-Avon Warwickshire CV377HP
Cotswold Farm Park
Cotswold Farm Park Guiting Power Near Cheltenham Gloucestershire GL54 5UG
Cotswold Farm Park, Cotswold Farm Park Guiting Power Near Cheltenham Gloucestershire GL54 5UG
Glamping in Gloucestershire
Glamping in South West England
Glamping in England
Ettington Park Hotel
Alderminster Stratford-Upon-Avon CV37 8BU
Country house hotel six miles out of Stratford.
Ettington Park Hotel, Alderminster Stratford-Upon-Avon CV37 8BU


text:
package org.forge.text.syntax.scanner;

import java.util.HashMap;
import java.util.Map;
import java.util.regex.MatchResult;
import java.util.regex.Pattern;

import org.forge.text.syntax.Encoder;
import org.forge.text.syntax.Scanner;
import org.forge.text.syntax.StringScanner;
import org.forge.text.syntax.Syntax;
import org.forge.text.syntax.TokenType;
import org.forge.text.syntax.WordList;

/*
 * https://github.com/rubychan/coderay/blob/master/lib/coderay/scanners/java_script.rb
 * Last update sha: 33f1a738ea85ea40a5fe760ac2591065f3e29033
 *
 */
public class JavaScriptScanner implements Scanner {

   // The actual JavaScript keywords.
   private static final String[] KEYWORDS = new String[] {
                           "break", "case", "catch", "continue", "default", "delete", "do", "else",
                           "finally", "for", "function", "if", "in", "instanceof", "new",
                           "return", "switch", "throw", "try", "typeof", "var", "void", "while", "with"};

   private static final String[] PREDEFINED_CONSTANTS = new String[] {
                           "false", "null", "true", "undefined", "NaN", "Infinity"};

   // arguments was introduced in JavaScript 1.4
   private static final String[] MAGIC_VARIABLES = new String[] {
                           "this", "arguments"};

   private static final WordList<Boolean> KEYWORDS_EXPECTING_VALUE = new WordList<Boolean>(false)
                              .add(new String[]{"case" ,"delete", "in", "instanceof", "new", "return", "throw", "typeof", "with"}, true);

   // Reserved for future use.
   private static final String[] RESERVED_WORDS = new String[] {
                           "abstract", "boolean", "byte", "char", "class", "debugger", "double", "enum", "export", "extends",
                           "final", "float", "goto", "implements", "import", "int", "interface", "long", "native", "package",
                           "private", "protected", "public", "short", "static", "super", "synchronized", "throws", "transient",
                           "volatile"};

   private static final WordList<TokenType> IDENT_KIND = new WordList<TokenType>(TokenType.ident)
                               .add(RESERVED_WORDS, TokenType.reserved)
                               .add(PREDEFINED_CONSTANTS, TokenType.predefined_constant)
                               .add(MAGIC_VARIABLES, TokenType.local_variable)
                               .add(KEYWORDS, TokenType.keyword);

   private static final Pattern ESCAPE = Pattern.compile(" [bfnrtv\\n\\\\'\"] | x[a-fA-F0-9]{1,2} | [0-7]{1,3} ", Pattern.COMMENTS);
   private static final Pattern UNICODE_ESCAPE = Pattern.compile(" u[a-fA-F0-9]{4} | U[a-fA-F0-9]{8} ", Pattern.COMMENTS);
   private static final Pattern REGEXP_ESSCAPE = Pattern.compile(" [bBdDsSwW] ", Pattern.COMMENTS);
   private static final Map<String, Pattern> STRING_CONTENT_PATTERN = new HashMap<String, Pattern>();
   {
      STRING_CONTENT_PATTERN.put("'", Pattern.compile("[^\\\\']+"));
      STRING_CONTENT_PATTERN.put("\"", Pattern.compile("[^\\\\\"]+"));
      STRING_CONTENT_PATTERN.put("/", Pattern.compile("[^\\\\\\/]+"));
   }
   private static final Map<String, Pattern> KEY_CHECK_PATTERN = new HashMap<String, Pattern>();
   {
      KEY_CHECK_PATTERN.put("'", Pattern.compile(" (?> [^\\\\']* (?: \\\\. [^\\\\']* )* ) ' \\s* : ", Pattern.COMMENTS|Pattern.DOTALL));
      KEY_CHECK_PATTERN.put("\"", Pattern.compile(" (?> [^\\\\\"]* (?: \\\\. [^\\\\\"]* )* ) \" \\s* : ", Pattern.COMMENTS|Pattern.DOTALL));
   }

   private static final Pattern SPACE = Pattern.compile(" \\s+ | \\\\\\n ", Pattern.COMMENTS);
   private static final Pattern COMMENT = Pattern.compile(" // [^\\n\\\\]* (?: \\\\. [^\\n\\\\]* )* | /\\* (?: .*? \\*/ | .*() ) ", Pattern.COMMENTS|Pattern.DOTALL);
   private static final Pattern COMMENT_MULTILINE = Pattern.compile(" .*? \\*", Pattern.COMMENTS|Pattern.DOTALL);
   private static final Pattern COMMENT_MULTILINE_CONTENT = Pattern.compile(" .+ ", Pattern.COMMENTS|Pattern.DOTALL);
   private static final Pattern NUMBER = Pattern.compile("\\.?\\d");
   private static final Pattern HEX = Pattern.compile("0[xX][0-9A-Fa-f]+");
   private static final Pattern OCTAL = Pattern.compile("(?>0[0-7]+)(?![89.eEfF])");
   private static final Pattern FLOAT = Pattern.compile("\\d+[fF]|\\d*\\.\\d+(?:[eE][+-]?\\d+)?[fF]?|\\d+[eE][+-]?\\d+[fF]?");
   private static final Pattern INTEGER = Pattern.compile("\\d+");
   private static final Pattern HTML = Pattern.compile("<(\\p{Alpha}\\w*) (?: [^\\/>]*\\/> | .*?<\\/\\1>)", Pattern.COMMENTS|Pattern.DOTALL|Pattern.CASE_INSENSITIVE);
   private static final Pattern OPERATOR = Pattern.compile(" [-+*=<>?:;,!&^|(\\[{~%]+ | \\.(?!\\d) ", Pattern.COMMENTS);
   private static final Pattern OPERATOR_END = Pattern.compile(" [)\\]}]+ ", Pattern.COMMENTS);
   private static final Pattern IDENT = Pattern.compile(" [$a-zA-Z_][A-Za-z_0-9$]* ", Pattern.COMMENTS);
   private static final Pattern FUNCTION = Pattern.compile("\\s*[=:]\\s*function\\b");
   private static final Pattern KEY = Pattern.compile("\\s*:");
   private static final Pattern ARRAY_KEY = Pattern.compile("[\"']");
   private static final Pattern REGEXP = Pattern.compile("\\/");
   private static final Pattern DELIMITER = Pattern.compile("[\"'\\/]");
   private static final Pattern MODIFIER = Pattern.compile("[gim]+");
   private static final Pattern CONTENT = Pattern.compile(" \\\\ (?: " + ESCAPE.pattern() + " | " + UNICODE_ESCAPE.pattern() + ")", Pattern.COMMENTS|Pattern.DOTALL);
   private static final Pattern CONTENT_2 = Pattern.compile("\\\\.", Pattern.DOTALL);
   private static final Pattern CONTENT_END = Pattern.compile(" \\\\ | $ ", Pattern.COMMENTS);
   private static final Pattern CHAR = Pattern.compile(" \\\\ (?: " + ESCAPE.pattern() + " | " + REGEXP_ESSCAPE.pattern() +" | " + UNICODE_ESCAPE.pattern() +" ) ", Pattern.COMMENTS|Pattern.DOTALL);

   public enum State {
      innitial,
      open_multi_line_comment,
      key,
      string,
      regexp
   }

   @Override
   public void scan(StringScanner source, Encoder encoder, Map<String, Object> options) {

      State state = State.innitial;
      String string_delimiter = null;
      boolean value_expected = true;
      boolean key_expected = false;
      boolean function_expected = false;

      while(source.hasMore()) {
         MatchResult m = null;

         switch (state) {
         case innitial:

            if( (m = source.scan(SPACE)) != null ) {
               if(!value_expected && m.group().indexOf("\n") != -1) {
                  value_expected = true;
               }
               encoder.textToken(m.group(), TokenType.space);
            }
            else if( (m = source.scan(COMMENT)) != null ) {
               value_expected = true;
               encoder.textToken(m.group(), TokenType.comment);
               if(m.group(1) != null) {
                  state = State.open_multi_line_comment;
               }
            }
            else if( (m = source.check(NUMBER)) != null ) {
               key_expected = value_expected = false;
               if( (m = source.scan(HEX)) != null ) {
                  encoder.textToken(m.group(), TokenType.hex);
               }
               else if( (m = source.scan(OCTAL)) != null ) {
                  encoder.textToken(m.group(), TokenType.octal);
               }
               else if( (m = source.scan(FLOAT)) != null ) {
                  encoder.textToken(m.group(), TokenType.float_);
               }
               else if( (m = source.scan(INTEGER)) != null ) {
                  encoder.textToken(m.group(), TokenType.integer);
               }
            }
            else if( value_expected && (m = source.scan(HTML)) != null ) {
               Syntax.Builder.create()
                  .scannerType(Scanner.Type.HTML)
                  .encoder(encoder)
                  .execute(m.group());
               value_expected = true;
               continue;
            }
            else if( (m = source.scan(OPERATOR)) != null ) {
               value_expected = true;
               String last_operator = m.group().substring(m.group().length()-1);
               key_expected = last_operator.equals("{") || last_operator.equals(",");
               function_expected = false;
               encoder.textToken(m.group(), TokenType.operator);
            }
            else if( (m = source.scan(OPERATOR_END)) != null ) {
               function_expected = key_expected = value_expected = false;
               encoder.textToken(m.group(), TokenType.operator);
            }
            else if( (m = source.scan(IDENT)) != null ) {
               TokenType kind = IDENT_KIND.lookup(m.group());
               value_expected = (kind == TokenType.keyword) && KEYWORDS_EXPECTING_VALUE.lookup(m.group());
               if(TokenType.ident == kind) {
                  if(m.group().indexOf("$") != -1) {
                     kind = TokenType.predefined;
                  }
                  else if(function_expected) {
                     kind = TokenType.function;
                  }
                  else if(source.check(FUNCTION) != null) {
                     kind = TokenType.function;
                  }
                  else if(key_expected && source.check(KEY) != null) {
                     kind = TokenType.key;
                  }
               }
               function_expected = (kind == TokenType.keyword && m.group().equals("function"));
               key_expected = false;
               encoder.textToken(m.group(), kind);
            }
            else if( (m = source.scan(ARRAY_KEY)) != null ) {
               if(key_expected && source.check(KEY_CHECK_PATTERN.get(m.group())) != null) {
                  state = State.key;
               }
               else {
                  state = State.string;
               }
               encoder.beginGroup(TokenType.valueOf(state.name()));
               string_delimiter = m.group();
               encoder.textToken(m.group(), TokenType.delimiter);
            }
            else if( value_expected && (m = source.scan(REGEXP)) != null ) {
               encoder.beginGroup(TokenType.regexp);
               state = State.regexp;
               string_delimiter = "/";
               encoder.textToken(m.group(), TokenType.delimiter);
            }
            else if( (m = source.scan(REGEXP)) != null ) {
               value_expected = true;
               key_expected = false;
               encoder.textToken(m.group(), TokenType.operator);
            }
            else {
               encoder.textToken(source.next(), TokenType.error);
            }
            break;

         case string:
         case regexp:
         case key:

            if( (m = source.scan(STRING_CONTENT_PATTERN.get(string_delimiter))) != null ) {
               encoder.textToken(m.group(), TokenType.content);
            }
            else if( (m = source.scan(DELIMITER)) != null ) {
               encoder.textToken(m.group(), TokenType.delimiter);
               if(State.regexp == state) {
                  MatchResult modifiers;
                  if( (modifiers = source.scan(MODIFIER)) != null) {
                     encoder.textToken(modifiers.group(), TokenType.modifier);
                  }
               }
               encoder.endGroup(TokenType.valueOf(state.name()));
               string_delimiter = null;
               key_expected = value_expected = false;
               state = State.innitial;
            }
            else if( State.regexp != state && (m = source.scan(CONTENT)) != null ) {
               if( string_delimiter.equals("'") && !(m.group().equals("\\\\") || m.group().equals("\\'")) ) {
                  encoder.textToken(m.group(), TokenType.content);
               }
               else {
                  encoder.textToken(m.group(), TokenType.char_);
               }
            }
            else if( State.regexp == state && (m = source.scan(CHAR)) != null ) {
               encoder.textToken(m.group(), TokenType.char_);
            }
            else if( (m = source.scan(CONTENT_2)) != null ) {
               encoder.textToken(m.group(), TokenType.content);
            }
            else if( (m = source.scan(CONTENT_END)) != null ) {
               encoder.endGroup(TokenType.valueOf(state.name()));
               if(!m.group().isEmpty()) {
                  encoder.textToken(m.group(), TokenType.error);
               }
               string_delimiter = null;
               key_expected = value_expected = false;
               state = State.innitial;
            }
            else {
               throw new RuntimeException("else case " + string_delimiter + " reached; " + source.peek(1)  + " not handled");
            }
            break;

         case open_multi_line_comment:

            if( (m = source.scan(COMMENT_MULTILINE)) != null ) {
               state = State.innitial;
            }
            else {
               m = source.scan(COMMENT_MULTILINE_CONTENT);
            }
            value_expected = true;
            if(m != null) {
               encoder.textToken(m.group(), TokenType.comment);
            }

            break;
         default:
            throw new RuntimeException("Unknown state " + state);
         }
      }
   }

}

redpajama_set_name: RedPajamaGithub


text:
Broadbean Technology Launches New Website
July 28, 2011|Compliance, Diversity, General HR, HR Consulting, HR Technology, HRIS and/or ERP Solutions, Marketing and Public Relations, Outsourcing, Recruitment / Staffing, Talent Mgmt/Employee Relations, Training and Development
Newport Beach, CA 28 July 2011 — Along with an improved job board search facility, Broadbean's new website showcases their range of products and services, so visitors can easily gain an understanding of what exactly Broadbean is all about. Broadbean recognizes the importance of providing a website that is accessible to all user groups, including the disabled, so the site has been designed with touch-screen navigation, mobile device and accessibility in mind.
"One important aspect of the new site is the Product section. This explains many aspects of our product that weren't adequately covered by the old site. In particular, it highlights our Search functionality that enables recruiters and companies to revolutionize the way they source talent from job boards, social networks and the wider web." says European Marketing Director, Ricky Wheeler.
North American Marketing Director, Rayanne Thorn, continues, "With all the rapid changes to technology, social media, mobile applications, and location-based services, it makes perfect sense that Broadbean would continue to roll out applicable functionality. This most certainly does not exclude our own website. We are very proud of where we stand online today, how we got here, and we are excited about where we will be tomorrow."
With case studies and latest news also available, this redesigned, user-friendly site provides an insight into the broad scope of work carried out by Broadbean. The website also features a free resources section which contains downloadable versions of white papers and all product brochures. These tips and advice provide an invaluable information source for all those who want to find out more about online recruitment.
The overall look and feel of the site is clean, fresh and customer-focused. By having contact information and a "contact us" tab on every page, visitors are encouraged to speak to a member of staff without hesitation should they wish to discuss anything.
The Partners section is also a welcome addition to the website and allows visitors to effortlessly find recruitment software and talent management systems that are fully integrated with Broadbean.
Dan Martin, Manager Director says, "The new website reflects our company attitude of being friendly, approachable, and doing everything we can to deliver outstanding customer service. Relevant information is readily accessible from our product section, and more detailed information can be found simply by clicking down through the layers."
The website was developed by Tela Ltd, a long standing Broadbean digital partner.
About Broadbean Technology
Broadbean is the universal leader in providing sourcing tools that help recruiters improve efficiencies, increasing ROI. Our software makes it easy to search for talent online and distribute jobs, while optimizing recruitment processes with internal systems' integration. Broadbean's analytics provide insight on the most successful channels, as well as metrics to increase effectiveness, ultimately lowering recruitment costs. With 33,000 users worldwide, Broadbean is good at getting it right. Reach as many candidates as possible. Understand what that reach means. Get the answers needed to determine effective job board spend. Streamline the online recruitment process.
Reach. Understand. Determine. Streamline. It's that simple. http://www.Broadbean.com
This press release was distributed through PR Web by Human Resources Marketer (HR Marketer: www.HRmarketer.com) on behalf of the company listed above.
← Sendouts Release Focuses on Enterprise Solutions
Vangent Risk & Talent Management Announces Integration with Taleo Business Edition, Bringing Risk Management Assessments To Leading Talent Management Provider →


text:
Q: Why does javax.xml.xpath.XPath act differently with a cloned node? Given the following XML (basic.xml):
<rdr>
  <details>
    <detail>
        <name>version</name>
        <value>15.0</value>
    </detail>
    <detail>
        <name>resolution</name>
        <value>1080X1920</value>
    </detail>
  </details>
</rdr>

I want to get the name and versions out, so I have the following code.  This isn't very tidy, but I have created this for illustrative purposes, but the code does fully function:
import java.io.FileInputStream;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class Example {

    private static XPath factoryXpath = null;

    public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, XPathExpressionException {
        FileInputStream fin = new FileInputStream("basic.xml");
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.parse(fin);

        XPathFactory xPathFactory = XPathFactory.newInstance();
        factoryXpath = xPathFactory.newXPath();

        printDetails(document);
    }

    public static void printDetails(Node node) throws XPathExpressionException {
        NodeList nodes = (NodeList) factoryXpath.evaluate("//detail", node, XPathConstants.NODESET);

        printNameAndValue(nodes.item(0));
        printNameAndValue(nodes.item(1));

    }

    public static void printNameAndValue(Node node) throws XPathExpressionException {
        System.out.println("Name=" + (String) factoryXpath.evaluate("//name", node, XPathConstants.STRING));
        System.out.println("Value=" + (String) factoryXpath.evaluate("//value", node, XPathConstants.STRING));
    }

}

This outputs the following:
Name=version
Value=15.0
Name=version
Value=15.0

Why does it output the same Name and Value both times?
If I clone the node first, so that printNameAndValue now looks like this:
public static void printNameAndValue(Node node) throws XPathExpressionException {
    Node clonedNode = node.cloneNode(true);
    System.out.println("Name=" + (String) factoryXpath.evaluate("//name", clonedNode, XPathConstants.STRING));
    System.out.println("Value=" + (String) factoryXpath.evaluate("//value", clonedNode, XPathConstants.STRING));
}

I get the following output:
Name=version
Value=15.0
Name=resolution
Value=1080X1920

Why does a cloned node act differently?
I removed the cloned node and reverted to the original example where it doesn't work and added the method described here https://stackoverflow.com/a/2325407/211560 but with it taking a Node instead of a Document in its attributes.  This prints out the following result:
<?xml version="1.0" encoding="UTF-8"?><detail>
        <name>version</name>
        <value>15.0</value>
    </detail>
Name=version
Value=15.0
<?xml version="1.0" encoding="UTF-8"?><detail>
        <name>resolution</name>
        <value>1080X1920</value>
    </detail>
Name=version
Value=15.0

It is clear from this that the node is the one we would expect; but it is applying the XPath to the first node, or maybe to the original document.  I'm OK with cloning a node and using that but I'd really like to know why this is happening.

A: The XPath expression //name is an absolute path (beginning with a /), so selects a node set containing all name elements in the document to which the context node belongs.  Thus evaluating that expression as a string according to the XPath 1.0 data model will give you the string value of the first such node in document order.
The crucial part of that first sentence is "the document to which the context node belongs" - a cloned node is not attached to a document, so the XPath evaluator treats the node itself as the root of a document fragment and evaluates the expression against that fragment (which contains only one name element) instead of against the original document (which contains two).
If in printNameAndValue you instead used relative XPath expressions
public static void printNameAndValue(Node node) throws XPathExpressionException {
    System.out.println("Name=" + (String) factoryXpath.evaluate("name", node, XPathConstants.STRING));
    System.out.println("Value=" + (String) factoryXpath.evaluate("value", node, XPathConstants.STRING));
}

(or .//name if the name element might be a grandchild or deeper rather than an immediate child) then you should get the output you expect, i.e. the value of the first name (respectively value) element child of the specified node.

redpajama_set_name: RedPajamaStackExchange


Adcetris met its primary endpoint in a phase 3 trial for patients with T-cell lymphoma.
Patients with CD-30–positive cutaneous T-cell lymphoma (CTCL) saw a significantly improved rate of response lasting at least four months on Adcetris (brentuximab vedotin), meeting the primary endpoint of the phase 3 ALCANZA trial.
In the trial, the rate of objective responses lasting four or more months was 56.3 percent in patients treated with Adcetris, compared with 12.5 percent in patients receiving investigator's choice of standard therapies. The difference was highly statistically significant, according to Takeda and Seattle Genetics, the manufacturers of the antibody-drug conjugate.
"These remarkable, clinically meaningful results from the completed ALCANZA trial represent an important milestone for the Adcetris program. If this new indication is approved by regulatory authorities, Adcetris may offer a novel treatment option for CTCL patients," Dirk Huebner, executive medical director, Oncology Therapeutic Area Unit, Takeda Pharmaceutical Company, said in a statement.
"We are excited by the data, which showed a significant improvement in the primary endpoint of [the rate of object responses lasting more than four months] and all key secondary endpoints, along with a manageable safety profile. This outcome further establishes our commitment to patients living with CD30-expressing disease, and we look forward to sharing these data with regulatory authorities globally," added Huebner.
The open-label phase 3 ALCANZA trial randomized 131 patients with CD30-expressing CTCL, including patients with primary cutaneous anaplastic large cell lymphoma (pcALCL) or mycosis fungoides (MF). The international trial was conducted at 50 locations in North and South America, Europe and Australia. Patients with MF had to have received at least one prior systemic therapy and those with pcALCL were required to have prior radiation therapy or at least one systemic therapy.
The study randomized patients to single-agent Adcetris or physician's choice of the standard treatments methotrexate or bexarotene. Adcetris was administered intravenously at 1.8 mg/kg once every three weeks and for up to 48 weeks (16 cycled). Methotrexate was dosed at 5 to 50 mg once weekly and bexarotene was administered orally at 300 mg/m2 once daily.
Beyond the primary endpoint of objective response rate lasting greater than months, secondary outcome measures included complete response rate, progression-free survival and reduction in the burden of symptoms during treatment.
CD30 is expressed on skin lesions in approximately half of patients with CTCL, according to Takeda and Seattle Genetics' statement. The FDA previously granted Adcetris an orphan drug designation for the treatment of patient with MF, and the European Commission (EC) has assigned the treatment an orphan drug designation for CTCL, including pcALCL and MF.
Adcetris is not currently approved by the FDA or EC for CTCL. In the United States and Europe, the drug has approved indications for Hodgkin lymphoma and systemic anaplastic large cell lymphoma.


text:
About the part that art plays in a globalising society
Framer Framed
About Framer Framed
Werkplaats Molenwijk
Team and organisation
(c) Kathy Ryan
Sim Chi Yin (b. 1978) is a photographer and artist from Singapore, currently based in Beijing. Her artistic practice integrates multiple mediums including photography, film, sound, text and archival material. Combining rigorous research with intimate storytelling, Chi Yin's works often explore issues relating to history, memory, conflict, and the consequences of migration. While her practice is rooted in documentary, the artist experiments with different forms of production and presentation, allowing her intimate photographic stories on social issues to reach and impact a variety of audiences.
Chi Yin was the Nobel Peace Prize photographer for 2017, and has shown her work in numerous exhibitions internationally, including the Istanbul Biennale (2017), the Nobel Peace Center in Oslo, the Annenberg Space For Photography in Los Angeles, Gyeonggi Museum of Modern Art in South Korea, the Institute of Contemporary Arts Singapore, and Framer Framed in Amsterdam.
Her work has also been screened at film festivals including Les rencontres d'Arles and Visa pour l'Image festivals in France, and the Singapore International Film Festival.
Personal website of Sim Chi Yin
16 Sep – 18 Nov 2018
Exhibition: UnAuthorised Medium
A group show curated by Annie Jael Kwan
16 Nov – 18 Nov 2018
Finissage weekend UnAuthorised Medium: Intense Visitations
Performances and presentations in the closing weekend of exhibition UnAuthorised Medium.
Southeast Asia / Photography / Mining culture /
Review: Art Asia Pacific – UnAuthorised Medium
Oranje-Vrijstaatkade 71
Aanmelden voor Framer Framed Nieuwsbrief
Follow us on social media InstragramFacebookInstragramTwitterLinkedIn