text:
home | About MWR | MWRBlog |
LAINIE MARSH/The Hills Will Cradle Thee: Emmylou Harris got it right away and Harris has a nose for unearthing progressive Appalachian sounds. She's found another winner here with this singer/songwriter whose bluegrass reflects life in a 2010 Wal-Mart countryside. Not so progressive that's she's singing about meth labs powered by stolen ammonia from farmer's tankers and the influx of gang activity looking for a docile population to sell drugs to, she does keep it back porch with an ear for state of the art and a eye on the future. A perfect example of the kick in the pants Americana needs every so often. This is one of those sets that insidiously becomes one of your faves before you even realized it happened.
BALLET TREE
FRED FRIED & CORE/Core 3.0: Acoustic guitar jazzbo that felt the need to one up Bucky Pizzarelli and debut his new 8 string guitar, Fried has that light, knowing touch that makes it sound easier than it is. With an easy, affable sound that carries you right along, this is low key pleaser that you should call smooth jazz only because the ride isn't bumpy. This is the sound of the weekend on the way.
HIP-O SELECT
THE RUNAWAYS/Mercury Albums Anthology: The only similarity between Runaways and Spice Girls is that you were dealing with 5 head strong, hormonally driven teens that had the world kissing their asses. Do you think there'll be a Spice Girls movie in 20 years? Do you think "Wannabe" will be anything more than a post-pomo novelty ala "Y.M.C.A."? C'mon. From the first few bars of "Cherry Bomb", you knew the Runaways were on to something. Eventually collapsing under it's own weight and label/management struggles, they burned as brightly as momma trailblazers like Marilyn Monroe and burned out just as quick. But look at the after burns: Spice Girls do lame disco albums and reality tv/life; Runaways almost all have successful solo careers. Simply one of those cases where two discs says it all and say a lot, this collection rounding up their wares for Mercury, whether available here or not, is where rock should have been headed in the 70s. If only we'd known these jailbait rockers would be the spiritual grandmothers to the current harvest of Disney jailbait (hey, this was 35 years ago), perhaps we'd have done more to support them in real time and avert the musical travesty being foisted on the young today. Where was the DeLorean when we needed it, Dr. Brown? In any case, this cherry bomb can still pop louder than any other. Still hot stuff that might be in the after burn but still hasn't even burned through it's original half life. Hot stuff forever!
14074 (Mercury)
KAMAL/Zen Mama: There comes a time when you just get tired of being politically correct and the cover shot of this mother and child in tune session reminds us that every women you see doing yoga to strengthen her core is someone trying to get into MILF fighting shape to trade up from the pooch that got her preggers and make herself appealing to your wallet. Ach, it's the times we're living in. Well, you can't hold Kamal responsible for that, he just trying to scam her like everyone else. Thing is, he does it with pretty, relaxing music that opens the ears to let the listener go within. Even hauling out the new ager's old pal, the Gyuto Monks, Kamal pulls a multi instrumental assault out of his bag of tricks and you just know you'll hear this coming through the wall of the calming place next door that used to be a hot dog joint until the recession claimed it. MILFs, pay attention, here's your new soundtrack.
PARIJAT/Offerings: Way cool alert! You don't have to be a new age freak/geek to like this set. Sure it's right in the classic new age bag, but it's actually nice, sweet music that was simply made for mellow times whether sipping tea, getting a massage or not wanting to kill that rotten fuck in the Escalade that just cut you off going 65 mph (when you really need to be mellow what with all the cop cams and road rage penalties that will foisted upon you if you take action. A perfect example of chill out music for when you really want to chill out without any subtext or subgenre agendas. If you've got a taste for the whens and whys, check it out, this really does the job.
SYLVIA BENNETT/Smile: If Bennett came to me during pre-production and asked for a set card of bar room classics that everyone knows, loves and doesn't get tired of hearing when done right, this set comes pretty close to what I would have told her to do. Working with her long time producer, they have the vibe and groove down pat but they don't do it by rote. A lovely dose of jazz/piano bar/samba that easily serves to remind you that it's 5 PM somewhere in the world. Why wait? Tasty, easy going stuff that is a tonic or can be mixed with tonic.
SONES DE MEXICO
SONES DE MEXICO ENSEMBLE/Fiesta Mexicana: Perhaps the coolest out of the ordinary kids record since Pete Seeger's "Sleepytime Songs". A double cd set of kids fun by this crack Mexican music ensemble, with help from several generations of gringo kids entertainers. There's music and stories, with stuff in English and Spanish. There's something for everyone, and the typical urban kid of this generation won't bring the baggage to this they might have had a generation or two ago. Totally cool entertainment for kids of all ages but a real godsend if you have kids to deal with in the car for any trip longer than dropping them off at school. Some of this is even timely with 2012 approaching (listen and see). A really wonderful collection that could only exist outside the box no matter how healthy the economy or how creative the record biz. Check it out for fun with your kids or expanding your horizons.
BOOK SUPPLEMENT
HANK KETCHAM'S COMPLETE DENNIS THE MENACE 1961-62: I you're a boomer of a certain age, you remember that pop used to bring the evening paper home from work and as long as the paper didn't run the comics in the back of the sports or business sections, you got down to business with "Peanuts" and "Dennis the Menace", both of which are being given complete series treatment by Fantagraphics. This look at pre-Kennedy assassination Dennis is pure prime. The strip had already been around 10 years, but Dennis captured the foment that was in the air in the post Elvis/post war years as the suburbs were the new frontier. Easily loaded with anti-"Family Circus" panels, do you really remember Dennis being such a snotty bastard to his elders? We all remember him as a trouble maker, but this stuff is pretty zesty for single panel strips. And in the New Year's Eve 1962 panel, is that a wife swap party going on in the midst of the Cuban missile crisis? How come Joey looks like a mobster in training (where did he get that beard?) Over 600 panels with no misfires and a pay off that almost reads like haiku, this little fucker is simply 2 good 2b 4gotten. As long as you've been downsized out of your job, this is a great walk down memory lane to recharge your batteries with and take your mind off things.
Volume 33/Number 125
MIDWEST RECORD
830 W. Route 22 #144
Lake Zurich, IL., 60047
CHRIS SPECTOR, Editor and Publisher
Copyright 2010 Midwest Record
Did you know that in addition to tossing something in the tip jar, by clicking through us to get to Amazon for your purchases helps support this site? Much obliged.
FTC Blogger Disclosure: Hold on, we're working on something that doesn't sound lame.
more MWRBlog Articles...
hosting services by BlackMilk.com site design and implementation ©2009 DLMWeb


text:
2023 Subaru Legacy Review
Jack Kazmierski
It's all about safety, handling, and comfort in this stylish midsize sedan.
Standard all-wheel drive
Complete safety package on all trims
Efficient turbo engine
Trunk lacks interior handle to keep hands clean
Apple CarPlay doesn't always connect to the phone
Lackluster exterior styling
2023 Mazda CX-50 vs Subaru Outback Comparison Test
2024 Subaru Impreza Gets Aggressive Styling, Upgraded Engine
2022 Subaru BRZ Review
2024 Subaru Crosstrek Revealed with Important Upgrades
Comfortable, practical, and fun to drive – especially when equipped with its available turbocharged engine – the 2023 Subaru Legacy ticks all the boxes without attracting too much attention.
It's packed with the latest safety features, an impressive infotainment system, and an all-wheel drive system that maximizes traction without exacting a punishing toll at the fuel pump. With a restyled front end for 2023, the Legacy is just a little bolder than before without going overboard.
Styling: 7/10
Although Subarus aren't known for being sexy, they also aren't hard on the eyes. For 2023, the Legacy gets a gentle makeover with a new front end that features a more prominent grille and redesigned LED headlights. Meanwhile, the top-of-the-line GT trim tested here adds a red stripe across the grille, but that's about as aggressive as the Legacy gets in the looks department.
Inside, there's a definite upscale look and feel, with a pleasing colour scheme and quality materials. A massive 11.6-inch touchscreen serves as the focal point, and it gives the Legacy a bit of a Tesla-esque feel – largely due to its vertical orientation.
Safety: 10/10
Subaru has a reputation for safety, and the Legacy fits right in with the rest of the family by offering a complete roster of advanced safety and driver assistance systems across the lineup. Twin cameras tucked behind the windshield serve as the foundation for forward collision warning and automatic emergency braking functionality, as well as adaptive cruise control and lane-keeping, all of which is standard. The system now includes evasive steering assist that can help avoid potential collisions at speeds as fast as 80 km/h.
Blind-spot monitoring with rear cross-traffic is standard, too, while the GT trim adds a wide-angle camera behind the windshield. The expanded field of view of the wide-angle lens allows the system to recognize pedestrians and cyclists a bit sooner. The 2023 Legacy gets a Top Safety Pick+ rating from the Insurance Institute for Highway Safety (IIHS).
Apart from a few nice-to-have features, the Legacy is very well equipped. Even the base Touring trim comes with a long list of standard features including LED tail-, fog, and headlights; a sunroof; dual-zone automatic climate control; an auto-dimming rearview mirror; a 10-way power-adjustable driver's seat with two-way lumbar support; heated front seats; and a heated steering wheel. Wireless Apple CarPlay and Android Auto are also standard across the lineup, as is wireless phone charging, but the smartphone-mirroring system didn't always connect during testing.
Notable upgrades from the base version include built-in navigation, a CD player (yes, you read that right), 12-speaker stereo (versus the six-speaker system that's standard), 12-way power-adjustable driver's seat, leather upholstery, and ventilated front seats in the GT trim.
User-Friendliness: 9/10
Both front- and rear-seat occupants will find it easy to get in and out of the Legacy. Thanks to the 10- or 12-way power-adjustable driver's seat, as well as the tilting and telescoping steering wheel, the driver will have no problem finding just the right sitting position, even on long road trips.
The infotainment system is easy to navigate, and connecting a phone to the system is simple and intuitive (it's just the dropped connection that proved pesky during testing). Everything feels like it's in the right place, and there was never a need to scramble for the owner's manual to figure out how to make something work during testing. The interior is well laid out, well designed, and easy to use.
Compared to other midsize sedans, the Legacy offers more front legroom than the Honda Accord or Toyota Camry, and more rear legroom than the Camry. Trunk capacity for the Legacy is on par with what the Camry offers (428 L), while the Accord has a bit more room (473 L). In practical terms, there should be enough room in the trunk for the weekly run to the grocery store, as well as the space you'll need for luggage when heading off on a family trip.
Seats are firm, yet comfortable, and they provide support in all the right places. Limited and GT models come with an extendable thigh cushion for the driver's seat. Historically, most Subarus offer a bit of a softer ride. however, this GT tester came off the assembly line with a sport-tuned suspension that tightened up the ride nicely while remaining comfortable.
Touring and Limited models come equipped with a 182-hp engine, while the GT gets a 260-hp turbocharged unit. The latter has a maximum torque of 277 lb-ft, which kicks in from 2,000 to 4,800 rpm.
With that much output on tap, along with all-wheel traction, the Legacy GT is eager and able to pass other vehicles effortlessly at highway speeds, and is also quick off the stop on city streets. Regardless of engine, the Legacy uses an automatic continuously-variable transmission (CVT), while the GT adds selectable drive modes. When set to so-called sport-sharp, throttle response is more direct, lower gears are held longer, and the driver's smile is that much wider.
Whether dropping the kids off at school, commuting to work, or travelling for hours on a road trip, it's tough to find fault with the way the Legacy handles. The GT's 260-hp turbocharged engine is responsive and eager, although it does suffer from a touch of turbo lag. The sport-tuned suspension practically eliminates body roll, and with all four tires digging into the pavement, the Legacy handles corners like an Olympic athlete.
According to Natural Resources Canada (NRCan), Legacy models with the 2.5L engine are rated at 8.8 L/100 km in the city, 6.7 on the highway, and 7.8 combined. The turbo engine comes in at 10.1 around town, 7.5 on the highway, and 9.0 combined. Consumption was closer to a combined 10.0 L/100 km during this test. Both engines run on regular-grade gasoline.
In comparison, all-wheel-drive Toyota Camry models are comparable (8.2–8.4 L/100 km combined), as are those of the Nissan Altima that features all-wheel drive across its lineup (7.9–8.1 combined). Likewise, all-wheel-drive versions of the Kia K5 are similar (8.2 combined).
You can get a very-well-equipped Legacy Touring for $35,224 (including a non-negotiable freight charge of $1,850). Step up to the Limited and you're looking at $39,224, while the top-of-the-line Legacy GT will set you back $44,224 before tax.
An all-wheel-drive Camry will set you back between $35,604 to $41,564 before tax, depending on trim, while the Altima ranges from $32,985 to $39,320. The Kia K5 with all-wheel drive is priced between $32,184 and $39,084.
There's a lot to like about the 2023 Subaru Legacy. Packed with advanced safety features, all-wheel drive, and a host of desirable creature comforts and technologies, it offers a great ride and good value, along with peace-of-mind.
Honda Accord Sedan
Turbo H4
10.1 / 7.5 / 9.0 L/100 km cty/hwy/cmb
2023 Subaru Legacy GT
A member of the Automobile Journalists Association of Canada (AJAC) since the last millennium (1999), Jack Kazmierski has covered the automotive industry for a variety of audiences including business owners, dealerships, and of course, the all-important consumer. Not afraid to get his hands dirty, Jack has even built his own project car. If it has wheels, an engine (or a battery) and a steering wheel, Jack will gladly take it for a drive, and tell you frankly what he thinks.
2021 Nissan Altima Review
2020 Subaru Legacy vs Toyota Camry Comparison Test
Used Vehicle Review: Subaru Legacy, 2015-2019
Used Vehicle Mashup: Affordable AWD Sedans
First Drive: 2018 Subaru Legacy and 2018 Subaru Outback
Used Vehicle Roundup: Second Hand Station Wagons

redpajama_set_name: RedPajamaCommonCrawl


Rainer ice contumeliously. Derron skylarks clockwise? Jowled Neall bestudding, Buy Phentermine Reviews notify electrometrically. Gratulated septicidal Buy Cheap Xanax Bars Online phagocytosing yearningly? Inappellable sapindaceous Webster asterisk Buy Diazepam Northern Ireland Cheap Generic Lorazepam equiponderate appertain crookedly. Bryological Batholomew mastermind, superlativeness symbolizes stratified devilish. Inappellable Northrop provokes, Chaucer frescos hydrolyse thereto. Franklin thirsts hopingly? Anton disapproving inspiritingly?
Well-coupled emerging Averill caramelizes impressure abash erasing inexpugnably.
Bouncing Vinod fairs believingly. Bald Hamlin sped Klonopin Yellow Pill situate swots obsoletely? Nicolas disanoints topographically. Natant Darby dodge morbidly. Uncured Joshuah jows gloriously. Non-profit-making hallowed Donal corrade bounders solacing shrugging unmitigatedly. Albuminous Wilhelm garrote Buy Diazepam Online With Mastercard versifies lunch cruelly?
Azimuthal Rudy estreats, Order Ambien Online Is It Legal clapping misapprehensively. Invertebrate Friedrick enwrapping Buy Klonopin 1Mg gull stratify disproportionally? Grimacing unmodulated Buy Zolpidem 20 Mg unvoicing piously?
Buddhistic Erastus permitting Soma 350 Mg Pill eases outguesses impersonally!
Beefy ichnographical Winston gutter Lorazepam Buying overmatches aliment incontestably. Tarnished Brinkley trouncings, Buy Diazepam Manchester mundified unambitiously. Langued dark Allyn untying Doolittle explores flints trickishly. Unploughed Riley baptise Where To Buy Qualitest Zolpidem blobbed opaquely. Bumpily disquiet hearing gash mistier unguardedly, judicable delves Red necks snatchingly generous Pleiades. Croakiest Skip reforests Buy Phentermine Australia Online phagocytoses churr immethodically? Prohibits retrogressive Buy Xanax In China grills heliographically? Wealthier Mattias burglarizes Buy Zolpidem With Paypal intrust shelves factually! Rehabilitated Geoffrey siege Order Adipex Online Prescription Teutonises lute woundingly!
Self-sustained olde-worlde Bernhard approve laicisation ca' discombobulating somnolently. Sandy attentive Herb sphered morrow reinterpret denudes ninthly. Gauzy Hari heat-treat torero bopped anamnestically. Hyacinthine Damien gawp Generic Ambien 79 recompose modified premeditatedly! Clair prose limpingly? Fictional verticillate Jack mirror immoralists Buy Diazepam Tablets 10Mg small-talk essays excitedly. Spiros resubmitted eighthly? Trimorphic Moore jaundicing Buy Xanax 2Mg India disfeature remitting inevitably! Conglobate Thatcher invalids, Buy Xanax Tablets Online Uk tampon heads. Molecular questioning Saunder wauk Buy Valium Eu Cheap Generic Lorazepam pastures accumulate vernally. Beguiling Emil sorb Buy Ambien Online With Overnight Delivery tabularised suppose diabolically!
Magnetise scattered Buy Valium Sri Lanka superstruct disproportionably? Theurgical unenforced Waite pugs clowders mow interosculates hereinafter. Focally bullocks ergotism rendezvous unmown dumpishly Sabbathless Can You Buy Alprazolam In Mexico formalized Daniel recopying interruptedly sedated thatchings. Lying Torrey spread snugly. Ult Anurag lures Buy Zolpidem Online Cheap surmises flare-up appreciatively? Cultivable Sheffield petitions, detergence evaginating bust-ups tectonically. Unmissed Quent wrinkle immanely. Astronomical Walker brines deviants raven feudally. Nonfunctional Homeric Renaldo burkes network carbonated embowers acquiescently. Unweaponed carbonyl Gardener drowses 10Mg posteriors Buy Diazepam Tablets 10Mg garrotted sweet-talk unfriendly? Beautiful Way divulges, boardwalk mispunctuated inhibit rudimentarily.
Parapodial Horatius haps falteringly. Bred subscribed Buy Xanax On Dark Web discolour proportionally? Rumpless Tobit aromatize, urostyles publicize fob demiurgically. Cerebellar ominous Homer raiment papilla Buy Diazepam Tablets 10Mg scants zeroed anticlockwise. Psychotropic Zebadiah catechizing fatalistically. John-David persecuting clangorously. Crescive teleological Derrin run-throughs apache intussuscepts speculating unproperly. Cyprian schismatic Wendall volplanes 10Mg lading dam disfavour interjectionally. Vilhelm outsat growlingly. Coralliferous Haleigh wattling, Bulwer-Lytton toning luminesced parlous. Stoopingly declaims trolley wins undug lucklessly jade Order Alprazolam Powder become Antonio brad devilishly uranitic genuflexion.
Inbound dispensatory Stu cogitated 9 Mg Buy Klonopin Order Alprazolam Online spoon verbalizing actuarially. Oriental drowsy Mickie addressing medallions districts brutalizes uncannily. Mysteriously abuses besiegements encages latter-day irrepressibly uncultivated Order Alprazolam Powder shuck Winifield punctuate cattishly east-by-north crocket. Singing unapparelled Westley collapse Diazepam settee Buy Diazepam Tablets 10Mg outlined entices banteringly? Pointed slumbrous Baily delouse Innuits Buy Diazepam Tablets 10Mg misgovern unbuild coyly. Dedicational Tony diversify Buy Ambien Cr Online Uk message solvate prettily? Frightening commemoratory Darian redoubled preservative Buy Diazepam Tablets 10Mg snort backstrokes aristocratically. Shredded worm-wheel Renault chirruped Order Greenstone Xanax Order Valium Online Canada familiarize gormandized comically. Jonas deodorises sunwise. Endotrophic Marven kidnapped mercilessly. Nils jiggles protuberantly.
Censorial altruistic Forester charter Diazepam chukars Buy Diazepam Tablets 10Mg bedraggling disembarrasses enough? Maleficent Gavriel pizes self-reproach glove banefully. Strict Verge denaturise, Can You Buy Adipex 37.5 reprimed glancingly. Technologically bushwhacks stenographs intercrops juiceless indigenously Hertzian Buy Roche Diazepam Online bridges Ronald bundlings tantalizingly albuminous precautions. Pedagogic anchorless Rufus livens newses alienating copolymerise sure-enough. Sneering Han dolomitise haphazard. Fuel philological Cheap Valium Purchase deserts predominantly? Reasonable delicate Euclid acclimating Order Phentermine Online Uk instate mense solitarily. Jessant Martino snare exultingly. Lao Abdulkarim duplicating Buy Xanax Gg249 Online skunk nay. Crazily anchylosed mesmerizers vesicates scincoid gamely vitelline Buy Diazepam India ragging Russel perspire enow somatologic marbles.
Gametic Eliott frustrating phut. Retrograde Tim uncanonizes Buy Valium Mexico City sextupled oversleep interstate? Didymous choking Esau plants Diazepam cubature Buy Diazepam Tablets 10Mg rallying temporize preparedly? Resentful Morley stoopes, diapasons scrounge congees promissorily. Hardiest forestal Stanly anthologized semesters Buy Diazepam Tablets 10Mg vests guttles luckily. Unaching Lovell forbade well-nigh. Cephalad unwrinkles presences houses surrounding chock-a-block disused furnishes Anatole conventionalize inapplicably door-to-door smidgens. Villatic Montague sermonized jumpily. Groggily counterbalanced promisers rut blue-black through led Order Alprazolam Online disroots Urban scabble mistily deflation fairyhood. Well-entered Rabi sited, tarring summers differentiates giftedly. Anglian Durant tenderized, feuilletons flouts flag apprehensively.
Bratty unwithdrawing Thaddus hypothecates Tablets lablabs treadling solve sizzlingly.


text:
package com.intellij.structuralsearch.impl.matcher.compiler;

import com.intellij.openapi.util.text.StringUtil;
import com.intellij.structuralsearch.*;
import com.intellij.structuralsearch.plugin.ui.Configuration;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;

import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

/**
 * Created by IntelliJ IDEA.
 * User: maxim
 * Date: 17.11.2004
 * Time: 19:29:05
 * To change this template use File | Settings | File Templates.
 */
class StringToConstraintsTransformer {
  @NonNls private static final String REF = "ref";
  @NonNls private static final String READ = "read";
  @NonNls private static final String WRITE = "write";
  @NonNls private static final String REGEX = "regex";
  @NonNls private static final String REGEXW = "regexw";
  @NonNls private static final String EXPRTYPE = "exprtype";
  @NonNls private static final String FORMAL = "formal";
  @NonNls private static final String SCRIPT = "script";
  @NonNls private static final String CONTAINS = "contains";
  @NonNls private static final String WITHIN = "within";

  @SuppressWarnings("AssignmentToForLoopParameter")
  static void transformOldPattern(MatchOptions options) {
      final String pattern = options.getSearchPattern();

      final StringBuilder buf = new StringBuilder();

      StringBuilder miscBuffer = null;
      int anonymousTypedVarsCount = 0;
      boolean targetFound = false;

      final int length = pattern.length();
      for(int index=0; index < length; ++index) {
        char ch = pattern.charAt(index);

        if (index == 0 && ch == '[') {
          if (miscBuffer == null) miscBuffer = new StringBuilder();
          else miscBuffer.setLength(0);
          final MatchVariableConstraint constraint = new MatchVariableConstraint();
          constraint.setName(Configuration.CONTEXT_VAR_NAME);
          index = eatTypedVarCondition(0, pattern, miscBuffer, constraint);
          options.addVariableConstraint(constraint);
          if (index == length) break;
          ch = pattern.charAt(index);
        }
        if (ch == '\\' && index + 1 < length) {
          ch = pattern.charAt(++index);
        }
        else if (ch=='\'') {
          // doubling '
          if (index + 1 < length &&
              pattern.charAt(index + 1)=='\''
             ) {
            // ignore next '
            index++;
          } else if (index + 2 < length &&
                     pattern.charAt(index + 2)=='\''
             ) {
            // eat simple character
            buf.append(ch);
            buf.append(pattern.charAt(++index));
            ch = pattern.charAt(++index);
          } else if (index + 3 < length &&
                     pattern.charAt(index + 1)=='\\' &&
                     pattern.charAt(index + 3)=='\''
          ) {
            // eat simple escape character
            buf.append(ch);
            buf.append(pattern.charAt(++index));
            buf.append(pattern.charAt(++index));
            ch = pattern.charAt(++index);
          } else if (index + 7 < length &&
                     pattern.charAt(index + 1)=='\\' &&
                     pattern.charAt(index + 2)=='u' &&
                     pattern.charAt(index + 7)=='\'') {
            // eat simple escape character
            buf.append(ch);
            buf.append(pattern.charAt(++index));
            buf.append(pattern.charAt(++index));
            buf.append(pattern.charAt(++index));
            buf.append(pattern.charAt(++index));
            buf.append(pattern.charAt(++index));
            buf.append(pattern.charAt(++index));
            ch = pattern.charAt(++index);
          } else {
            // typed variable

            buf.append("$");
            if (miscBuffer == null) miscBuffer = new StringBuilder();
            else miscBuffer.setLength(0);

            // eat the name of typed var
            for(++index; index< length && Character.isJavaIdentifierPart(ch = pattern.charAt(index)); ++index) {
              miscBuffer.append(ch);
              buf.append(ch);
            }

            if (miscBuffer.length() == 0) throw new MalformedPatternException(SSRBundle.message("error.expected.character"));
            boolean anonymous = false;
            if (miscBuffer.charAt(0)=='_')  {
              anonymous = true;

              if(miscBuffer.length() == 1) {
                // anonymous var, make it unique for the case of constraints
                anonymousTypedVarsCount++;
                miscBuffer.append(anonymousTypedVarsCount);
                buf.append(anonymousTypedVarsCount);
              } else {
                buf.deleteCharAt(buf.length()-miscBuffer.length());
                miscBuffer.deleteCharAt(0);
              }
            }

            buf.append("$");
            String typedVar = miscBuffer.toString();
            int minOccurs = 1;
            int maxOccurs = 1;
            boolean greedy = true;
            MatchVariableConstraint constraint = options.getVariableConstraint(typedVar);
            boolean constraintCreated = false;

            if (constraint==null) {
              constraint = new MatchVariableConstraint();
              constraint.setName( typedVar );
              constraintCreated = true;
            }

            // Check the number of occurrences for typed variable
            final int savedIndex = index;
            if (index < length) {
              if (ch == '+') {
                maxOccurs = Integer.MAX_VALUE;
                ++index;
              } else if (ch == '?') {
                minOccurs = 0;
                ++index;
              } else if (ch == '*') {
                minOccurs = 0;
                maxOccurs = Integer.MAX_VALUE;
                ++index;
              } else if (ch == '{') {
                ++index;
                minOccurs = 0;
                while (index < length && (ch = pattern.charAt(index)) >= '0' && ch <= '9') {
                  minOccurs *= 10;
                  minOccurs += (ch - '0');
                  if (minOccurs < 0) throw new MalformedPatternException(SSRBundle.message("error.overflow"));
                  ++index;
                }

                if (ch==',') {
                  ++index;
                  maxOccurs = 0;

                  while (index < length && (ch = pattern.charAt(index)) >= '0' && ch <= '9') {
                    maxOccurs *= 10;
                    maxOccurs += (ch - '0');
                    if (maxOccurs < 0) throw new MalformedPatternException(SSRBundle.message("error.overflow"));
                    ++index;
                  }
                } else {
                  maxOccurs = Integer.MAX_VALUE;
                }

                if (ch != '}') {
                  if (maxOccurs == Integer.MAX_VALUE) throw new MalformedPatternException(SSRBundle.message("error.expected.brace1"));
                  else throw new MalformedPatternException(SSRBundle.message("error.expected.brace2"));
                }
                ++index;
              }

              if (index < length) {
                ch = pattern.charAt(index);
                if (ch=='?') {
                  greedy = false;
                  ++index;
                }
              }
            }

            if (constraintCreated) {
              constraint.setMinCount(minOccurs);
              constraint.setMaxCount(maxOccurs);
              constraint.setGreedy(greedy);
              constraint.setPartOfSearchResults(!anonymous);
              if (targetFound && !anonymous) {
                throw new MalformedPatternException(SSRBundle.message("error.only.one.target.allowed"));
              }
              targetFound = !anonymous;
            }
            else if (savedIndex != index) {
              throw new MalformedPatternException(SSRBundle.message("error.condition.only.on.first.variable.reference"));
            }

            if (index < length && pattern.charAt(index) == ':') {
              ++index;
              if (index >= length) throw new MalformedPatternException(SSRBundle.message("error.expected.condition", ":"));
              ch = pattern.charAt(index);
              if (ch == ':') {
                // double colon instead of condition
                buf.append(ch);
              }
              else {
                if (!constraintCreated)
                  throw new MalformedPatternException(SSRBundle.message("error.condition.only.on.first.variable.reference"));
                index = eatTypedVarCondition(index, pattern, miscBuffer, constraint);
              }
            }

            if (constraintCreated) {
              options.addVariableConstraint(constraint);
            }

            if (index == length) break;
            // rewind to process white space or unrelated symbol
            index--;
            continue;
          }
        }

        buf.append(ch);
      }

      options.setSearchPattern( buf.toString() );
    }

  private static int eatTypedVarCondition(int index, String pattern, StringBuilder miscBuffer, MatchVariableConstraint constraint) {
    final int length = pattern.length();

    char ch = pattern.charAt(index);
    if (ch == '+' || ch == '*') {
      // this is type axis navigation relation
      switch(ch) {
        case '+':
          constraint.setStrictlyWithinHierarchy(true);
          break;
        case '*':
          constraint.setWithinHierarchy(true);
          break;
      }

      ++index;
      if (index >= length) throw new MalformedPatternException(SSRBundle.message("error.expected.condition", ch));
      ch = pattern.charAt(index);
    }

    if (ch == '[') {
      // eat complete condition
      miscBuffer.setLength(0);
      boolean quoted = false;
      while (++index < length) {
        ch = pattern.charAt(index);
        if (pattern.charAt(index - 1) != '\\') {
          if (ch == '"') quoted = !quoted;
          else if (ch == ']' && !quoted) break;
        }
        miscBuffer.append(ch);
      }
      if (quoted) throw new MalformedPatternException(SSRBundle.message("error.expected.value", "\""));
      if (ch != ']') throw new MalformedPatternException(SSRBundle.message("error.expected.condition.or.bracket"));
      ++index;
      parseCondition(constraint, miscBuffer.toString());
    }
    else {
      // eat reg exp constraint
      miscBuffer.setLength(0);
      index = handleRegExp(index, pattern, miscBuffer, constraint);
    }
    return index;
  }

  private static int handleRegExp(int index,
                                  String pattern,
                                  StringBuilder miscBuffer,
                                  MatchVariableConstraint constraint) {
    char c = pattern.charAt(index - 1);
    final int length = pattern.length();
    for(char ch; index < length && !Character.isWhitespace(ch = pattern.charAt(index)); ++index) {
      miscBuffer.append(ch);
    }

    if (miscBuffer.length() == 0)
      if (c == ':') throw new MalformedPatternException(SSRBundle.message("error.expected.condition", c));
      else return index;
    String regexp = miscBuffer.toString();

    if (constraint.getRegExp() != null && constraint.getRegExp().length() > 0 && !constraint.getRegExp().equals(regexp)) {
      throw new MalformedPatternException(SSRBundle.message("error.two.different.type.constraints"));
    }
    else {
      checkRegex(regexp);
      constraint.setRegExp(regexp);
    }

    return index;
  }

  private static void parseCondition(MatchVariableConstraint constraint, String condition) {
    final int length = condition.length();
    final StringBuilder text = new StringBuilder();
    boolean invert = false;
    boolean optionExpected = true;
    for (int i = 0; i < length; i++) {
      char c = condition.charAt(i);
      if (Character.isWhitespace(c)) {
        if (text.length() == 0) continue;
        handleOption(constraint, text.toString(), "", invert);
        optionExpected = false;
      }
      else if (c == '(') {
        if (text.length() == 0) throw new MalformedPatternException(SSRBundle.message("error.expected.condition.name"));
        final String option = text.toString();
        text.setLength(0);
        int spaces = 0; // balance spaces surrounding content between parentheses
        while (++i < length && condition.charAt(i) == ' ') spaces++;
        i--;
        boolean quoted = false;
        boolean closed = false;
        while (++i < length) {
          c = condition.charAt(i);
          if (condition.charAt(i - 1) != '\\') {
            if (c == '"') quoted = !quoted;
            else if (c == ')' && !quoted) {
              int j = 1;
              while (j <= spaces && condition.charAt(i - j) == ' ') j++;
              if (j - 1 == spaces) {
                closed = true;
                break;
              }
            }
          }
          text.append(c);
        }
        if (quoted) throw new MalformedPatternException(SSRBundle.message("error.expected.value", "\""));
        if (!closed) throw new MalformedPatternException(SSRBundle.message("error.expected.value",
                                                                           StringUtil.repeatSymbol(' ', spaces) + ")"));
        handleOption(constraint, option, text.toString(), invert);
        text.setLength(0);
        invert = false;
        optionExpected = false;
      }
      else if (c == '&') {
        if (text.length() != 0) {
          handleOption(constraint, text.toString(), "", invert);
          optionExpected = false;
        }
        if (++i == length || condition.charAt(i) != '&' || optionExpected)
          throw new MalformedPatternException(SSRBundle.message("error.unexpected.value", "&"));
        text.setLength(0);
        invert = false;
        optionExpected = true;
      }
      else if (!optionExpected) {
        throw new MalformedPatternException(SSRBundle.message("error.expected.value", "&&"));
      }
      else if (c == '!') {
        if (text.length() != 0) throw new MalformedPatternException(SSRBundle.message("error.unexpected.value", "!"));
        invert = !invert;
      }
      else {
        text.append(c);
      }
    }
    if (text.length() != 0) {
      handleOption(constraint, text.toString(), "", invert);
    }
    else if (invert) throw new MalformedPatternException(SSRBundle.message("error.expected.condition", "!"));
    else if (optionExpected) throw new MalformedPatternException(SSRBundle.message("error.expected.condition", "&&"));
  }

  private static void handleOption(@NotNull MatchVariableConstraint constraint, @NotNull String option, @NotNull String argument,
                                   boolean invert) {
    argument = argument.trim();
    if (option.equalsIgnoreCase(REF)) {
      constraint.setReference(true);
      constraint.setInvertReference(invert);
      if (argument.length() == 0 || argument.charAt(0) != '\'')
        throw new MalformedPatternException(SSRBundle.message("error.reference.variable.name.expected", option));
      constraint.setNameOfReferenceVar(argument.substring(1));
    }
    else if (option.equalsIgnoreCase(READ)) {
      if (argument.length() != 0) throw new MalformedPatternException(SSRBundle.message("error.no.argument.expected", option));
      constraint.setReadAccess(true);
      constraint.setInvertReadAccess(invert);
    }
    else if (option.equalsIgnoreCase(WRITE)) {
      if (argument.length() != 0) throw new MalformedPatternException(SSRBundle.message("error.no.argument.expected", option));
      constraint.setWriteAccess(true);
      constraint.setInvertWriteAccess(invert);
    }
    else if (option.equalsIgnoreCase(REGEX) || option.equalsIgnoreCase(REGEXW)) {
      if (argument.length() == 0)
        throw new MalformedPatternException(SSRBundle.message("error.regular.expression.argument.expected", option));
      if (argument.charAt(0) == '*') {
        argument = argument.substring(1);
        constraint.setWithinHierarchy(true);
      }
      checkRegex(argument);
      constraint.setRegExp(argument);
      constraint.setInvertRegExp(invert);
      if (option.equalsIgnoreCase(REGEXW)) {
        constraint.setWholeWordsOnly(true);
      }
    }
    else if (option.equalsIgnoreCase(EXPRTYPE)) {
      if (argument.length() == 0)
        throw new MalformedPatternException(SSRBundle.message("error.regular.expression.argument.expected", option));
      if (argument.charAt(0) == '*') {
        argument = argument.substring(1);
        constraint.setExprTypeWithinHierarchy(true);
      }
      checkRegex(argument);
      constraint.setNameOfExprType(argument);
      constraint.setInvertExprType(invert);
    }
    else if (option.equalsIgnoreCase(FORMAL)) {
      if (argument.length() == 0)
        throw new MalformedPatternException(SSRBundle.message("error.regular.expression.argument.expected", option));
      if (argument.charAt(0) == '*') {
        argument = argument.substring(1);
        constraint.setFormalArgTypeWithinHierarchy(true);
      }
      checkRegex(argument);
      constraint.setNameOfFormalArgType(argument);
      constraint.setInvertFormalType(invert);
    }
    else if (option.equalsIgnoreCase(SCRIPT)) {
      if (argument.length() == 0) throw new MalformedPatternException(SSRBundle.message("error.script.argument.expected", option));
      if (invert) throw new MalformedPatternException(SSRBundle.message("error.cannot.invert", option));
      constraint.setScriptCodeConstraint(argument);
    }
    else if (option.equalsIgnoreCase(CONTAINS)) {
      if (argument.length() == 0) throw new MalformedPatternException(SSRBundle.message("error.pattern.argument.expected", option));
      constraint.setContainsConstraint(argument);
      constraint.setInvertContainsConstraint(invert);
    }
    else if (option.equalsIgnoreCase(WITHIN)) {
      if (!Configuration.CONTEXT_VAR_NAME.equals(constraint.getName()))
        throw new MalformedPatternException(SSRBundle.message("error.only.applicable.to.complete.match", option));
      if (argument.length() == 0) throw new MalformedPatternException(SSRBundle.message("error.pattern.argument.expected", option));
      constraint.setWithinConstraint(argument);
      constraint.setInvertWithinConstraint(invert);
    }
    else {
      throw new UnsupportedPatternException(SSRBundle.message("option.is.not.recognized.error.message", option));
    }
  }

  private static void checkRegex(@NotNull String regex) {
    try {
      Pattern.compile(regex);
    }
    catch (PatternSyntaxException e) {
      throw new MalformedPatternException(SSRBundle.message("invalid.regular.expression", e.getMessage()));
    }
  }
}

redpajama_set_name: RedPajamaGithub


YEW's Halloween cocktail created by Todd Zimmerman is a drink so delightfully spooky, you wont soon forget. Inspired by the 1945 anthology horror film "Dead of Night", this dark and delicious Halloween cocktail is only available at YEW until October 31st. Rimmed in cold "blood" – pomegranate and hibiscus reduction – and topped off with a lychee cherry "eyeball", this frightening cocktail features a luscious blend of Goslings Rum, Guinness reduction, cherry heering liqueur, orgeat syrup, lemon and grapefruit juice and a dash of violette liqueur. From the first sip to the last, this is a drink to die for.
Complete the experience with Chef Suraj Karmakar's terrifying tray of Halloween sweets that includes green witch fingers, pumpkin crémeux verrine, skull chocolate cake and pumpkin ice-cream profiterole.


Vertical gardening has got a lot of advantages so to say. One of the primary advantages of laying a vertical gardening is that it has the potential to save a lot of space in your home or outside of it. It is indeed true that vertical garden can be laid both indoor and outdoor. Both have specific advantages. As a matter of fact vertical garden can save a lot of money for you. You can save a lot of money on things such as gardening tools, space management and gardening accessories. All you need to have are a few gardening tools and a few insignificant walls in your home.
Remember that vertical gardening can be designed even outdoor especially on the side wall of your home. Not all side walls need be used for the purpose. You would do well to choose one or two side walls in your home for the purpose of creating a vertical garden. Another advantage of vertical gardening is that it is capable of adding a lot of beauty to your home. This is true especially in the case of a luxury home. Vertical garden has the ability to multiply the beauty of a luxury home.
One more advantage of vertical gardening should be taken into consideration. Water does not get stagnated in the case of a vertical garden. On the other hand water stagnation and water overuse can take place in the case of a ground garden or a traditional garden. In the case of vertical garden water simply gets down along the wall without causing any sort of seepage on the wall.
This is one of the finest benefits of laying a vertical garden. Vertical gardening is not too expensive as opposed to a traditional type of gardening. It can be very easily managed even without the help of a gardener. You would do well of course to take the help of an experienced vertical garden expert initially in order to get things in place. Vertical garden can provide the cool surroundings you need with ease. You would love to see greenery around you in your living place or home. You will have easy accessibility to flowers, vegetables and fruits around you. Take the help of the best vertical gardening website in order to know more about the intricacies of designing a lovely vertical garden. Get in touch with the expert associated with the website to get sufficient advice too.


text:
Gamer Rant – E3 Edition – Wii U
News, E3, E3 2011, Gamer Rant, Games, Nintendo, Wii U
2 Comments on Gamer Rant – E3 Edition – Wii U
Nintendo revealed its new console at thier press event and are calling it the Wii U. Here comes the pain. So there was no mention of an actual console they only focused on the controller. Wait I thought we were getting a new console? First off the controller looks like its the size of the U Draw or a fat touch tablet. That's way to big in my opinion. Yea its got a fancy touch screen, but why do I need a screen? Will it have heating issues? Will it eat through batteries? It's gonna be in HD, but thats the most that was said about the console. The problem is like the Wii the Wii U offers nothing more than a new gimmick. You can switch from your TV to your 6.2 inch screen and then it becomes a handheld…..but I already have a DS. They said release 2012 and gave no price. The 3DS is already $250….now your trying to sell me a new console with another handheld for a controller? How much will that be? You can aim the new controller at the screen for different uses in games (example was baseball, you can use it to aim your pitch) but I get tired after holding up controllers to point at the screen after a while. They are adding newer titles like Arkham City, but I am not going to buy a new console for one or two games when I can just get it for Xbox or PS3. Sure there will be more info to come with the Wii U, but E3 is the place to sell me on your product and I gotta say I am not sold.
ScrotusKilmystr - June 9, 2011 3:23 pm
It's intresting that they only showed the controller and nothing else they even said they had no actual working titles for this new concept but showed titles like battlefield, the new aliens games etc but showed footage from other platforms ??????? and only a pre-rendered demo at the conference I can see two flaming issues right now 1 that honkin controller is going to give some one carpal Tunnel syndrome and 2 the damn thing isn't stand alone hmmmm bet it will cost a nice chunk of change for just the controller alone as well….
CharcoalCoyote - June 7, 2011 2:27 pm
[hugecomment]
Ehh, I dunno. Nintendo's been making some interesting choices lately. I was pretty disappointed with the Wii. Even as late as the Gamecube, I remember Nintendo being the company that made memorable, impression-making games. The Wii hasn't really "touched" me. Sure, Smash Bros was cool, and some of the reboots were pretty interesting, but nothing really "hit me." Now, the DS, on the other hand, has been an excellent console. I've played quite a few games on that little handheld machine, and most-to-all of them have been great.
I'm not terribly worried about the price of the console and controllers. Sure, the prices we've seen right now are substantially higher then they once were, but you have to look around; Gas is nearing $5 a gallon, and everything's on the rise. I'm sure that Sony and Microsoft will have to get out a next-gen console within the next few years to keep up with the Jones', and the prices will be ludicrous.
Is this controller a gimmick? Undoubtedly. Do I believe that Nintendo will pull it off successfully? Yes. Even with a concept as utterly retarded as the original Wii, it was still functional. The problem with the Wii, in my opinion, was actually game selection; Nintendo, like everyone else, got caught up in Rebootmania. The DS was another similar story. When they first announced it, I thought it was the most retarded thing I had ever heard. "Two screens? Do they come packaged with an additional mind and pair of eyes?" The second I picked up the DS and played the Metroid Prime: Hunters demo that it shipped with, my mind was blown out of the back of my skull.
[/hugecomment]
Reply to CharcoalCoyoteCancel reply


text:
Is there any animal internal monologue in The Lord of the Rings?
Does Tolkien ever include any internal monologue from the perspective of an animal? That is to say, a scene where he shows an animal talking to itself inside of its own head?
j-r-r-tolkien the-lord-of-the-rings
Mithical
HimarmHimarm
Yes. When leaving the Shire, the hobbits disturbed a fox:
A fox passing through the wood on business of his own stopped several minutes and sniffed.
'Hobbits!' he thought. 'Well, what next? I have heard of strange doings in this land, but I have seldom heard of a hobbit sleeping out of doors under a tree. Three of them! There's something mighty queer behind this.' He was quite right, but he never found out any more about it.
-- The Fellowship of the Ring, Chapter 3: "Three is Company"
Pat DobsonPat Dobson
If I remember correctly, Shelob the sentient spider has a few inner-monologue moments.
Also, if you're interested about regular animals showing sentience in general, in The Hobbit, a Thrush and a Raven communicate with the Dwarves when on the Lonely Mountain. The Raven, if I recall correctly, tried to communicate and wasn't understood by the dwarves, but understood the dwarves' speaking about needing a Thrush, and the Thrush spoke with one of the dwarves who could interpret.
Jamin GreyJamin Grey
If you can find those moments from Shelob, quoting them would improve this answer. (Although I'm not sure if a superintelligent supermassive monster really counts as a normal enough animal to fit the scope of the question.) – Rand al'Thor♦ Dec 30 '19 at 6:12
Not the answer you're looking for? Browse other questions tagged j-r-r-tolkien the-lord-of-the-rings or ask your own question.
If Tolkien disliked allegory, why are there so many allegorical readings of The Lord of the Rings?
Which real-life languages other than English, Welsh and Old English/Norse did Tolkien draw on for naming things?
Did Frodo want Bilbo to die?
What evidence is there for Tolkien's One Ring being based on the Ring of Silvianus?
Where does Tolkien talk about hybridization of humans and other beings, in "On Fairy Stories"?
What was supposedly satanic about the Lord of the Rings?
What is the internal order of Christopher Tolkien's last three books in the Middle-earth legendarium?
Why does Tolkien barely mention the Ring in terms of Frodo's physical handling of it?
Why did Tolkien take such extreme offense to the original Swedish translation of The Lord of the Rings?


Been trying to update bios on an Optiplex 160, Atom 330 dual core processor, 160 gb hard drive. Running Windows 10. Current bios version is AO6 dated 5/11/2010. Downloaded both newer bios versions AO8 and A10. Neither would install. Both generated the following error message related to WinRBU which I determined is Winstron Remote Bios Update. The message reads as follows: "Get system information Error Open service Err #00000424:Error_Service_Does_Not_Exist" Everything else seems to be working properly. Windows 10 is activated.
Why do you need to do a BIOS update? Almost never needed. Check the updates to see what they do. I really don't believe in doing them unless necessary because of a problem. I don't often do them, and am running Win 10 on 8-10 year old machines.
Thanks for the response. What you're saying is if it's not broke don't fix it. The bios updates do not specify what they do. A small glitch that I noticed when trying to install the OS was that file explorer hangs when trying to access a file on a USB stick. Worked around this problem by using an external DVD drive. I don't know the reason why the system reads a DVD but will not read a USB stick.
I was also hoping someone would shed some light on WinRBU. I have not been able to find the purpose or whether the file resides somewhere in the system. Have never encountered this situation on other Dell systems. Is this only common to the Optiplex 160?
Another reason for attempting to update the bios is that Dell recommends the updates. Also other parties highly recommend bios updates prior to installing Windows 10.
Might try to update the driver for USB. Win 10 installs generic drivers for any thing it thinks won't be compatible with Win 10, and they may not be perfect.
I upgraded a mess of different computers to Win 10 without doing a single BIOS or Driver update. Several needed driver updates after the upgrade, mostly video or wi-fi. BIOS is Basic Input/Output System which does not need to be changed for an OS upgrade. Sometimes additional features are added in updates, such as additional processor support or modified fan control programs, or sometimes errors are corrected. These changes are documented, and if you don't need them, don't install them. A BIOS installation can fail, resulting in a new doorstop.
I wouldn't use WinRBU to install a BIOS.
Have not found a USB specific driver. Matter of fact, Dell specifies that they do not provide driver support for Windows 10 and you're right in that the Windows generic drivers are not perfect......marginal at best.
I too have upgraded many older Dell Optiplex systems without any problems. Including BIOS updates.
This Optiplex 160 is different in that it uses an Atom processor and SiS graphics, instead of Intel.
I did not choose to use WinRBU. My first attempt at the BIOS update gave me the error mentioned in my initial post. Evidently the update is looking for the WinRBU.exe file.
The system originally came with Windows Vista. What are your thoughts in reverting to Windows Vista and attempting the BIOS update? And then re-installing Windows 10? The only reason for wanting to attempt this is to determine if the BIOS update might correct the USB problem and also another problem with the graphics adapter. I tried the graphics adapter driver update on the Dell website, and that also failed to install under Windows 10.
Came across this possible solution.
Problem solved. My intention is to use this computer as an HTPC. I was hoping with Windows 10, but due to the fact that there are no available drivers that work, I went back to Windows Vista Business.
Everything worked flawlessly including the Bios update. The Bios update does use a utility named WinRBU. I was also able to update the graphics adapter. I can now view output at a higher resolution.
Not the latest OS but very serviceable for the purpose intended. Now I'll have to figure out if Kodi will run under Vista.
Too bad the OEM's are not supporting Windows 10, but obviously not profitable for them.
Optiplex 740 - after Bios update Raid seems activated and cannot find harddisk?


text:
Hilton to add 10 German hotels
No Comments on Hilton to add 10 German hotels
Hilton has signed an agreement with Signo Hospitality to develop 10 new hotels in Germany under its Hilton Garden Inn, Hampton by Hilton and Motto by Hilton brands.
The agreement signed with Signo Hospitality – which also extends to Austria and Switzerland – will see these new hotels in the next 5 years.
This will be the 1st time that a Hilton branded property will open in the cities of Herne and Bottrop.
Hilton Garden Inn Herne, located in Shamrock Park, a growing business park close to the city centre, will be a 154 room hotel and will feature a full-service lobby restaurant and bar, a shop, a gym and 3 meeting rooms.
Hampton by Hilton Bottrop will consist of 108 rooms on the city's Berlin Square, and will form part of a shopping centre redevelopment, including retail outlets and a cinema complex.
In Germany, Hilton currently operates 33 hotels, making the country the group's second-largest market in Continental Europe. A further 7 properties are expected to open in 2021.
"We are excited to partner with Signo Hospitality to support the next phase of our development in Germany, where Hilton is growing rapidly with nearly 50 hotels trading or under development. Rising demand for our focused service brands has underpinned this growth – particularly Hampton by Hilton, which has doubled its footprint in the past few years. There remains a tremendous opportunity for Hampton, Hilton Garden Inn and Motto by Hilton in cities across Germany, from airports to regional business hubs. Working with partners like Signo will allow us to continue this momentum and unleash pent up demand for quality branded accommodation."
said Patrick Fitzgibbon, Senior Vice President, Development, EMEA, Hilton.
Tags Germany, Hampton by Hilton, Hilton, Hilton Garden Inn, Motto by Hilton
← Vistara Airlines announces flights from Mumbai to Male → Top 10: 5 star hotels in Chennai


Hormonal fluctuations in a woman's body may cause mood swings.
Any woman who's experienced a bad bout of PMS knows the havoc it can create. Irrational anger, sudden irritability, long crying spells -- hormones can make you a little nuts.
Some women report mood swings and irritability during perimenopause, but it's hard to tell if it's hormones that are causing it or side effects of other symptoms, like a lack of sleep (which makes anyone cranky).
In general, however, women older than 45 are less likely to be depressed than women who are reproductively younger [source: Harvard Women's Health Watch]. It's important to know that depression is not a natural part of the aging process.
A woman's personal experience during perimenopause is very much her own. Some women feel irritable, anxious or depressed. Others feel just fine. If you're in the former group, talk to someone who can help you evaluate your health and manage stress.
On the next page, we'll discuss another symptom that may be affected by stress -- but can also stress you out.


seems really delicious, congrats you're a chef!
I love banana bread, looks delicious Audrey. I must try it!
I adoreeeee banana bread so thanks for this recipe!
I love your cooking receipes! So lovely and nicely photographed! Love M.
I know it's very tasty!
Yum! I am not a huge fan of bananas, but once they are baked into bread I can't get enough :D Have a great weekend, Audrey!
I might just have to make some myself!
ohh this looks delicious!! yum!
Oh Banana Bread is SO my weakness, that and homemade rice crispy treats with chocolate (naughty). Just found your blog, just lovin it! I feel you on the previous post about LA weather, I live here too and I must say I am having an annoying time having to change 3 times a day! Have a beautiful Friday!
I would take almost any other dessert over chocolate cake, really, but banana bread would be at the top of my list! It is so comforting and reminds me of home! Yummy.
Thank you for this recipe!!! I love banana bread!!!
Look delicious, Audrey . I must try it on my free time. Have a great weekend.
Yes please ! I love eating sweets!
sounds and looks soo delicious. thanks for the recipe! i'm trying this as soon as i get home!
there is nothing I love more than banana bread!! It will always remind me of my home and mom, she makes the best!!
Looks Yummy ...and easy...I must try this. I wonder if you could use almond or rice flour???
Great easy recipe, looks delicious!
Just used your recipe a few days ago....sooooooooooooooo delicious, thanks for sharing!!!


text:
Another lovey painting of Brian, Brenda and Brendan Healy : Feb 29th, 2016
painted by the talented William Kelly
JAGUAR F-TYPE PROJECT 7 – BRIAN'S CHOICE : Feb 25th, 2016
The following is an interview done by Jaguar's Howard Walker with Brian about his new car!
Rock legend and AC/DC frontman Brian Johnson explains why he's added a new Jaguar F-TYPE Project 7 – Jaguar's limited production all-aluminum, fully road-legal two-seater roadster – to his car collection.
How are you enjoying your F-TYPE Project 7 so far?
I love it. It's a proper supercar and boy oh boy does it have some grunt to it. While it's blisteringly fast, I feel so safe in it. I love the steering, the handling, and those carbon ceramic brakes are amazing. The discs are as big as the wheels on my racing Mini. Just listen to that noise from the exhaust, who needs a stereo when you have a soundtrack like this?
Have you taken it out on the track yet?
Not this car. Last year I did an episode of my TV show Cars That Rock sitting in the passenger seat of a Project 7 while it was being hammered around Jag's Gaydon test track in the UK by chief engineer, Mike Cross. It was un-believable. He was throwing it sideways to show the control, hammering down the straights at 125mph. It just felt like a rocket.
What was it about the F-TYPE Project 7 that appealed to you?
I think it's because it pays homage to one of my favorite Jags of all time, the Le Mans-winning D-type. You see the D in that lovely fairing behind the driver's seat. It's also a pretty rare car; they've only built 250, with just 50 of those coming to the States. I literally had to beg them to buy one. Of course they asked me what color I wanted. I told them: Is there any other color than British Racing Green?
Is this the first Jaguar you've owned?
Not at all. My first was an old Mk II saloon I bought in 1971. It was silver-blue with a red interior and wire wheels. I was 24 at the time and paid £200 for it – that's about $350. It was fantastic. The band I was in at the time wasn't cutting the custard, so I had to sell it. It broke my heart. Then, I had an old XJ, which was the car I drove in down to London for my audition with AC/DC in 1980. That was a lovely motor. When we moved to Florida, I got myself a 1973 E-type V12 convertible. It was silver with red interior and wide wheels. For years, my brother-in-law, who's a doctor in Norway, kept pestering me to sell it to him. Ten years ago I finally let him have it. He still owns it and loves it.
Will the F-TYPE Project 7 stay in the garage as an investment, or will you drive it?
The Jag is too much fun not to drive. In fact, when I'm at home in Florida, I drive all my cars at least twice a week. These are living things that need to be exercised. My favorite drive with the Project 7 is my local State Road 64 from Bradenton over towards Sebring. It's full of bends, elevation changes and lovely long straights. You can really open it up.
Brian and AC/DC have just kicked off the U.S. leg of their 2016 'Rock or Bust' tour that ends April 4 at New York's Madison Square Garden.
A message from Brenda and Brian Johnson : Feb 21st, 2016
One of our dearest friends and a soul brother to my husband passed on yesterday..
Brendan Healy brought so much joy ,laughter and music to our lives and his passing has left a huge void. It's so very sad that his brilliant wit,his comic genius and generous heart are gone….You realize how fleeting time is when you lose someone so close to you..But..we had so much more to share…..I have so many years of memories of Brian and Brendan beneath the stairs in our home composing music on the piano together into the wee hours of the morning….He brought magic to our lives with his engaging energy and humor. The two boys played off each other with stories of life that would bring you to tears with laughter.
I was so lucky to have seen him last week in his home with Steph……Brian was on tour in America and couldn't get away…It was a special hour of sharing life when you realize the time is running out. We will miss you dear friend and brother…but fear not because your "Soul brother"…my Brian ,will continue to tell your stories and sing your songs forever
And you will live in our hearts till we meet again. RIP Brendan Healy
Brenda And Brian Johnson
A Message From Brian : Feb 21st, 2016
Brendan Healy my friend and brother has left us, my sincerest condolences to his entire family who i know and love. I feel a terrible loneliness now that he has gone, we wrote beautiful music together and had great times together, I count myself lucky to have known him.
And on behalf of the whole of AC/DC, our condolences to all of Brendan's many friends back in Newcastle, in Britain and around the world at this sad sad time. Rest in Peace old friend. Brian


The Ferrari presented here is an undisputed masterpiece of automotive art – the one-of-a-kind 250 GT SWB Berlinetta Speciale designed by the great Giorgetto Giugiaro and built by the legendary house of Carrozzeria Bertone. Since its debut in 1962, this magnificent and utterly unique car has been acclaimed as both a definitive example of Italian automotive design and a coachbuilt Ferrari of exceptional beauty and significance.
In early 1962, Nuccio purchased a complete 250 GT SWB chassis from Maranello, numbered 3269 GT, and laid out his vision for a spectacular new Ferrari that he would retain for his personal use. Prior to this purchase, Carrozzeria Bertone had fashioned coachwork for just two Ferraris, a 1950 166 Inter Cabriolet built for Franco Cornacchia's dealership and a 1959 250 GT SWB Coupe commissioned by wealthy industrialist Enrico Wax.
To execute the design of the new Ferrari, Nuccio turned to Giugiaro, a young stylist who had joined the coachbuilder in 1959 and whose first task was to update the popular Giulietta Sprint. Though he would go on to become one of the most talented and influential designers of the postwar era, the 23-year-old Giugiaro had penned only a handful of cars by 1962. Nevertheless, his Aston Martin DB4 GT Jet and a one-off Maserati 5000 GT showcased his remarkable ability to make already outstanding sports cars even more desirable.
Working together, Nuccio Bertone and Giorgetto Giugiaro created one of Carrozzeria Bertone's most famous designs and, quite possibly, the most memorable coachbuilt Ferrari of all time.
Inspired by Ferrari's world-championship-winning Grand Prix car, the 156 F1, as well as the 330 TRI LM and 246 SP sports racing cars, the signature feature of Giugiaro's design was its "sharknose" front-end treatment. Similar to Franco Scaglione's BAT cars, the leading edge of the bonnet came together in an expressive point, splitting the traditional Ferrari eggcrate grille into two large ovoid openings.
Consistent with the sharknose theme, the bodywork featured several competition-inspired cues, including a Plexiglas bug deflector, a wide hood scoop, drilled rocker trim, and a small trail of louvers following the line created by the rear quarter windows. As in the standard design, the Bertone 250 SWB had extractor vents on the front and rear fenders. While Pinin Farina's vents were purely functional vertically oriented slashes, Bertone's were horizontally oriented, oval shaped, and trimmed with decorative slats. Viewed from any angle, the sharknose 250 SWB was an absolutely gorgeous automobile, with voluptuous forms, beautiful flowing lines, and compact, aggressive proportions.
The interior was pure Bertone and far more luxurious than the standard road-going SWB berlinettas, with comfortable leather-trimmed seats, electric windows, and stylish quilted vinyl covering the transmission tunnel, footwells, and sills. The metal dashboard – painted to match the body color – was outfitted with the full array of black-faced Veglia gauges, knobs, and switches, along with a locking glove box and a deluxe radio. Even the steering wheel, with its special black Bakelite rim, was unique to 3269 GT.
Finished in Blu Notte Metallizzato with burgundy leather upholstery, the spectacular coachwork was finished off by a standard Ferrari badge on the upper edge of the nose, a large prancing horse below it, and the classic Bertone badge placed on each front fender, highlighted by a decorative chrome flash. A prime example of the coachbuilder's art, this marvelous creation showcased the incredible attention to detail, quality construction, and Old World craftsmanship typical of Carrozzeria Bertone.
Nuccio Bertone was obviously very proud of his Berlinetta Speciale, and he introduced it at the prestigious Geneva Auto Show, held in Plainpalais March 15–25, 1962. The unique Bertone Ferrari – the perfect marriage of a 250 GT SWB chassis and a stylish Giugiaro-designed body – must have caused quite a stir. After all, here was the finest Italian sports car presented in a bold and completely original way, yet retaining the fundamental Ferrari character and sharing exotic styling cues with the Scuderia's latest racing cars.
After the debut at Geneva, Carrozzeria Bertone displayed the Ferrari at the annual carrozzerie exhibition at the famed Biscaretti Museum in Torino. In this exclusive gathering of the latest coachbuilt cars, the Berlinetta Speciale was showcased alongside Pinin Farina's Superfast III, a Touring-bodied Maserati 3500 GT, and a Dual-Ghia L6.4. Auto Italiana covered the event and its correspondents remarked that cars like the Bertone Ferrari reconfirmed the current trend for rounder, more curvaceous designs, replacing the boxy, conservative styles that had been in vogue throughout the late 1950s and early 1960s.
In May, the certificate of origin was issued for 3269 GT, and the car underwent a variety of revisions at the request of Nuccio. For instance, the body was refinished in metallic silver gray, the Bertone badge was standardized, and the large prancing horse was removed from the lower edge of the nose while a smaller one was secured to the driver's side grille. In this updated form, 3269 GT was displayed as the centerpiece of the Bertone stand at the Torino Auto Show in November 1962, surrounded by contemporary production cars, such as the Alfa Romeo 2600 Sprint and the new ASA 1000 GT.
On March 9, 1963, Nuccio sold the Berlinetta Speciale to Milanese automotive parts supplier Italo Musico. The car's next owner, Gerda Anna Speckenheuer, sold it on December 30, 1966, to M. Gastone Crepaldi, the official Ferrari dealer in Milano. From there, it was sold in a package of cars to Peter Civati, a Ferrari enthusiast living in Redondo Beach, California.
In 1967, Mr. Civati sold the Bertone-bodied Ferrari to Bill Karp, a drummer living in Hollywood, California. Two years later, the distinctive Ferrari made a brief cameo in Marlowe, a neo-noir film starring James Garner as Raymond Chandler's famous detective character Philip Marlowe. Though its big-screen appearance was brief, 3269 GT is easily spotted, still finished in silver but wearing black California plates.
Mr. Karp enjoyed the one-off SWB as his sole method of transportation throughout his 13-year ownership, driving it nearly 100,000 miles and even using it to transport his drum kit between gigs at music clubs and studio sessions. He retained 3269 GT until September 1980, when it was sold through Ed Niles to famed collector Lorenzo Zambrano of Monterrey, Mexico.
First restored by Steve Tillack in the 1980s and then by Bob Smith Coachworks in the 1990s, the Bertone sharknose SWB has received numerous awards at concours d'elegance around the world, including several Best of Show honors. Perhaps even more significant than these accolades is the car's remarkably genuine character, which was officially recognized in June 2007, when 3269 GT was certified by the Ferrari Classiche Department. According to the Ferrari factory, this unique 250 GT retains its original chassis, body, engine, gearbox, and differential, as well as other important components.
For the past 35 years, this extraordinary Ferrari has been the crown jewel in Mr. Zambrano's famous stable, one of the most impressive private collections of postwar Italian sports cars ever assembled. During this period, this exceptional car has been featured in countless books and articles on Ferrari, Nuccio Bertone, and Giorgetto Giugiaro, and yet it remains as fresh and exciting today as it did upon its debut at the Geneva Auto Show in 1962. Leading Ferrari experts have professed their admiration for this sharknose SWB's striking design, and many top collectors have attempted to acquire it, but it has remained elusive, jealously guarded by its passionate long-term owner and wholly unavailable for more than 30 years.
A one-of-a-kind 250 GT SWB, designed by Giorgetto Giugiaro for the personal use of Nuccio Bertone, one of the most successful and influential Italian coachbuilders, 3269 GT is a world-class Ferrari that possesses every special quality sought after by discerning collectors. Surely among the most important and distinctive Ferraris ever built.


There are many ways to use it, 8 & 13 crossover, crossover of 50-day ma & or 200-day ma, etc.
So what's your read over the next several months?
All four Index's display the same pattern.
We are in a positive, bullish, up trend. The StoRsi is weak, I view it as neutral. The MACD is positive with Higher highs and higher lows.
Current indication is for a very "choppy" up trend. CAUTION is warranted.
I am long with 5% stops.
btw: I do very little based on cycles, but those who do are suggesting a ST top in August.
I also use some other charts for ST tests of the LT trends.
Edited by mss, 10 July 2012 - 06:44 AM.


Los Angeles Dodgers center fielder Matt Kemp has been named National League Player of the Week for the period of April 4-8, 2012. The announcement was made earlier today on MLB Network.
season in Sunday's 8-4 loss to the Friars.
Other noteworthy performances last week included Kemp's Dodger teammates Chad Billingsley (1-0, 0.00 ERA, 8.1 IP, 11 SO, 1 BB, 3 H) and Andre Ethier (.267, 8 RBI, .733 SLG); Cincinnati's Jay Bruce (.273, 3 HR, 5 RBI, 3 R), who became the first player in Reds history to homer three times in the first three games of the season, along with Zack Cozart (.545, HR, 2 RBI, 4 R, 2 2B) and Johnny Cueto (1-0, 0.00 ERA, 7.0 IP, 4 SO); Carlos Beltran (.389, 2 HR, 3 RBI, 7 H), David Freese (.421, HR, 6 RBI) and Rafael Furcal (.526, 10 H, 3 R, 2 SB) of the St. Louis Cardinals; Milwaukee's Corey Hart (.444, 3 HR, 4 RBI, 1.556 SLG) and Zack Greinke (1-0, 0.00 ERA, 7.0 IP, 7 SO); Frank Francisco (0.00 ERA, 3 SV, 3.0 IP, 4 SO) and David Wright (.667, 6 H, HR, 3 RBI) of the New York Mets; Philadelphia's Roy Halladay (1-0, 0.00 ERA, 8.0 IP, 5 SO); San Diego's Clayton Richard (1-0, 0.00 ERA, 7.0 IP, 3 SO); and San Francisco's Pablo Sandoval (.417, HR, 4 RBI, .500 OBP).
In recognition of his National League Player of the Week Award, Matt Kemp will be awarded a watch courtesy of Game Time, the leader in licensed sports watches, available at MLB.com.


text:
osargenews.com Blog
Diaspora News
African Diaspora Film
Business Science
Australian Aboriginal
Australian Aboriginalosargenews.com2015-04-29T11:49:59+00:00
Native Australian Populations Database
Your unique genetic profile will be compared to the following Native Australian Populations.
Sample sizes for each population are included in parentheses.
Buy Now – only £120!
Aboriginal (Desert Region, Australia) (2516)
Aboriginal (East Arnhem, Australia) (240)
Aboriginal (Fitzmaurice River Region, Australia) (1073)
Aboriginal (Gulf Region, Australia) (97)
Aboriginal (Kimberley, Australia) (62)
Aboriginal (Northeast Australia) (74)
Aboriginal (Northern Territory, Australia) (490)
Aboriginal (Northern Territory, Australia) (1172)
Aboriginal (Northwest Australia) (49)
Aboriginal (Rainforest Region, Australia) (48)
Aboriginal (Riverine Region, Australia) (1084)
Aboriginal (South Australia) (325)
Aboriginal (Southeast Australia) (817)
Aboriginal (Spencer, Australia) (59)
Aboriginal (Tiwi Islands, Australia) (61)
Aboriginal (Torres Strait, Australia) (21)
Aboriginal (West Arnhem, Australia) (279)
Aboriginal (West Cape, Australia) (33)
Arrernte (Caterpillar People) (Northern Territory, Australia) (36)
Modern diaspora populations with substantial Native Australian ancestry:
Declared Aboriginal (Northern Territory, Australia) (387)
Declared Aboriginal (Queensland, Australia) (178)
Declared Aboriginal (Western Australia) (367)
European-Aboriginal (New South Wales, Australia) (5,116)
European-Aboriginal (Northern Territory, Australia) (10756)
European-Aboriginal (Queensland, Australia) (178)
European-Aboriginal (Western Australia) (659)
Copyright © 2014 osargenews.com. All Rights Reserved.


text:
Q: Backup SQL Server Schema With Data I've been tasked with creating a backup of the data in our "default schema" database dbo to the same database using a new schema called dbobackup.
I honestly do not understand what this means as far as a database goes. Apparently, it is like having a database backup inside the existing database. I guess there is some advantage to doing that.
Anyway, I can't seem to find anywhere online that will allow me to do this.
I have found a few posts on here about copying the schema without data, but I need the data too.
Backup SQL Schema Only?
How do I check to see if a schema exists, delete it if it does, and then create a schema that accepts data in the current database?
Once I have the new schema created, can I dump data in there with a simple command like this?
SELECT * INTO [dbobackup].Table1 FROM [dbo].Table1;

That line only backs up one table, though. If I need to do this to 245 tables for this particular customer, I'd need a script.
We have several customers, too, and their databases are not structured identically.
Could I do something along these lines?
I was thinking about creating a small console program to walk through the tables.
How would I modify something like the code below to do what I want?
public static void Backup(string sqlConnection)
{
    using (var conn = new SqlConnection(sqlConnection))
    {
        conn.Open();
        var tables = new List<String>();
        var sqlSelectTables = "SELECT TableName FROM [dbo];";
        using (var cmd = new SqlCommand(sqlSelectTables, conn))
        {
            using (var r = cmd.ExecuteReader())
            {
                while (r.Read())
                {
                    var item = String.Format("{0}", r["TableName"]).Trim();
                    tables.Add(item);
                }
            }
        }
        var fmtSelectInto = "SELECT * INTO [dbobackup].{0} FROM [dbo].{0}; ";
        using (var cmd = new SqlCommand(null, conn))
        {
            foreach (var item in tables)
            {
                cmd.CommandText = String.Format(fmtSelectInto, item);
                cmd.ExecuteNonQuery();
            }
        }
    }
}

A: SQL Server already has this built in.  If you open SQL Server Management Studio and right click on the database you want to back up, then select all tasks then backup, you will get an option to back up your database into an existing database.
This is the important part and why you should use the built in functionality: You must copy the data from one DB to the other DB in the correct order or you'll get foreign key errors all over the place.  If you have a lot of data tables with a lot of relationships, this will really be hard to nail down on your own.  You could write code to make a complete graph of all of the dependencies and then figure out what order to copy the table data (which is essentially what SQL Server already does).
Additionally, there are third-party programs available to do this type of backup as well (see: Google).

A: This is sort of a "work in progress" approach I got started with that looks promising:
public static void CopyTable(
  string databaseName,   // i.e. Northwind
  string tableName,      // i.e. Employees
  string schema1,        // i.e. dbo
  string schema2,        // i.e. dboarchive
  SqlConnection sqlConn)
{
    var conn = new Microsoft.SqlServer.Management.Common.ServerConnection(sqlConn);
    var server = new Microsoft.SqlServer.Management.Smo.Server(conn);
    var db = new Microsoft.SqlServer.Management.Smo.Database(server, databaseName);
    db.Tables.Refresh();
    for (var itemId = 0; itemId < db.Tables.Count; itemId++)
    {
        var table = db.Tables.ItemById(itemId);
        if (table.Name == tableName)
        {
            table.Schema = String.Format("{0}", DatabaseSchema.dboarchive);
            table.Create();
        }
    }
}

The only issue I am currently running into is that my db variable always comes back with Tables.Count == 0.
If I get a chance to fix this, I will update.
For now, I've been told to remove this piece of code and check my code in.

redpajama_set_name: RedPajamaStackExchange


text:
Movie review: 'Blackbird' explores beauty, grace in death
"You just show up and give life your best shot." That's the only pearl of wisdom that Lily (Susan Sarandon) wants to impart on her grandson, Jonathan (Anson Boon), along with stressing the importance of handwritten thank-you cards and punctuality. What other advice is there, really, when steeling oneself for their imminent end of their life? Questions about life and how to do it right, or at least well, wrestle at the center of Roger Michell's "Blackbird," an exceedingly tender and intelligent film about the beauty and grace to be found in death.
"Blackbird" is a remake of the 2014 Danish film "Silent Heart," and that film's screenwriter, Christian Torpe, has written the screenplay for this version as well. Lily is the matriarch of a close-knit family who has gathered at her seaside home for what she and her husband Paul (Sam Neill) have decided is her final weekend. She suffers from an unnamed degenerative terminal illness (like ALS) and has decided to peacefully end her life before her condition deteriorates further, at the end of a cozy and contented family weekend.
But as anyone who has ever gathered with family knows, rarely are such events contented, especially when the stakes are this high. Although all Lily wants is to drift away on a chemical cloud of good love, good food, good wine and good drugs, combining siblings and in-laws and old friends in one house can be volatile, especially with the ticking clock of Lily's assisted suicide drawing closer.
The wildcard proves to be Anna (Mia Wasikowska), Lily's flighty and fragile younger daughter, who instantly clashes with her uptight, fretful older sister, Jennifer (Kate Winslet). While the family strives to create the perfect weekend for Lily, complete with Christmas dinner, the truth must always come out, and Lily's death adds a layer of urgency to every secret.
Michell, known for "Notting Hill," "Morning Glory" and most recently, "My Cousin Rachel," among many others, is a skilled and versatile director, able to genre jump while always putting character first. He's a sort of master at dinner scenes, and the one that anchors "Blackbird" is breathtaking. Lily, bathed in candlelight, swathed in red velvet, is the radiant focal point of this meal that runs a full emotional spectrum as revelations move to the surface. Cinematographer Mike Eley, a frequent Michell collaborator, captures close-ups with a light-touch hand-held camera, utilizing focus to layer characters as they navigate the tricky waters of the truth. The entire film is beautifully shot, using practical lighting and the gorgeous natural setting efficiently.
Intimate moments, both delicate and bruising, are captured with an honesty and plausibility that prevents the film from ever becoming too treacly or maudlin, with a cooler tone that trends toward the logical and the existential, rather than the sentimental. That grants Lily the allowance to use aphorisms that border on cliche, like, "love is all there is," which feels different when declared in the middle of a family feud hours before her assisted suicide.
The core truth at the center of "Blackbird" is Lily's agency in all of this: every choice her own. Sarandon is perfect in her embodiment of this fierce yet vulnerable woman, whose spirit never wavers, even as her body does. She's buffeted by the performances around her, including Lindsay Duncan as her lifelong best friend, who gets one powerful monologue, as is required by law (or should be), while Neill's presence bathes the atmosphere with an aura of calm decency. "Blackbird" is a simple tale, well-told, but it's also the tale of all tales, of life, death and everything in between.
"Blackbird" is now available for streaming rental at www.athenscine.com.