text:
Meghan pulls out of Invictus Games events leaving Harry to fly solo
By Tim Barlass
October 21, 2018 — 1.06pm
The pregnant Duchess of Sussex took a break from royal tour engagements on Sunday morning after a late night at the Invictus Games opening.
Prince Harry stepped out solo for the first time since the tour began in Australia last Tuesday.
Meghan is resting ahead of the couple's trip to Fraser Island, leaving Prince Harry to go it alone on Sunday. Credit:AAP
Kensington Palace said the couple had decided to cut back Meghan's schedule "slightly" ahead of the couple's visit to Fiji, Tonga and New Zealand.
"After a busy program, the Duke and Duchess have decided to cut back The Duchess's schedule slightly for the next couple of days, ahead of the final week-and-a-half of the tour."
Meghan joined Harry at the prime minister's Invictus Games lunchtime reception.
Harry was on hand for Invictus Games events in Sydney on Sunday morning where members of the Australia team presented the prince with a pair of budgie smugglers.
Prince Harry with members of the Australia Invictus team. Credit:Tim Barlass
Ben Yeomans, Damien Irish and Jarrod Kent were all smiles and had nothing but praise for the Duke of Sussex after meeting him on Sunday at the Invictus Games cycling event in Sydney.
"To be honest he's so down to earth, one of the boys really," Mr Kent said.
Paul Guest from the United Kingdom Invictus Games team. Credit:Tim Barlass
"A lot of us do swimming but we are not in the swimming team so we just thought we'd make something for ourselves to train in and stuff like that. Harry got his presented to him this morning by one of the other competitors."
Harry also chatted to Paul Guest (nickname bulldog) from the UK with a heavily tattooed head.
Guest said: "Every time we meet up we always have a chat about my tattoos. We made a promise when I was at Toronto - I said if I get the Canadian flag will you get yours? He said: 'Well, yeah, maybe'."
Guest was with the navy off the coast of Iraq when he was caught up in an explosion which caused back and neck injuries and the loss of hearing.
Prince Harry officially opened the Invictus Games at the Opera House on Saturday night after a wild electrical storm delayed proceedings for more than an hour.
The couple fly to Queensland's Fraser Island on Monday before spending the following four days in Tonga and Fiji.
They return to Sydney on Friday night for the final days of the games and then visit New Zealand.
with AAP
Tim Barlass
Tim Barlass is a senior writer for The Sydney Morning Herald


Deutsche Rückversicherung AG is probing the ideas and expectations of the digital generation. The Düsseldorf-based reinsurer, jointly with startup incubator STARTPLATZ and its partners ECODYNAMICS and Protostart, will be holding a Disrupt.me!® day on 6 June 2018. Startup founders, students and innovators will examine and rethink the concept of cover for biometric risks.
Under the motto "Disrupt.Life Insurance!", startups, people interested in founding a business and students will have the opportunity to engage with one of the main sectors of the insurance industry during the event, which will take place over one day with professional coaching as part of InsurTech Week from 4 to 9 June in Cologne. Participants will get help from ECODYNAMICS expert Hamidreza Hosseini and specialists from Protostart, who design and support constructive, crowd-based methods and processes with STARTPLATZ.
The ideas of participants at the Disrupt.me!® day will be applied to those areas where they believe established insurers face challenges. They will examine changing customer needs and the expectations of Generations Y and Z – Digital Natives or Millennials – and identify potential weaknesses of traditional products. In this way, existing concepts can be analysed selectively and looked at from a new perspective, modified, reshaped or even replaced by new concepts. Participants will work competitively in teams. The winning team will have the chance to develop its ideas further as part of a three-month accelerator programme at STARTPLATZ with mentoring from Deutsche Rück. ECODYNAMICS and Protostart will offer the winning teams free advice and workshops.
Dr Lorenz Gräf and Matthias Gräf. Over an area of around 4,500 square metres in Cologne's Mediapark and approximately 2,700 square metres in the Düsseldorf Medienhafen, STARTPLATZ offers coworking spaces, team offices and meeting and conference rooms which regularly host events, conferences, workshops and pitches. Here, over 250 startups are already working on their business ideas, over 100 million euros have been invested in them and more than 135 teams have received founders' grants. Together with its partners, STARTPLATZ offers large companies and SMEs solutions from the world of startups to implement and drive forward digitalisation and innovative processes.
ECODYNAMICS helps companies manage changes in digital markets and ecosystems and operate successfully and proactively in those markets. It designs and implements platform economy business models, Disrupt.me, Rapid Design and digitalisation projects, while its digital business models are focused on market entry, traction and growth measures.
Protostart promotes cultural change in organisations through workshops, innovation sprints, project support and methodology training. Its experts develop innovative solutions, strategies and products and show the way to an agile and collaborative mindset. They work with a variety of methods such as Design Thinking, Lean Startup®, Radical Collaboration® and Lego Serious Play®.


The Garmin 403 was probably the biggest factor in getting me to the finish line on Sunday. I come across many clever devices in my job, but how many can actually get you through a marathon?
If Apple can convince commercial and in-house enterprise developers to write software for the iPhone 4.0, the Blackberry may finally have a serious rival in the enterprise.


The Heil DuraPack Python automated side loader combines two proven products in one high-performance package — the DuraPack body, which is famous for its toughness and productivity, and the patented Python automated arm. The DuraPack Python's arm has an 8-second lift cycle. That can save you up to 4 seconds per stop – and up 1 hour per day. You don't have to wait for the hopper to catch up with a load, either, because the Python's follower panel enables continuous dumping. Twin packing cylinders deliver outstanding payloads, so you can collect more homes with fewer trips to the disposal site. Able to lift up to 1,250 pounds, the Python's arm features cushioned cylinders, saving wear and tear on the lift arm and the chassis. The Python's unique lift geometry also prevents spillage and enables the arm to return carts with the lids closed every time. Heil's Operate-in-Gear-at-Idle System comes standard on the DuraPack Python. It is designed to reduce wear on the lift assembly, chassis, engine, and transmission. Plus, it greatly reduces noise — a benefit to operators and customers alike.


This is a placeholder page for Franchestia Volter, which means this person is not currently on this site. We do suggest using the tools below to find Franchestia Volter.
You are visiting the placeholder page for Franchestia Volter. This page is here because someone used our placeholder utility to look for Franchestia Volter. We created this page automatically in hopes Franchestia Volter would find it. If you are not Franchestia Volter, but are an alumni of New Iberia Senior High School, register on this site for free now.


text:
Q: Increasing MaxExtraPrecision arbitrarily changes numerical result I am trying to confirm that a function $f$ satisfies a particular differential equation of the type $D f=0$, for some differential operator $D$. I set $Df$ as Diffeq in Mathematica and I tried to check if it gives zero for any numerical value of the variables that $f$ depends on. I wrote
N[Difeqx /. x -> 3/4 /. y -> 1/5 , 500]

I got the following:
"N::meprec: Internal precision limit $MaxExtraPrecision = 50.` reached while evaluating [the function]
Out[1]=-1.214057*10^-613 -
 6.579195*10^-614 I  ".
I then used
Block[{$MaxExtraPrecision = 550}, N[Difeqx /. x -> 3/4 /. y -> 1/5, 500]]

and I got back
"N::meprec: Internal precision limit $MaxExtraPrecision = 550.` reached while evaluating [the function]
Out[2]= 4.131621*10^-1089 +
 2.022562*10^-1089 I  "
The numerical result changes (and becomes smaller for this particular case) as I increase the MaxExtraPrecision.
The question:
From the different numerical results I get, I can conclude with some uncertainty that indeed $Df=0$ (or Difeq=0) is satisfied. But, can I make it more precise? How can I be more sure that it indeed gives zero?
P.S. I don't think that Chop, which returns zero, makes it any more sure that the result is precisely zero.

A: The fact that you are getting this error message is already a pretty good indication that the number is in fact zero. The fact that it does not go away when you increase MaxExtraPrecision further points in this direction.
When you apply N[expr, 100] you are asking Mathematica to numerically evaluate the expression with an output precision of 100 digits. However, if expr actually evaluates to 0 this is impossible because a zero always has zero significant digits. Hence no matter how much Mathematica increases its internal precision, it never reaches the desired output precision of a 100 digits.
Lets view a concrete example. Let
a = 1 - 1/Sqrt[x] - (Sqrt[2] - 1)/Sqrt[2]

It does not take a genius to realize that (a /. x-> 2) == 0. (However Mathematica does not immediately do so, when you input
(a /. x-> 2)

it returns
1 - 1/Sqrt[2] - (-1 + Sqrt[2])/Sqrt[2]

Asking
N[(a /. x-> 2),10]

Produces a N::meprec error message as in your example. An it will continue to do so no matter how much you increase the $MaxExtraPrecision, exactly because it cannot produce any finite precision representation of 0.
In this case you can get Mathematica to confirm that this is zero by simply asking
Simplify[(a /. x-> 2)]

Since you mentioned that your expresion involves Hypergeometric functions, you would at the very least need FullSimplify, although it is very possible that even then Mathematica won't be able to recognize that it is zero.
This leaves you with numerical probes, which will never tell you that the result is zero exactly. For example, instead of inputting the parameters as exact number and asking Mathematica to produce a finite precision result, you could input the parameters as finite precision numbers. E.g.
a/. x -> 2.`100

if a is exactly zero this should produce a finite Accuracy zero E.g.
0.``100

(This is essentially the process that Mathematica was following internally, but now you can explicitly check that a finite precision input leads to zero within the expected accuracy.)

redpajama_set_name: RedPajamaStackExchange


text:
Q: Google App Engine + Browser: Round trip time too high I am concern about waiting time for browser is high compare to google appengine dispatching request time. How do I reduce round trip time? Any performance tweak at Google App Engine to make reduce it? or anywhere else?
Note: I am also using Google End point, may be it is related.
Network tab timeline:

Google App engine logs

Thanks


Please note, only members of the EOTB may register to attend Camp EOTB. If you are a member, you may not be logged-in, or there is an error with your membership status.
To login, click the Login item in the menu above. If you are logged-in, but still can't access this page, please contact a member of the executive to verify your membership status.
If you are a non-member, and wish to attend Camp EOTB, please use the "Contact Us" form and direct your inquiry to the Board of Directors.


text:
You are here: Home / District Attorney / Press Releases / Gang Member on Parole Sentenced to Prison Share this Page:
Gang Member on Parole Sentenced to Prison Following High Speed Pursuit and Recovery of a Firearm
Santa Rosa, CA – April 22, 2019 – Defendant Mateo Julian Sandoval, 22 years old of Santa Rosa, was sentenced to a seven year four month prison term by the Honorable Dana Simonds on April 16 following his no contest plea in March of this year to charges of felony evading, possession of a firearm by a convicted felon, and unlawful possession of ammunition.
District Attorney Ravitch stated, "This defendant has evaded police in the past and committed other crimes that have led to state prison commitments. He is legally prohibited from possessing firearms or ammunition. We take this conduct seriously, and believe the sentence is appropriate."
The charges stem from an incident on August 11, 2018, where an alert Santa Rosa police officer recognized a vehicle, driven by the defendant, as being similar to one involved in a recent shooting. As the officer began to follow the vehicle, the defendant pulled in to a coffee shop drive-thru. While the officer waited in the parking lot for the defendant to exit, a concerned citizen informed the officer that there was a suspicious vehicle behind him in the drive-thru, and that the driver had tossed something heavy in to the nearby bushes.
As the defendant exited the drive-thru, the officer attempted to make a traffic stop. The defendant refused to pull over and led the officer on a four mile high speed pursuit. The pursuit ended after the defendant lost control of his vehicle and struck two other occupied cars. Following the defendant's arrest, officers returned to the coffee shop and recovered a loaded 9mm semi-automatic handgun in the bushes. Testing confirmed the presence of the defendant's DNA on the loaded firearm.
At the time of this pursuit, the defendant was on parole for a prior vehicle pursuit that ended in a wreck which injured passengers.
The case was prosecuted by Deputy District Attorney Christopher Brown. The Santa Rosa Police Department headed the investigation.

redpajama_set_name: RedPajamaCommonCrawl


The correct answer, of course, is Firefox Mobile. 🙂 But what _other_ apps are must-have for Android?
I've now got a Galaxy Tab 10.1 tablet, and am giving it a whirl. I will _definitely_ have things to say about it soon. But in the interim, I'm wondering what other excellent Android apps are worthy to try out?
Johnath was raving about Tasker, which I'll install as soon as I figure out how to enable the "Buy" button in Android Market.
"Seven Things" is the hip new, err, thing that all the kids are doing these days. I got pinged, so here's my 7. Hey, let's do this David Letterman style.
TOP SEVEN THINGS ABOUT JUSTIN DOLSKE!
Hmm. Kinda off to a bland start, but then I never found Letterman to be very funny.
I have pictures from when I first got her, as well as some more recent shots. Oh, and she's Kind Of A Big Deal, as the header on the URL-shortening side icanhas.com.
6. Built a Firefox logo from LEGO!
I've previously blogged about this. It's awesome enough to mention again, I'm quite pleased with how it turned out.
5. Is a hueg space history nerd!
I'm keenly interested in NASA's (and other countries') space programs, both past and present. I first got hooked after reading an article in the newspaper on the 25th anniversary of the Apollo Program, when I read that we had landed (men) on the moon not just once, but actually 6 times. I was stunned that that I had never learned that before, and was determined to know more.
I particularly enjoy the nitty-gritty, engineering details of programs. It can be hard to find — mass market books don't want to get too technical, and NASA's own outreach is mainly for school kids — but there are gems like this book, and NASA's Apollo Surface Journal, or Apollo Flight Journal. NASA now has lots of very high-res photos from recent Shuttle and ISS missions, which you'll see as wallpapers on my desktop at work. They're fun to zoom into and examine for little details.
4. Can do software _and_ hardware!
I do software for a living, but I also love to dabble with simple electronics on the side. I can fairly claim geek points for knowing how to solder (fine-pitch SMT, at that!), doing design and etching of my own boards, reading datasheets for fun, and hoarding components that will be "useful someday". All self-taught, but also not very good at it. 😦 They say software guys shouldn't do hardware, and vice-versa — it's probably true. But it pleases me, and I think it's more about the journey than the destination.
My first serious interest came after reading about a neat "forever flasher" project on alt.hackers, back in the day… It was just a little LED blinking circuit (solar powered, with supercap for storage), but the clever part was that it was hooked up with fine magnet wire and permanently cast in the center of a clear acrylic block. From there I graduated to building a beer-keg monitoring system with a DalSemi TINI kit. My hardware was flaky, but it did have a web interface. And I get bonus points for writing a GIF encoder in Java, mostly from scratch.These days I've been tinkering with an Arduino board I got from SparkFun's first Free Day promo, as well as TI's nice little MSP430 LaunchPad kit (just $4.30!).
Did I just mention beer? I think I did. Yes, I'm a bit of a beer snob… Ok, ok, I'm a big beer snob and huge hop-head. I'm in heaven with the amazing beer variety available on the west coast. If someone could please move Belgium over here too, I'd appreciate it.
Instead of a long monologue on how much I enjoy all things brewed, I'll just plug BeerAdvocate here. Subscribe, it's just $15 cheap!
2. He's an international fugitive from the CIA and NSA!
This was the first known successful brute-force attack against DES. We got some press (page A3 of the Wall Street Journal!), I later cowrote a USENIX article, and overall it felt good to play a tiny role in the crypto wars of the 1990s… Back when the government considered cryptography to be munition and still tried to tightly control its export. Coincidentally, we won just days before the US Government gave Netscape permission to export 128-bit crypto (instead of the ridiculously limited 40-bit limitation it required before).
I didn't write any of the crypto code for DESCHALL, but I did help with organizing the project, wrote a proxy to tunnel its UDP client/server control traffic over TCP, made a graph server for people to track their progress, and (most fun of all) made an export-control download page that did a reverse-IP lookup of the user, then a WHOIS lookup on that domain, and finally scraped out an address to see if they were likely in the US. Oh, and I ran the DESCHALL client on about 200 systems at Ohio State University… Over the 3 months, they tested an 100 trillion DES keys — or about 0.1% of the problem space. One year later, the EFF built Deep Crack, which could crack a DES key in just a couple of days.
1. Starting his 6th year at Mozilla!
My first day working for Mozilla was August 7th, 2006. 5 full years ago, nearly to the day. Wow. Looking back, I am concurrently full of things to say and speechless. I'll just say it's been an amazing experience that never gets old — every day, when the office elevator doors slide open and I see "Mozilla" on the wall, I feel awed and humbled.
I can't wait for what the next 5 years will bring!
And that's tonight's Top 7 list!
Good night, ladies and gentlemen!


text:
Q: Set up laptop as access point I want to use my laptop as an access point to extend coverage in my house. The laptop is connected via ethernet to the router that also provides the rest of the house with wifi. I can start a hotspot quite easily using Network Manager:
nmcli device wifi hotspot ssid my-ssid password 12345678

However, the problem is that devices connected to it get ip address from the DHCP server running on the laptop. Ideally I want to use the same ssid as the one used by my router and have the laptop simply as a bridge, so for example clients would get their ip address from the DHCP running on the router. How can that be accomplished?


text:
Mobile Bay Store
Mobile Bay
About Contact Careers Advertise Subscribe Where to Buy
Magazine • E-newsletter
Ask McGehee: What's the story behind Downtown's long-forgotten St. Andrew Hotel?
Tom McGehee
Architectural rendition of the St. Andrew, 1905. Photo courtesy Tom McGehee
In the 1880s, Austrian-born Andrew Dacovich operated a restaurant and "coffee saloon" on North Royal Street just south of the Battle House Hotel. Coffee saloons offered coffee as well as tea and hot chocolate, but there was no food beyond a cold sandwich. Dacovich's adjoining restaurant took care of that.
By 1895, he had added furnished rooms to the mix, and in 1900, he had established the Commercial Hotel, Restaurant and Cafe at 14 N. Royal Street, right next door to the Battle House. According to city directories, the second floor held the hotel's billiard hall.
A spectacular fire on a cold February night in 1905 took the original Battle House Hotel, but few recall that the Commercial was also a victim. Dacovich wasted no time planning its replacement, and in June of that year, it was announced that architect Rudolph Benz was preparing plans for a 150-room hotel, making it the largest in the city. The name St. Andrew apparently honors the owner, not the patron Saint of Scotland.
Mobile's Largest Hotel
Before construction was complete in 1907, an addition to the structure was announced, which brought the room count to just over 200. The hotel was advertised as being "strictly on the European Plan," indicating that food was never included in the price of those rooms.
- Sponsors -
Management was provided by Dacovich and his two sons, George and Joseph. Advertisements proclaimed that the establishment was "Elegantly furnished (with) Modern Equipment; Mahogany, Walnut, Quartered Oak and Birdseye (maple) Furniture."
A fanciful postcard depiction of the St. Andrew, then located on North Royal Street, just south of the Battle House Hotel.
The building's design called for "ladies' parlors, cozy corners, large sample rooms on every floor, carpeted rooms, each equipped with a telephone." No mention was made in the ad campaign regarding private baths for those hotel rooms. The "sample rooms" were there to attract traveling salesmen or "drummers" as they were known at the time. Food service was provided in a cafe within the hotel and a separate bar was operated for male patrons.
By 1920, Dacovich was running the St. Andrew alone. An account in the September 1 issue of the Register recalled the former hotel on the site noting, "there are men and families who stopped at the Commercial, came back when the St. Andrew opened, and have continued to do so on their visits to Mobile ever since."
The Dacovich family was out of the hotel business by 1927, evidenced by directories listing different proprietors, and in 1930, it had been renamed the New St. Andrew. Its last listing was in the 1946 city directory, showing it had been renamed once more as Gilbert's St. Andrew Hotel.
From Commercial Hotel to Commercial Space
Like other hotels in Mobile, the St. Andrew flourished during severe housing shortages during World War II. At war's end, the Battle House Hotel underwent major upgrades, which the owners of the St. Andrew either could not or would not undertake.
Times had changed and the days of "drummers" were over. By 1947, the hotel had been demolished and replaced by an uninspiring one-story commercial building, housing a clothing store. Sadly, the St. Andrew, like its short-lived predecessor the Commercial, has been long forgotten.
Get the best of Mobile delivered to your inbox
Be the first to know about local events, home tours, restaurant reviews and more!
Ask McGehee
Downtown Mobile
St. Andrew Hotel
Gardening 101: Radishes
3 Local Dishes To Try this Month
Spotlight: Jules Starr, The CORE Project
Meet Captain Carl Black
4 Recipes for Winter Greens
Mobile Bay Magazine is the premier lifestyle magazine for Mobile and Baldwin counties since 1971. Each month, Mobile Bay covers topics such as food, homes, art, local history and events. Read More
Contact us: mobilebaymagazine@pmtpublishing.com
© 2022 PMT Publishing


text:
Devorah Kengmana
Lighting and Projections Designer
Devorah Kengmana is a New York based lighting and projections designer.
Originally hailing from Manhattan, she moved out to Boston in 2008 to pursue a Bachelor's degree at MIT. While studying there, she was first introduced to lighting design when the lighting designer on a production she was assistant stage managing needed an extra hand at the lighting console. From that point on, she took every opportunity available to light a production. During her time in college, she was mentored by Boston-based designer Karen Perlow. In 2011, she was brought in to The Wooster Group as a summer intern, where she was able to further hone her skills.
After graduating from MIT in 2012, Devorah moved out west to Kansas City to study lighting design at UMKC under Victor En Yu Tan. While living in Kansas City, Devorah had the opportunity to work with many of the local companies including: Kansas City Repertory Theatre, Unicorn Theatre, Kansas City Actors' Theatre, and The Spinning Tree Theatre. She also worked closely with many choreographers from the UMKC Conservatory of Music and Dance, eventually becoming the Company Lighting Designer for the Wylliams Henry Contemporary Dance Company for their 2014-2015 season. She also worked on the world premiere of Freedom Rider with director Ricardo Khan in Kansas City. She recieved her Masters degree in 2015 in Lighting and Projection Design from UMKC.
In 2015, she spent a season working with Gary Marder at the San Francisco Opera. She later assisted at the Oregon Shakespeare Festival as the FAIR Lighting Fellow for the 2016-2017 Season.
In addition to her Kansas City credits, Devorah has accumulated credits with various companies around the country including Crossroads Theatre, Voyage Theater Company, Merrimack Repertory Theatre, Central Square Theater, University of Okalahoma, The Florida Studio Theatre, CenterStage, Tom Gold Dance, and the Donna Micelli Dance Center.
She has worked with and assisted a number of designers including Jake DeGroot, Jane Cox, Chris Akerlind, Yi Zhao, Japhy Weideman, Gary Marder, Rocco DiSanti, Jeffrey Cady, and Victor En Yu Tan.
In 2015, she was named one of the finalist for the Hemsley Internship by the Gilbert Hemsley Foundation at Lincoln Center.
When not designing, Devorah spends her time painting and working on her art skills with various drawings.
Dev.Kengmana@gmail.com | (917) 561 - 6609


Alexithymia's relation to low awareness of emotion is well-documented: Low self-awareness and the externally oriented thinking style of alexithymia may reflect avoidance of unwanted experiences, a maladaptive emotion regulation strategy. The role that this plays in the association between alexithymia and emotional disorders, including social anxiety, needs to be further explicated. This investigation, examined a) the association between alexithymia and two indices of low awareness of internal experiences, namely low private self-consciousness and experiential avoidance, and between alexithymia and avoidant emotion regulation, specifically suppression b) the hypothesis that low self-awareness (experiential avoidance, low private self-consciousness and suppression) mediates the association between alexithymia and social anxiety, in two student samples. Results indicated, as predicted, that alexithymia is associated with low private self-consciousness, high experiential avoidance and greater use of suppression. The association between alexithymia and social anxiety was mediated through experiential avoidance and partially through low private self-consciousness and suppression. Results suggest that low self-awareness in alexithymia may be related to increased avoidance of internal experiences, which may play a protective role in the short term, but in the long run may contribute to the link between alexithymia and mental health problems.


text:
package org.apache.geode.security;

import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
import static org.apache.geode.distributed.ConfigurationProperties.SECURITY_MANAGER;
import static org.apache.geode.distributed.ConfigurationProperties.SECURITY_POST_PROCESSOR;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;

import java.util.Properties;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.examples.SimpleSecurityManager;
import org.apache.geode.test.dunit.IgnoredException;
import org.apache.geode.test.dunit.rules.ClusterStartupRule;
import org.apache.geode.test.dunit.rules.MemberVM;
import org.apache.geode.test.junit.categories.SecurityTest;
import org.apache.geode.test.junit.rules.ServerStarterRule;

@Category({SecurityTest.class})

public class SecurityWithoutClusterConfigDUnitTest {

  @Rule
  public ClusterStartupRule lsRule = new ClusterStartupRule();

  @Rule
  public ServerStarterRule serverStarter = new ServerStarterRule();

  private MemberVM locator;

  @Before
  public void before() throws Exception {
    IgnoredException
        .addIgnoredException(
            "A server cannot specify its own security-manager or security-post-processor when using cluster configuration"
                .toString());
    IgnoredException
        .addIgnoredException(
            "A server must use cluster configuration when joining a secured cluster.".toString());
    Properties props = new Properties();
    props.setProperty(SECURITY_MANAGER, SimpleSecurityManager.class.getName());
    props.setProperty(SECURITY_POST_PROCESSOR, PDXPostProcessor.class.getName());
    props.setProperty(ENABLE_CLUSTER_CONFIGURATION, "false");
    locator = lsRule.startLocatorVM(0, props);
  }

  @Test
  // if a secured locator is started without cluster config service, the server is free to use any
  // security manager
  // or no security manager at all. Currently this is valid, but not recommended.
  public void testStartServerWithClusterConfig() throws Exception {

    Properties props = new Properties();
    // the following are needed for peer-to-peer authentication
    props.setProperty("security-username", "cluster");
    props.setProperty("security-password", "cluster");
    props.setProperty("security-manager", TestSecurityManager.class.getName());
    props.setProperty("use-cluster-configuration", "true");

    // initial security properties should only contain initial set of values
    serverStarter.withProperties(props).withConnectionToLocator(locator.getPort()).startServer();
    DistributedSystem ds = serverStarter.getCache().getDistributedSystem();
    assertEquals(3, ds.getSecurityProperties().size());

    // after cache is created, we got the security props passed in by cluster config
    Properties secProps = ds.getSecurityProperties();
    assertEquals(3, secProps.size());
    assertEquals(TestSecurityManager.class.getName(), secProps.getProperty("security-manager"));
    assertFalse(secProps.containsKey("security-post-processor"));
  }
}

redpajama_set_name: RedPajamaGithub


Casa Alamillo Boutique Hotel and Spa is nestled in the hills of beautiful Malinalco, Mexico. As soon as you enter this magical town you will be captivated by its diversity in plants, cobbled streets, neighborhood chapels, rocky mountains, ancient pryamid and colorful markets. Our quaint property is surrounded by towering rocks and lush gardens with four privately located suites, each with beautiful views, allowing the desired peace and relaxation. The lush grounds provides a small cafe, pool, Ayurvedic day spa, meditation gardens, library, and mountain top organic veggie garden. Perfect for a weekend get away, spa retreats, hosting a family gathering or business meetings.


text:
Guinness World Records Recognise Record-Breaking Milestone Set At Survivor Series
By Lyle Kilbane. Published 30th November 2021.
Guinness World Records have acknowledged the achievements of Randy Orton and Natalya at Survivor Series as the third-generation stars broke new ground in WWE.
At Survivor Series Randy Orton made his 177th WWE pay-per-view appearance when he teamed with Riddle to take on SmackDown Tag Team Champions The Usos. In the battle for brand supremacy, Rated RK-Bro picked up the victory for Raw.
According to The Internet Wrestling Database, that match meant that Orton has now competed in more WWF/WWE pay-per-view events than anyone else in history. The Viper was previously tied with Kane on 176 appearances.
The top five is completed by The Undertaker (174) Triple H (173) and John Cena on 163. Surprisingly WWE icon The Rock has only competed on 79 pay-per-view events while Stone Cold Steve Austin is over 100 events behind Orton on 70.
Guinness World Records also recognised Natalya's feat of reaching 68 pay-per-view match appearances in WWE, the most of any woman in history. The daughter of WWE Hall Of Famer Jim 'The Anvil' Neidhart first appeared on WWE pay-per-view way back in April 2008 at Backlash.
Update On Rumoured Brock Lesnar Vs Roman Reigns Match At WrestleMania
Since then Natalya has captured the WWE Divas Title as well as the SmackDown Women's Championship and recently held the WWE Women's Tag Team Championship with Tamina. At Survivor Series Natalya was part of Team SmackDown who fell to defeat at the hands of the five women representing Raw.
The rest of the women's top five for pay-per-view appearances is currently rounded out with The Four Horsewomen of WWE. Charlotte Flair is second with 59, Sasha Banks is third with 47, following The Boss is Becky Lynch with 46, and then Bayley with 43.


I have enough expired memberships under my belt to finally admit that I am not a gym person. Although you may not find me sweating on an elliptical, I haven't completely abandoned the idea of a workout regimen. I've just redefined the whole concept!
My StairMaster is countless flights of stairs scattered throughout my daily subway commute; my weights come in the form of two wriggling girls (often carried up the aforementioned stairs); and my hot yoga is just about anything I do in New York's sweltering summer heat. My gym is the city itself, and my gym clothes are these City Gym Shorts!
Designed with a classic tulip hem and an easy elastic waist, these shorts have all the comfort and ease of traditional exercise gear but with way more style! I used Robert Kaufman's Chambray Union in Slub Indigo for the back, a fabric that is soft, comfortable and so versatile it was easy to match it with a range of prints in Liberty of London's exquisite Tana Lawn.
1/2 yard of Liberty of London's Tana Lawn Classics. We used, shown above from top to bottom, Katie & Millie Peach, Strawberry Theif Gray and Lodden Lavender.
A free Kids' City Gym Shorts Template available here.
A free Women's City Gym Shorts Template available here.
Pre-wash all fabrics before starting.
To print the PDF template, be sure to first download the pattern and then print it. This means rather than simply clicking the link and opening the PDF in a browser window, you should click on the pattern link using the "right click" or "control click" option on your mouse or keyboard. This will give you the option to "Download the linked file." Once the file is downloaded, it should print like a charm!
For the sake of clarity our instructional photos use Robert Kaufman's Botanics + Architextures in Tangerine Hatches, a fabric with a clear right and wrong side, for the front panels (instead of the Tana Lawn). When you are working with a fabric without a clear right or wrong side, choose either side as the right side for the first seam and follow this precedent for all subsequent steps.
Use the prepared Template to cut two Front pieces from the Liberty. Cut one Front with the right side of the fabric facing up and one with the wrong side facing up. The two Front pieces should be mirror images of each other.
Cut one 4 ¾-inch wide piece for the Waistband from the Chambray Union. For Kids it should measure 23 (24 ¼, 26 ¾, 28 ¾, 30 ¾, 32 ½, 33 ½) inches long; or for Women, 36 ¼ (38 ½, 41 ¾, 45 ½, 48) inches long.
Cut two 1 5/8-inch strips on the bias from the Chambray Union. For Kids each strip should measure at least 30 (33, 36, 39, 42, 45, 48) inches long; or for Women, at least 48 (50, 53, 56, 60) inches long.
You may need to piece the strips to get the appropriate length. For detailed instructions on how to piece binding strips, please visit our Making Bias Tape Binding Tutorial.
Cut the Elastic. For Kids it should measure 19 ½ (20 ½, 21 ½, 22 ½, 23 ½, 24 ½, 25 ½) inches; or for Women, 30 (32, 35, 39, 43) inches.
With right sides facing, stack the two Front pieces on top of each other. Pin along the concave edge of the inseam.
Sew along the pinned edge with a 1/4-inch seam allowance.
Sew along the seam allowance with a zigzag stitch.
Press the seam to one side.
Repeat with the two Back pieces.
With right sides facing, match up the short crotch ends of the Front and Back along the raw edge, making sure that the center seams line up, and pin in place. Sew along the pinned edge with a 1/4-inch seam allowance.
Following the manufacturer's instructions, use the 18mm Bias Tape Maker to press the bias strips into single fold bias tape.
Fold in half lengthwise, aligning the folded edges and encasing the raw edges. Press.
Pin the bias tape around the outside edge of the shorts, following the raw edge all the way from the top corner of the Front side, around the bottom hemline, and up the Back side, or vice versa. Use one strip for each side. With the right side facing up, sew the tape to the shorts with an edgestitch, making sure to catch both sides as you stitch.
With the right sides of the Front and Back both facing up, bring one Front side edge over one Back side edge so that the two bound edges are stacked on top of each other. Push the outer edge of the front about 1/8 inch towards the Back so that the sewn line of the Front bias tape runs roughly through the center of the bias tape on the back.
Working from the waistline down and using the line of stitching on the Front bias tape as a guide, sew the Front to the Back along this side edge. stop sewing when you reach the top of the curve of the bottom hem. Backstitch at the end of the seam.
These are now the Shorts.
Fold the Waistband piece in half lengthwise with wrong sides together and press to create a crease. Open up the fold. Now, fold the two long raw edges in towards the wrong side to meet at the center crease. Press the folds. Refold in half lengthwise, aligning the folded edges and encasing the raw edges. Press again.
Open up the folds at the two short ends. With right sides together, stack the ends together, matching up their raw edges. Pin in place. Sew along the short edge with a 5/8-inch seam allowance.
Press the seam to one side and sew it down with an edgestitch.
Turn the Shorts inside out.
Open one side of the waistband. With the right side of the Waistband facing the wrong side of the Shorts and matching up the seam of the Waistband with the center seam of the Shorts Back, pin the open raw edge of the Waistband to the raw waist edge of the shorts.
Sew the Waistband to the Shorts with a roughly 1 1/8-inch seam allowance, using the crease as a guide.
Now, turn the Shorts so that the right side is facing out. Fold the Waistband over the Shorts' raw waist edge and pin in place.
Edgestitch along the bottom of the fold of the Waistband, leaving a 1 1/2-inch gap.
Attach a safety pin to one end of the Elastic. Insert this end into the gap. Pull the pin through the Waistband, exiting out the other side. Make sure not to pull the Elastic's other end into the channel.
Checking that the Elastic isn't twisted, overlap the two ends by 1/2 inch. Sew the ends together widthwise with a zigzag stitch.
Tuck the Elastic into the Waistband and close the gap with an edgestitch.
Your shorts are ready to wear!
The Very Best of Summer!
I'm just excited for sewing your pattern… just couple of doubts!
Are seam allowances included or I should add them?
After soooooo many people having sewn them, do you think they tend to fit as the size says, or it is better to go upsize or downsize? Of course it depends on each one preferences but for a "proper" fitting as it shows in your pictures?
Thanks for writing in! Seam allowances are included in the pattern so there is no need to add them. There have been many people to make these lovely shorts with varying results as far a fit; from they fit perfectly as is, to a larger size needed to be made based on their measurements. I would suggest making a muslin with some scrap fabric to see how they fit you. You can always go up or down a size if the fit is not perfect for you!
Just finished my first pair! The fit was perfect, thanks so much for this super pattern.
Hi! I can't wait to try this, but I can't see the pattern link, am I blind? thank you!
If you are doing the women's or the kids pattern the link to the pattern is the 6th bullit point down.
Thanks for writing in! The pattern templates are linked above in the Materials section. I will also link them here for your convenience.
These are so cute!! I love the fabric you picked for your example photos.
I've made several of these for my daughter who uses them for pajama bottoms. She has now outgrown the last set so I am making her bigger ones. Great pattern and fit.
Cute pattern! Can you tell me why the largest size (girls 11) is sized to a different grade rule than the other sizes? Thanks so much!
Thanks for writing in! You're right, the grading is a little bit off! Hundreds and hundreds of people have sewn this pattern, but you're the first person to point this out to us. We've been scratching our heads wondering how this is possible, but when we cut and assembled the pattern ourselves, we realized that the largest size is only off by 1/4 of an inch and only on the front panels. Within the margin of error, so to speak, this slight irregularity hasn't adversely effected the outcome of the project as far as we're aware, but we will definitely work to correct this mistake! Thank you so much for pointing it out and please let us know how your City Shorts turn out!
Really love this pattern, just complete the short pant. Will make it more. Luv from Malaysia.. thanks..
Fab pattern & my new favourite sewing projects. The age 4-5 fit my (big) nearly 4 year old perfectly & he loves them.
I can't seem to find the pattern to download. There is no link to pdf in the text. Is it no longer available?
Thanks for reaching out! Are you looking for the pattern templates? If so, they are both linked in the materials section as the last item for each size. I will include the direct links here for your convenience!
Hello, thank you for the lovely pattern. May I ask what height the women's pattern is drafted for?
Thanks for writing in! These lovely shorts were not drafted with a particular height in mind but rather with the hopes of fitting a wide range of heights and body types. I have seen these sorts on women from 5'1″ up to 5'11" myself and they look great on just about everyone!
Thank you for this lovely pattern, I have been having a lot of fun playing around with it, adding pockets and the like.
Thanks for writing in and for the kind words! The finished shorts will include about one inch of ease over the larger hip size listed – for instance, for the 33-34 size, the finished measurement will be 35 inches. You can determine the exact finished measurement for each size by checking the length of the Waistband piece and subtracting a 5/8″ seam allowance.
Help, please! I've sewn up my shorts and am trying to add the waistband, but it's much bigger than the shorts and ended up with ugly bunching. I've checked my pattern several times; what could I have done wrong? I have plenty of seam ripping in my near future.
Oh no, I'm sorry to hear the waistband isn't fitting correctly! The waistband should be the same size as the top of the shorts. Is it possible that your template did not print at the correct scale? Some printers or computers print at less than 100% scale by default, so I would measure the 1″ square on page one of the printed template to make sure it printed to the correct size. The other likely culprit would be the seam allowances – the shorts are sewn with 1/4″ seam allowances which is quite a bit smaller than most patterns, so if you are used to using a 1/2″ or 5/8″ seam allowance that would also have made the shorts turn out too small.
I hope one of those turns out to be the issue so you can finish your project! If you have any other questions please let us know!
Thanks for writing in! If you scroll up to the Materials list, you will see that the last bullet point under the sections titled Women and Kids includes a link to the template for each size set!
Best of luck and happy sewing!
Can these be made with a jersey (low stretch) using some ribbing instead of the bias binding?
Great question! We have not tried using a knit with this pattern. It may well work but not having tried it, we cannot say for certain. You can certainly give it a go and if you do, do let us know!
Hi Cassy, thnx so much for this free pattern! I lov'it!And so does my granddaughter for whom I'm sewing this. But I'm a bit puzzled with the length of the waistband : 30 3/4 inch? Now I am Dutch so maybe I'm converting inches wrongly to centimeters but I seems to me a very long waistband. Her waist measures only 56 cm and that's 22 inches (according to my calculation 😊). What am I doing/reading wrong?
Thanks for reaching out! I am happy to help! The ages for the sizes here are based on standard sizing, however, if you have your granddaughter's actual measurements, this is a much better way to get a good fit! To fit a waist of 22 inches, you will want to pick the 4th size (ages 6-7) and cut a waistband that is 28 3/4 inches. When you sew the two ends together, the band will be shortened by 1 1/4 inches to 27 1/2 inches. The additional inches will be scrunched up with the elastic for the waist band to give a comfortable fit. Remember also that the elastic that you cut will be a lot closer to the actual waist measurement, allowing for a good fit without the shorts falling down!
Where is the link to download the pattern for the shorts. I can't find it buried anywhere on this page! How annoying!
I'm so sorry to hear you are having trouble finding the template! You can access by clicking right here, or for future reference, it is linked in the materials list for the pattern.
Hi ! Thanks for tutorial, it looks very good !! Sorry, but I have a question (I'm french and I never sew clothes that my first time ahah but, yes I did other things…) Ok, so I'm looking for the XS size, but I'm lost because it's in us size… Could you help me? is it 34? or a kids size who correspond ton XS? thanks!
Thanks for reaching out! There are two sets of sizes, Kids and Womens, both of which include either finished measurements in inches or what hip size in inches they should fit. Since an XS can mean different things across different brands, I would go by the given inch measurements and convert them to centimeters using an online calculator. You can then decide which size will be best for you!
Thank you for reaching out! Are you having trouble downloading the PDF of the pattern or the template? For the Pattern PDF on a desktop version of the site, you will find a "print" icon in the right column just below the date and tags. If you're on a mobile version of the site, you will find a "print" icon below the pattern and above the comments.
To print out the template, we have found that the secret is to first download the pattern and then print it. Rather than simply clicking the link and opening the PDF in a browser window, you should click on the pattern link using the "right click" or "control click" option on your mouse or keyboard. This will give you the option to "Download the linked file." Once the file is downloaded, it should print like a charm!
I hope this helps and let us know if you continue to have issues!
Thanks for reaching out! Since the shorts pattern is too large to fit on a single piece of paper, it does print out on six pieces of paper, which you will have to piece together following the indications at the edge of each piece of the pattern. After assembling the pattern, you will have two pattern pieces, one for the front and one for the back of the shorts.
Thanks for the pattern! Do you think it'd work using lawn and tencel?
Thanks for writing in! Any light to medium weight woven fabric will work for these shorts – since tencel fiber is used in a variety of fabrics, you will just want to make sure it is a woven fabric and not a knit.


Recently, I was curious about who sends me the most emails and who I send the most emails to. In this post, I'm going to walk through how to find answers to these types of questions.
I know there have been companies that have offered similar analyses, but I've always been hesitant to give someone I don't know authorization to read all of my email. By working through Apple Mail instead of through Gmail or Exchange directly, you can be 100% sure that I will never have access to your private emails.
I copied the database file to a folder on my desktop and queried it from the command line.
If you're less comfortable using the command line, you may want to try using this open source Database Browser for SQLite.
Who sends me the most emails?
Who do I send the most emails to?
Who receives the most emails that I also receive?
In other words, if I receive an email (either via to or cc), which people are most likely to also be in the to or cc fields.
Who sends me the most attachments?
How many emails do I get by day of the week?
I receive the most emails on Tuesdays and Wednesdays. I expected to see more on Mondays.
Which days do I send the most emails?
For my email I was surprised that I send fewer emails on Thursday than Saturday. On the other hand, I was less surprised that I send the most emails on Monday and Friday.
How many emails do I get by time of day?
How many email addresses have come through my inbox? Either in to or cc fields.
Unclear. This was a curiosity that was pretty easy to itch.
I want to give credit to two authors who inspired this blog post - Sam Pullara and J. S. Floyd.


Please note not all dishes are available year round as we rotate through the seasons. All dishes with "*" denotes gluten free or can be made gluten free.
We're now open lunchtimes Thursdays, Friday and Saturdays for lite bites and refreshments along side our full main menu for anyone looking to relax and recharge their batteries. We have an extensive menu of drinks and snacks on offer and being located in the centre of Barnstaple means that we offer the perfect place to enjoy great local seafood.
LUNCH SERVICE from 12:00am – 3:00pm Thursday, Friday and Saturday EVENING SERVICE Thursday, Friday and Saturday 6:00pm – 9:00pm.
Fatbelly Fred's Menu provides a host of options if you're gluten intolerant with gluten free starters and bread available on request. We also have a large variety of meals which can be tailored to suit your needs, so you can get on and enjoy your evening without worry (Please consult a member of staff for reassurance).


25Apr2019 10:28:08 no session[uid]. no cookies.
//dg2d3wxprq381.cloudfront.net/assets/video/intro The Global Wild CatConservation Organization Continue to Panthera.org https://dg2d3wxprq381.cloudfront.net/cms/sites/default/files/headers/willbl-14.jpg?itok=BcfS9fms Leopard Known for its incredible adaptability, the leopard has the largest range of all the big cats.


Experience luxury in the plush setting of Hotel Eulogia, located off. C.G. Road, Navrangpura, which is 10kms from the Sardar Vallabhbhai Patel International Airport and 11kms from the Ahmedabad Railway Station. Famous with the honeymooners, this 4Star hotel is designed with well-appointed guestrooms - Corporate Deluxe, Family, Premier, and Presidential Suite rooms, which are double, or twin bedded and equipped with urban amenities such as free Wi-Fi, minibar, in room safe, hairdryer and complimentary 2 bottles of mineral water. Opulent in its designs, the onsite restaurants offer fine dining experience and serves sumptuous fare to its diners. There are spacious banquet venues to hold mega events and get togethers. Guests on business can organize meetings and conferences in any of three business venues, which are spacious and well-appointed with facilities of projectors, clipboards, dicta-phones and best-in-class sound systems. Other facilities include free Wi-Fi, airport shuttle, free parking, fitness centre, concierge service, room service, luggage storage, tour desk, 24-hours front desk and daily maid service. The famous Gandhi Ashram is 7kms from Hotel Eulogia, while Kankaria Lake is 13.2kms away.


CALLS for a public inquiry into the physical and sexual abuse of inmates at a notorious North-East borstal are growing.
North-West Durham MP Laura Pidcock has said there should be a fresh investigation into what happened to boys held at Medomsley Detention Centre during the 1960s, 70s and 80s.
Currently, about 1,800 complaints of abuse have been made by some of the thousands who stayed there between 1961 and 1988.
Last week, three former prison guards for their part in the brutality at the institution near Consett, with two more to be sentenced later this month.
Ms Pidcock said: "Over a long period, I've listened and spoken to the victims of Medomsley Detention Centre, who have come to me to tell their stories, in the hope of getting some justice.
"As well as the extreme violence that was normalised at detention centres across the country in the 1970s and 80s, there was a well organised pattern of sexual abuse at this particular detention centre.
"Some of that abuse happened outside the centre, when young men were taken out of Medomsley Detention Centre.
Judge Howard Crowson, who presided over three trials said there was "a culture of silence among prison officers" and a determined effort to "crush the will" of young offenders.
Ms Pidcock suspects, along with support groups, that the number of victims, only scratches the surface of the true scale of the abuse.
She said as people were brought to the centre from all over the country, often for minor offences, it is likely that most MPs will have Medomsley victims among their constituents.
Ms Pidcock said she has met with victims of the abuse who have told her about the horrific ordeals they have suffered and how they felt ignored and abandoned by the system.
She said: "Complaints of physical and sexual abuse at Medomsley Detention Centre number 1,800, making it the largest single occurrence of abuse in this country.
Ms Pidcock has not spoken publicly about the issue previously due to ongoing legal proceedings but has written letters to successive Home Secretaries since 2017, including Sajid Javid.
She said: "Above all, the question will be asked why the physical and sexual abuse was allowed to go on for years after victims had reported the abuse.
"The lessons of this tragic story and the failure to protect these young people must be learned.


text:
import os
import numpy as np
import pandas as pd
from skimage import io, transform

from PIL import Image
import torch
from torch.utils.data import Dataset, DataLoader
import torchvision

from copy import deepcopy

# processing

class Rescale(object):
    """Rescale the image in a sample to a given size.

    Args:
        output_size (tuple or tuple): Desired output size. If tuple, output is
            matched to output_size. If int, smaller of image edges is matched
            to output_size keeping aspect ratio the same.
    """

    def __init__(self, output_size):
        assert isinstance(output_size, (int, tuple))
        self.output_size = output_size

    def __call__(self, sample):
        img = sample['img']
        h, w = img.shape[:2]
        if isinstance(self.output_size, int):
            if h > w:
                new_h, new_w = self.output_size * h / w, self.output_size
            else:
                new_h, new_w = self.output_size, self.output_size * w / h
        else:
            new_h, new_w = self.output_size
        new_h, new_w = int(new_h), int(new_w)

        # image
        img_dtype = img.dtype
        sample['img'] = transform.resize(
            img, (new_h, new_w), mode='constant').astype(img_dtype)

        return sample

class RandomTranslation(object):
    """Translate the image and its attributes in a sample. Padding is 0.

    Args:
        max_offset: nb of pixel for translation.
    """

    def __init__(self, max_offset):
        self.max_offset = max_offset

    def translate(self, img, tx, ty):
        h, w = img.shape[:2]
        # in timg
        timg_x1 = np.maximum(tx, 0)
        timg_x2 = np.minimum(w + tx, w) - 1
        timg_y1 = np.maximum(ty, 0)
        timg_y2 = np.minimum(h + ty, h) - 1
        # in img
        img_x1 = np.maximum(-tx, 0)
        img_x2 = np.minimum(w - tx, w) - 1
        img_y1 = np.maximum(-ty, 0)
        img_y2 = np.minimum(h - ty, h) - 1
        # translation
        timg = np.zeros(img.shape).astype(img.dtype)
        timg[timg_y1:timg_y2, timg_x1:timg_x2, :] = img[img_y1:img_y2,
                                                        img_x1:img_x2, :]
        return timg

    def __call__(self, sample):
        img = sample['img']

        tx = np.random.randint(-self.max_offset, self.max_offset)
        ty = np.random.randint(-self.max_offset, self.max_offset)

        h, w = img.shape[:2]

        # image
        sample['img'] = self.translate(img, tx, ty)

        return sample

class SquareCrop(object):
    """Crop the image in a sample. Can be random.

    Args:
        output_size (tuple or int): Desired output size. If int, square crop
            is made.
    """

    def __init__(self, output_size, random):
        assert isinstance(output_size, (int, tuple))
        if isinstance(output_size, int):
            self.output_size = (output_size, output_size)
        else:
            assert len(output_size) == 2
            self.output_size = output_size
        self.random = random

    def __call__(self, sample):
        img = sample['img']

        h, w = img.shape[:2]
        new_h, new_w = self.output_size
        if self.random:
            top = np.random.randint(0, h - new_h)
            left = np.random.randint(0, w - new_w)
        else:
            top = (h - new_h) // 2
            left = (w - new_w) // 2

        # image
        sample['img'] = img[top: top + new_h, left: left + new_w]

        return sample

class RandomHFlip(object):
    """ Randomly flip the image and its attributes horizontaly.
    """

    def __init__(self, flip_prob):
        self.flip_prob = flip_prob

    def __call__(self, sample):
        img = sample['img']
        h, w = img.shape[:2]

        if np.random.rand() < self.flip_prob:
            # image
            sample['img'] = img[:, ::-1, :]

        return sample

class ColorJitter(object):
    """ Change contrast, saturation and brightness
    """

    def __init__(self, contrast_var, saturation_var, brightness_var):
        self.contrast_var = contrast_var
        self.saturation_var = saturation_var
        self.brightness_var = brightness_var

    def blend(self, img1, img2, alpha):
        return img1 * alpha + img2 * (1 - alpha)

    def grayscale(self, img):
        gray = img[:, :, 0:1] * 0.299 + img[:, :, 1:2] * \
            0.587 + img[:, :, 2:3] * 0.114
        gray = np.concatenate([gray, gray, gray], 2)
        return gray

    def saturation(self, img):
        gray = self.grayscale(img)
        alpha = 1 + \
            np.random.uniform(-self.saturation_var, self.saturation_var)
        sat = self.blend(img, gray, alpha)
        return sat

    def brightness(self, img):
        alpha = 1 + \
            np.random.uniform(-self.brightness_var, self.brightness_var)
        bright = self.blend(img, np.zeros(img.shape), alpha)
        return bright

    def contrast(self, img):
        gray = self.grayscale(img)
        gray.fill(gray.mean())
        alpha = 1 + np.random.uniform(-self.contrast_var, self.contrast_var)
        cont = self.blend(img, gray, alpha)
        return cont

    def __call__(self, sample):
        img = sample['img']

        trs = [self.saturation, self.brightness, self.contrast]
        np.random.shuffle(trs)
        for tr in trs:
            img = tr(img)
        img = img.astype(np.float32)
        sample['img'] = img

        return sample

class Normalize(object):
    """ Normalize image with mean and standard deviation (per channel).
    """

    def __init__(self, mean, std):
        self.mean = np.array(mean, dtype=np.float32).reshape(1, 1, 3)
        self.std = np.array(std, dtype=np.float32).reshape(1, 1, 3)

    def __call__(self, sample):
        sample['img'] = (sample['img'] - self.mean) / self.std
        return sample

class TransposeImage(object):
    """Convert numpy image to torch image."""

    def __call__(self, sample):

        # swap color axis because
        # numpy image: H x W x C
        # torch image: C X H X W
        sample['img'] = sample['img'].transpose((2, 0, 1))
        return sample

class ToTensor(object):
    """Convert numpy arrays to torch tensors."""

    def __call__(self, sample):
        for key in sample.keys():
            sample[key] = torch.from_numpy(sample[key])

        return sample

class DeepCopy(object):
    """Deep copy all numpy arrays."""

    def __call__(self, sample):
        return deepcopy(sample)

class SampleAsInputTargetMeta(object):
    """ Convert the sample dictionary into a pair (input, target, meta)
    """

    def __call__(self, sample):
        input = sample.pop('img', None)
        target = sample.pop('label', None)
        return (input, target, sample)

# datasets

# cifar10
def load_cifar10_dataset(
        dataset_dir,
        batch_size,
        shuffle,
        num_workers,
        drop_last,
        augment):

    def load_raw_dataset(dataset_dir):
        try:
            container_train = torchvision.datasets.CIFAR10(dataset_dir)
        except:
            container_train = torchvision.datasets.CIFAR10(dataset_dir, download=True)
        X_train = container_train.train_data
        y_train = container_train.train_labels

        try:
            container_test = torchvision.datasets.CIFAR10(dataset_dir, train=False)
        except:
            container_test = torchvision.datasets.CIFAR10(dataset_dir, train=False, download=True)
        X_test = container_test.test_data
        y_test = container_test.test_labels

        return X_train, y_train, X_test, y_test

    class Cifar10Dataset(Dataset):
        def __init__(self, X, y, processing):
            self.X = X
            self.y = y
            self.processing = processing

        def __len__(self):
            return self.X.shape[0]

        def __getitem__(self, idx):
            # image
            img = self.X[idx].astype(np.float32) / 255

            # label
            label = np.array(self.y[idx:idx+1])

            # idx
            index = np.array([idx])

            sample = {
                'index': index,
                'img': img,
                'label': label
            }

            if self.processing is not None:
                sample = self.processing(sample)

            return sample

    def create_dataset_and_dataloader(X, y, processing, drop_last):
        def worker_init_fn(worker_id):
            np.random.seed(np.random.get_state()[1][0] + worker_id)

        dataset = Cifar10Dataset(X, y, processing)
        dataloader = DataLoader(dataset,
                                batch_size=batch_size,
                                shuffle=shuffle,
                                num_workers=num_workers,
                                drop_last=drop_last,
                                worker_init_fn=worker_init_fn)

        return dataset, dataloader

    # raw
    X_train, y_train, X_test, y_test = load_raw_dataset(dataset_dir)

    # train
    transforms_train = [
        DeepCopy(),
        Normalize(
            mean=[0.4914,  0.4822,  0.4465],
            std=[0.2470,  0.2435,  0.2616])]
    if augment:
        transforms_train = transforms_train + [
        RandomHFlip(0.5),
        RandomTranslation(4)]
    transforms_train = transforms_train + [
        TransposeImage(),
        ToTensor(),
        SampleAsInputTargetMeta()]
    processing_train = torchvision.transforms.Compose(transforms_train)
    dataset_train, dataloader_train = create_dataset_and_dataloader(
        X_train, y_train, processing_train, drop_last)

    # test
    processing_test = torchvision.transforms.Compose([
        DeepCopy(),
        Normalize(
            mean=[0.4914,  0.4822,  0.4465],
            std=[0.2470,  0.2435,  0.2616]),
        TransposeImage(),
        ToTensor(),
        SampleAsInputTargetMeta(),
    ])
    dataset_test, dataloader_test = create_dataset_and_dataloader(
        X_test, y_test, processing_test, False)

    return (dataset_train, dataset_test), (dataloader_train, dataloader_test)

# cifar100
def load_cifar100_dataset(
        dataset_dir,
        batch_size,
        shuffle,
        num_workers,
        drop_last,
        augment):

    def load_raw_dataset(dataset_dir):
        try:
            container_train = torchvision.datasets.CIFAR100(dataset_dir)
        except:
            container_train = torchvision.datasets.CIFAR100(dataset_dir, download=True)
        X_train = container_train.train_data
        y_train = container_train.train_labels

        try:
            container_test = torchvision.datasets.CIFAR100(dataset_dir, train=False)
        except:
            container_test = torchvision.datasets.CIFAR100(dataset_dir, train=False, download=True)
        X_test = container_test.test_data
        y_test = container_test.test_labels

        return X_train, y_train, X_test, y_test

    class Cifar100Dataset(Dataset):
        def __init__(self, X, y, processing):
            self.X = X
            self.y = y
            self.processing = processing

        def __len__(self):
            return self.X.shape[0]

        def __getitem__(self, idx):
            # image
            img = self.X[idx].astype(np.float32) / 255

            # label
            label = np.array(self.y[idx:idx+1])

            # idx
            index = np.array([idx])

            sample = {
                'index': index,
                'img': img,
                'label': label
            }

            if self.processing is not None:
                sample = self.processing(sample)

            return sample

    def create_dataset_and_dataloader(X, y, processing, drop_last):
        def worker_init_fn(worker_id):
            np.random.seed(np.random.get_state()[1][0] + worker_id)

        dataset = Cifar100Dataset(X, y, processing)
        dataloader = DataLoader(dataset,
                                batch_size=batch_size,
                                shuffle=shuffle,
                                num_workers=num_workers,
                                drop_last=drop_last,
                                worker_init_fn=worker_init_fn)

        return dataset, dataloader

    # raw
    X_train, y_train, X_test, y_test = load_raw_dataset(dataset_dir)

    # train
    transforms_train = [
        DeepCopy(),
        Normalize(
            mean=[0.5071,  0.4865,  0.4409],
            std=[0.2673,  0.2564,  0.2762])]
    if augment:
        transforms_train = transforms_train + [
        RandomHFlip(0.5),
        RandomTranslation(4)]
    transforms_train = transforms_train + [
        TransposeImage(),
        ToTensor(),
        SampleAsInputTargetMeta()]
    processing_train = torchvision.transforms.Compose(transforms_train)
    dataset_train, dataloader_train = create_dataset_and_dataloader(
        X_train, y_train, processing_train, drop_last)

    # test
    processing_test = torchvision.transforms.Compose([
        DeepCopy(),
        Normalize(
            mean=[0.5071,  0.4865,  0.4409],
            std=[0.2673,  0.2564,  0.2762]),
        TransposeImage(),
        ToTensor(),
        SampleAsInputTargetMeta(),
    ])
    dataset_test, dataloader_test = create_dataset_and_dataloader(
        X_test, y_test, processing_test, False)

    return (dataset_train, dataset_test), (dataloader_train, dataloader_test)

# svhn
def load_svhn_dataset(
        dataset_dir,
        batch_size,
        shuffle,
        num_workers,
        drop_last,
        augment):

    def load_raw_dataset(dataset_dir):
        try:
            container_train = torchvision.datasets.SVHN(dataset_dir)
        except:
            container_train = torchvision.datasets.SVHN(dataset_dir, download=True)
        X_train = container_train.data
        y_train = (container_train.labels - 1).ravel().tolist()

        try:
            container_extra = torchvision.datasets.SVHN(dataset_dir, split='extra')
        except:
            container_extra = torchvision.datasets.SVHN(dataset_dir, split='extra', download=True)
        X_extra = container_extra.data
        X_train = np.concatenate([X_train, X_extra], 0)
        y_extra = (container_extra.labels - 1).ravel().tolist()
        y_train = y_train + y_extra

        try:
            container_test = torchvision.datasets.SVHN(dataset_dir, split='test')
        except:
            container_test = torchvision.datasets.SVHN(dataset_dir, split='test', download=True)
        X_test = container_test.data
        y_test = (container_test.labels - 1).ravel().tolist()

        return X_train, y_train, X_test, y_test

    class SVHNDataset(Dataset):
        def __init__(self, X, y, processing):
            self.X = X
            self.y = y
            self.processing = processing

        def __len__(self):
            return self.X.shape[0]

        def __getitem__(self, idx):
            # image
            img = self.X[idx].astype(np.float32) / 255

            # label
            label = np.array(self.y[idx:idx+1])

            # idx
            index = np.array([idx])

            sample = {
                'index': index,
                'img': img,
                'label': label
            }

            if self.processing is not None:
                sample = self.processing(sample)

            return sample

    def create_dataset_and_dataloader(X, y, processing, drop_last):
        def worker_init_fn(worker_id):
            np.random.seed(np.random.get_state()[1][0] + worker_id)

        dataset = SVHNDataset(X, y, processing)
        dataloader = DataLoader(dataset,
                                batch_size=batch_size,
                                shuffle=shuffle,
                                num_workers=num_workers,
                                drop_last=drop_last,
                                worker_init_fn=worker_init_fn)

        return dataset, dataloader

    # raw
    X_train, y_train, X_test, y_test = load_raw_dataset(dataset_dir)

    # train
    processing_train = torchvision.transforms.Compose([
        ToTensor(),
        SampleAsInputTargetMeta(),
    ])
    dataset_train, dataloader_train = create_dataset_and_dataloader(
        X_train, y_train, processing_train, drop_last)

    # test
    processing_test = torchvision.transforms.Compose([
        ToTensor(),
        SampleAsInputTargetMeta(),
    ])
    dataset_test, dataloader_test = create_dataset_and_dataloader(
        X_test, y_test, processing_test, False)

    return (dataset_train, dataset_test), (dataloader_train, dataloader_test)

# Utils

def initialize(
        dataset_name,
        dataset_dir,
        train_test_ratio,
        batch_size,
        shuffle,
        num_workers,
        drop_last,
        augment):

    if dataset_name == 'cifar10':
        dataset_train_test, dataloader_train_test = load_cifar10_dataset(
            dataset_dir, batch_size, shuffle, num_workers, drop_last, augment)
    elif dataset_name == 'cifar100':
        dataset_train_test, dataloader_train_test = load_cifar100_dataset(
            dataset_dir, batch_size, shuffle, num_workers, drop_last, augment)
    elif dataset_name == 'svhn':
        dataset_train_test, dataloader_train_test = load_svhn_dataset(
            dataset_dir, batch_size, shuffle, num_workers, drop_last, augment)
    else:
        raise Exception("Invalid dataset type: {}".format(dataset_type))

    return dataset_train_test, dataloader_train_test

def compute_channel_mean_std(dataloader):
    sm = np.zeros(3)
    sm2 = np.zeros(3)
    n = np.zeros(3)

    for i, batch in enumerate(dataloader):
        img = batch['img'].numpy()
        sm = sm + np.sum(img, axis=(0, 1, 2))
        sm2 = sm2 + np.sum(img**2, axis=(0, 1, 2))
        n = n + np.prod(img.shape[:3])

    mean = sm / n
    std = np.sqrt(sm2 / n - mean**2)
    return mean, std


text:
OnLive Turned On
[email protected]amasutra.com
by Kris Graft [Business/Marketing, Design, Interview]
June 15, 2010 Page 3 of 4
Moving on from latency, there is the business model. So, I'm just going to quote Dave Perry [head of cloud-based gaming company Gaikai]. People compare Gaikai and OnLive, but really, to me, they seem like quite different things at this point as far as the business models go.
Anyway, back in March, he was criticizing your business model. He was saying you're "paying $15 only to have the opportunity to buy the games. So, $15 gives you no games. If you decide, 'I don't want to keep paying that subscription,' you've just lost access to your games bought at full price." What would your argument be about that?
SP: What we said in March is we were going to charge $15 a month at a maximum, and then we would announce promotions before we launched. And in fact we did. So, OnLive is free, and then after the first year, if you want to stay, and it's completely optional, it's $4.95 a month, and it's month to month.
Plus, it's not in the press release, but it's in our terms of service. You can suspend anytime you want. So, if you were going on vacation for three months and you're not going to have internet service or something, we will hold onto your games and your game saves and anything else you've got, right. So, I don't think there's any real cost to using OnLive, and I don't think there's any real risk.
I think in retrospect, I probably should not have even said anything about pricing. We had a lot of people pushing us to say what kind of price it would be. So we said, "Look. How are we going to tell you how much it won't be more than, and then say that it expects to be less than that?" The reason we had to be very cautious about announcing a price back in March is that until then, beta only had back catalog games.
So, we looked at usage patterns, but we really didn't know what usage patterns would be if you have a brand new game that someone's likely to play through the end, right. And the other thing is we had a bunch of different equipment that we were doing from an engineering point of view, and we expected that to go through to reduce the cost, but you really don't know and you can't really get a quote on components, on servers, and you know, we have custom silicon in there, until you get to very large volumes.
So, we said, "Alright. Let's go put out a very cautious number." We figured nobody would be too upset if the price came down. So, in fact, we were able to bring the price way down. And so here we are. And to the point where AT&T is really happy to sponsor the first year.
So, I think that concern that you need to spend money in order to use OnLive evaporates. First of all, demos are free, so there is really no cost in that. And again, for the first year, actually for the first two years, I think you can take $4.95 a month, you know, for 12 months, which would be the second year, and amortize it over two years, it's less than the cost of Xbox Live if you get Xbox Live on an annual basis. And you can't cancel that on a month to month basis.
A lot of the concerns that people have about the cost of the service, month to month, probably should have evaporated at this point. In some ways, you're asking me a question about, "How you would respond to a misconception about old news?"
At this point anyway, [the free year is] a promotional thing, and we might be talking two years from now. It sounds like you guys want to keep it as low as possible, possibly through other sponsorships or partnerships in the future.
SP: There will be such amazing announcements coming. So, we're not worried about people thinking OnLive is too expensive. That's fair to say. [laughs] You know, we have a zero million unit install base right now, so publishers need to be concerned about maintaining consistency across all the different places where they sell their games.
Games usually are priced the same as they are with other things, with Steam-type systems and so on, or Direct2Drive, etcetera, or retail. But the opportunity with OnLive to package games in many different ways that are difficult to do through either downloads or physical media.
So, you'll see things like, instead of a rental for some number of days, you'll see, if you will, you can pay for a certain number of levels. "Oh, you really do like the game? Well, how about some more levels." What today we think of downloadable content, you know, DLC, I think you're going to begin to see as like these are just option packs that you click and they go right away, you know what I mean. There's no downloading.
And then there's going to be, you know, models like they have with Facebook and Zynga, where the games themselves are free and they're paid for by in-game purchases. I mean, you'll see ad-supported games where there's no cost at all. They're promoted with ads.
And you'll see ads that become games -- somebody has a product or an offering, and you actually get to try it out. I mean, an example would be like a new car, and you click on it, and you take the car for a drive, and it looks just like the real car, you know what I mean. "I think I'll try it with a larger engine option," and see how that happens. Or try different tires and see how well it corners on a really serious race track.
The ways we can package the OnLive experience are just innumerable. There are many, many different possibilities. You know, we are a start-up company. [laughs] We're not Sony or Microsoft. With Sony or Microsoft, or Nintendo, they have enough money in the bank that they can go and say, "Alright. It's going to be three months before launch, it is going to be free for the first people, then $4.95. Then after that, we're going to have this program. Then after that, we're going to have that program."
Unfortunately, I don't have the privilege to do that. I have to kind of wait until all the ducks are lined up before I say, "Okay, here's the promotion that we have." I think people should take what they're seeing with this announcement on June 15 as an indication of the direction OnLive is going.
134233 item_feature /view/feature/134233/onlive_turned_on.php Loading Comments


text:
Disco (software)
Disco (album)
Disco is a genre of dance music containing elements of funk, soul, pop, and salsa that was most popular in the mid to late 1970s, though it has had brief resurgences. Its initial audiences were club-goers from the gay, African American, Italian American,Latino, and psychedelic communities in Philadelphia and then later New York City during the late 1960s and early 1970s. Disco also was a reaction against both the domination of rock music and the stigmatization of dance music by the counterculture during this period. Women embraced disco as well, and the music eventually expanded to several other marginalized communities of the time.
The disco sound has soaring vocals over a steady "four-on-the-floor" beat, an eighth note (quaver) or 16th note (semi-quaver) hi-hat pattern with an open hi-hat on the off-beat, and a prominent, syncopated electric bass line. In most disco tracks, strings, horns, electric pianos, and electric guitars create a lush background sound. Orchestral instruments such as the flute are often used for solo melodies, and lead guitar is less frequently used in disco than in rock. Many disco songs use electronic synthesizers.
This page contains text from Wikipedia, the Free Encyclopedia - https://wn.com/Disco
Disco is an application for Mac OS X developed by Austin Sarner, Jasper Hauser and Jason Harris.
The software is an optical disc authoring utility, which allows users to burn CDs and DVDs with multisession support, disc duplication, burning VIDEO_TS folders, disc spanning as well as a searchable disc index, dubbed Discography. Disco also features an interactive "3D smoke" animation which is visible when burning. This smoke responds to microphone input, as well as mouse input, causing perturbations in the smoke effect.
Disco was designed as a low-cost alternative to the popular Mac OS X optical disc authoring application, Roxio Toast.
Since its launch in 2007, Disco was available as shareware, requiring users to purchase a license after burning seven discs with it on a single computer. In July 2011, a free license code to activate the application was published on its official website, effectively making the application available as freeware.
This page contains text from Wikipedia, the Free Encyclopedia - https://wn.com/Disco_(software)
Disco is the second album by the British synthpop duo Pet Shop Boys. It was released by Parlophone on 17 November 1986 (1986-11-17).
Disco was not an original studio album, but rather a collection of remixes of tracks from their first album, Please, and its respective B-sides. Many fans of 1980s synthpop view the mixes on this album as some of the best examples of the extended dance mix, and this album includes remixes by Arthur Baker, Shep Pettibone and Pet Shop Boys themselves.
It is difficult to say where the Pet Shop Boys saw this album fitting in among their other albums when they released it. In 2001, when they re-released what they deemed their first six albums, Disco was not included.
In addition, Pet Shop Boys would later release the remix albums Disco 2, Disco 3 and Disco 4, although the concepts of these compilations differ greatly from the original Disco album: Disco 2 is a continuous mega-mix of dance remixes, Disco 3 is a mixture of remixes and new songs and Disco 4 consists exclusively of tracks remixed by the Pet Shop Boys, mainly by other artists.
This page contains text from Wikipedia, the Free Encyclopedia - https://wn.com/Disco_(album)
Vapaus, Disco
Trembling with fear, alone in the garden
Battle before the final war
Blood became tears, there in the garden
To fall upon the silent stone
There in the darkness the Light
And the darkness stood still
Two choices, one tortured will
And there once the choice had been made
All the world could be saved by the One in the garden
The light of the dawn, was seen in the garden
By gentle eyes so sadly wise
The angels appear, they come to the garden
Clothed with sighs, they realize
The One they adored from the start
Will be broken apart
By the ones He had come to save
So their here simply now to be near
He's no longer alone, they sit by moan
100% bio : après Camping, Onteniente s'attaque au Pays Basque
[Mis à jour le mardi 5 janvier 2021 à 20h30] Après les films Camping, Disco ou encore All Inclusive, le réalisateur Fabien Onteniente a voulu faire un téléfilm, toujours humoristique mais qui met en avant le terroir de sa terre de cœur, le Pays Basque ... Gabi va être d'autant plus surpris que son gendre est végan ... ....
Qu'est-ce qu'on écoute en janvier ?
FACE A. Rentrer à la maison avec Rhye ... S'ouvrant sur des chœurs d'église, son quatrième album Home est une merveille, avec ses cordes sensuelles (le père de Milosh est violoniste), ses beats un peu disco, ses voix mystérieuses et éthérées (il a une voix de contralto très androgyne)… Il laisse derrière lui quelque chose de Sade. Home (sortie le 22 janvier chez Loma Vista Recordings / Caroline). Découvrir la voix d'Arlo Parks ... Lala &ce ....
Musique : ABBA, 50 ans de succès planétaire
Edit France TV 04 Jan 2021
Le groupe mythique ABBA, formé en Suède il y a 50 ans, est une référence mondiale du disco. Le groupe affiche même un record des ventes de disques dans l'histoire de la musique populaire ... ....
La planète celèbre plus discrètement 2021 à l'ombre de la pandémie
Foule masquée à Wuhan mais plages vides à Rio de Janeiro ... A New York, où Times Square déborde habituellement de gens euphoriques sous une pluie de confettis, le quartier de Manhattan était bouclé et les fêtards encouragés à suivre de chez eux le compte à rebours télévisé, avec la chanteuse américaine Gloria Gaynor pour interpréter à 77 ans son célèbre titre disco "I will survive" ("Je survivrai") ... ....


text:
Q: How to select into multiple variables inside a trigger function? This is what I'd like to achieve:
CREATE FUNCTION f() RETURNS trigger AS $$
  BEGIN
    SELECT COUNT(*) AS total_num, SUM(width) AS total_width
    FROM some_table WHERE foo = NEW.foo;
    IF total_num > 0 AND total_width > 100
    THEN
      RAISE EXCEPTION 'this is bad';
    END IF;
    RETURN NEW;
  END;
$$ LANGUAGE plpgsql;

But it's not yet syntactically correct.
I've read I first need to DECLARE the variables (in this case total_num and total_width) so I can use those and use SELECT INTO but I've seen examples with a single variable / SELECT statement only. What if I have more of them?

A: You can list multiple variables in the into part. And the declare section needs to come before the first begin:
CREATE FUNCTION f() RETURNS trigger
AS $$
declare
  total_num bigint;
  total_width bigint;
BEGIN
   SELECT COUNT(*), SUM(width)
       into total_num, total_width
   FROM some_table
   WHERE foo = NEW.foo;

   IF total_num > 0 AND total_width > 100 THEN
      RAISE EXCEPTION 'this is bad';
   END IF;
   RETURN NEW;
END;
$$ LANGUAGE plpgsql;

A: Edit: I'm not sure whether the emphasis here is on the use of variables or the actual IF. This is meant as an answer on the latter:

You can do this without variables using HAVING and EXISTS.
IF EXISTS (SELECT ''
                  FROM some_table
                  WHERE foo = new.foo
                  HAVING count(*) > 0
                         AND sum(width) > 100) THEN
  RAISE EXCEPTION 'this is bad';
END IF;


How to Stop People From walking on Fresh Tilework ...?
The motion sensing hidden camera, like a hunting game cam, idea comes from a rather clever tile contractor up in Washington state.
The Laticrete lure being used by the brother of one of our Regional Managers.
Smallmouth fishing in the Thousand Islands.
"Just wanted to drop you a line on the 4xlt. You guys hit a grand slam its a great product no complaints here!
I'm new with using your products and I haven't been disappointed yet."
"HydroBan till 11:40pm last night. 253R and Permacolor today."
Tile Contractors, Building Inspectors and Waterproof Membrane.
"Okay the maiden voyage. Of the USS LATICRETE. I am sure you will smile a mile. Here is the funny part. The inspector said he would pass it if a boat could float. Never under estimate a clever tile installer in love with great products from Laticrete !"
Note: The water filled area is lined with Laticrete waterproof membrane. Its not a box. Its the actual entire shower stall. The Contractor is K9 UNIT REMODELING. And the city inspector had three other guys come by and look at the shower. But they really wanted to see the USS LATICRETE.
I told her that Laticrete was the best company that we deal with in regards to LEEDS information and that while some other setting materials companies claim on their websites to be green, they will not supply LEEDS information or even return phone calls regarding LEEDS. So, thanks for the ease with which we can pull the LEEDS information together."
"Henry, I just wanted to let you know you have a h*ll of a rep in the Northern Virginia area.
Kurt Weber, your Laticrete rep, and I did a demo for my company's product yesterday for a client at a Dal-Tile warehouse.
He did an excellent job. Quite honestly the best and most informative demo I have been involved with. I learned a great deal about your products yesterday, so I am sure you can imagine how informative it was for the company's employees.
The company is a high end exterior design company made up of people who have worked on the ground level with their hands in the dirt, but also see the need and desire for people to want their exterior living area to be as nice as the interior.
This is their first move into using tile in an exterior application, so the questions were coming from the basic to the extremely complicated. Anything they were dishing out to Kurt he was on the ball. Just thought you would want to know. I wish all the reps I do demos with were as prepared and knowledgeable."
"Thanks Henry. When I called, I didn't think about it being after 5PM where you are. I think it shows what a great company you have there when you give out your number and answer your phone after hours. I briefly talked to Mark about you and Laticrete, and mentioned the warranty that is offered when your products are used exclusively. He is certainly interested in using more of your products, and I think the fact that he will be in touch with the area rep is a step in the right direction."
David & I have been doing the Laticrete jobsite visits thing for a few years .....!
Its how ya test the products to the extreme and make a home owner understand. I took my Laticrete waterproof membrane box that I made to an estimate this am."


Moving applications to the cloud goes beyond selecting the right apps. Next steps include configuring apps, migrating data and monitoring.
the application, compliance requirements can create roadblocks, and bandwidth problems can occur if your cloud provider does not support low-level networking services such as multicasting.
Service catalogs may contain older versions of virtual machines (VMs) that are not sufficiently patched for your needs. Use base images that have the latest security and functional patches.
Review all daemons and services running on an image and shut down all images that aren't needed. This will reduce the attack service of all VMs.
Configure firewalls between application layers to minimize network traffic between layers. For example, you should only open ports that are needed to accept and respond to queries and support management protocols.
If you require strong encryption, such as PCI DSS, ensure your SSL/TLS encryption is strong. The client and server in an SSL session negotiate which cipher suite to use; they may not use strong encryption if not configured to do so.
When using a hybrid cloud model, configure a virtual private network (VPN) to secure communications between internal and external resources.
Use SSL server certificates to authenticate servers and support encrypted communications. Depending on your architecture, you might be able to use domain level or subject alternate name (SAN) certificates to help minimize the number of certificates you have to manage.
Use configuration tools such as Chef or Puppet to automate cloud management tasks.
In addition to configuring cloud resources, you'll need a plan to move data from the existing system to the cloud-based system. There are several approaches to migrating data; the best option will depend on your enterprise's requirements and architecture.
One approach is to use database replication to establish a copy of your database in the cloud before moving the system. If you're using the cloud for disaster recovery (DR), a replica may already exist in the cloud. With this method, your production system remains live while changes are written to the replica. The time needed to switch from the current production system to a cloud-based system is minimized.
Bulk back and restore is another approach to data migration, which fits with non-transaction-based systems, such as data warehouses and other business intelligence (BI) databases used for data mining. However, this approach can delay the initial loading of the cloud-based database as well as incremental updates.
In addition, not all data is stored in relational databases. For file-based data stores, you may want to use rsync , a synchronization utility often used for mirroring and backup. Rsync is available for Unix/Linux and Windows platforms.
Include logs from cloud servers in the central log management repository. You may want to maintain a separate log management repository in the cloud to reduce network traffic and changes from the cloud to your internal centralized log management repository. Remember, though, this can undermine some benefits of having a single point of access to log data.
Use event triggers to generate alerts about significant events on cloud servers.
Regularly use vulnerability scanning tools, such as Tenable's Nessus, to check for security weaknesses on cloud-based VMs.
If you are using a pay-as-you-go model of cloud computing, automate the tracking of CPU use across servers and shut down servers when usage rates drop below a defined threshold. Dynamically add servers when demand surpasses threshold rates.
Use spot-pricing instances to save money. Amazon EC2 offers unused capacity at varying prices, depending on demand. For example, you make a bid to pay a particular price per hour for a VM, and as long as your bid remains above the set price, you can continue to use the VM. This model works well if you don't need the job to be complete on a set date or time. Spot pricing also requires that your job recover without losing too much work if a bid falls below the spot price and your VM is shut down.
Before migrating applications to the cloud, review your system architecture. Pay particular attention to network services and traffic volume between internal servers and potential cloud-based servers. When it makes sense to move certain apps to the cloud, carefully consider system configuration, data migration processes and ongoing monitoring and management procedure.