text:
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package google.registry.model.contact;

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime;

import com.google.common.collect.ImmutableList;
import google.registry.model.EppResource;
import google.registry.model.EppResource.ResourceWithTransferData;
import google.registry.model.transfer.ContactTransferData;
import google.registry.persistence.VKey;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Stream;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.MappedSuperclass;
import javax.xml.bind.annotation.XmlElement;
import org.joda.time.DateTime;

/**
 * A persistable contact resource including mutable and non-mutable fields.
 *
 *
This class deliberately does not include an {@link javax.persistence.Id} so that any
 * foreign-keyed fields can refer to the proper parent entity's ID, whether we're storing this in
 * the DB itself or as part of another entity
 *
 * @see RFC 5733
 */
@MappedSuperclass
@Embeddable
@Access(AccessType.FIELD)
public class ContactBase extends EppResource
    implements ResourceWithTransferData<ContactTransferData> {

  /**
   * Unique identifier for this contact.
   *
   *
This is only unique in the sense that for any given lifetime specified as the time range
   * from (creationTime, deletionTime) there can only be one contact in Datastore with this id.
   * However, there can be many contacts with the same id and non-overlapping lifetimes.
   */
  String contactId;

  /**
   * Localized postal info for the contact. All contained values must be representable in the 7-bit
   * US-ASCII character set. Personal info; cleared by {@link Contact.Builder#wipeOut}.
   */
  @Embedded
  @AttributeOverrides({
    @AttributeOverride(name = "name", column = @Column(name = "addr_local_name")),
    @AttributeOverride(name = "org", column = @Column(name = "addr_local_org")),
    @AttributeOverride(name = "type", column = @Column(name = "addr_local_type")),
    @AttributeOverride(
        name = "address.streetLine1",
        column = @Column(name = "addr_local_street_line1")),
    @AttributeOverride(
        name = "address.streetLine2",
        column = @Column(name = "addr_local_street_line2")),
    @AttributeOverride(
        name = "address.streetLine3",
        column = @Column(name = "addr_local_street_line3")),
    @AttributeOverride(name = "address.city", column = @Column(name = "addr_local_city")),
    @AttributeOverride(name = "address.state", column = @Column(name = "addr_local_state")),
    @AttributeOverride(name = "address.zip", column = @Column(name = "addr_local_zip")),
    @AttributeOverride(
        name = "address.countryCode",
        column = @Column(name = "addr_local_country_code"))
  })
  PostalInfo localizedPostalInfo;

  /**
   * Internationalized postal info for the contact. Personal info; cleared by {@link
   * Contact.Builder#wipeOut}.
   */
  @Embedded
  @AttributeOverrides({
    @AttributeOverride(name = "name", column = @Column(name = "addr_i18n_name")),
    @AttributeOverride(name = "org", column = @Column(name = "addr_i18n_org")),
    @AttributeOverride(name = "type", column = @Column(name = "addr_i18n_type")),
    @AttributeOverride(
        name = "address.streetLine1",
        column = @Column(name = "addr_i18n_street_line1")),
    @AttributeOverride(
        name = "address.streetLine2",
        column = @Column(name = "addr_i18n_street_line2")),
    @AttributeOverride(
        name = "address.streetLine3",
        column = @Column(name = "addr_i18n_street_line3")),
    @AttributeOverride(name = "address.city", column = @Column(name = "addr_i18n_city")),
    @AttributeOverride(name = "address.state", column = @Column(name = "addr_i18n_state")),
    @AttributeOverride(name = "address.zip", column = @Column(name = "addr_i18n_zip")),
    @AttributeOverride(
        name = "address.countryCode",
        column = @Column(name = "addr_i18n_country_code"))
  })
  PostalInfo internationalizedPostalInfo;

  /**
   * Contact name used for name searches. This is set automatically to be the internationalized
   * postal name, or if null, the localized postal name, or if that is null as well, null. Personal
   * info; cleared by {@link Contact.Builder#wipeOut}.
   */
  String searchName;

  /** Contact's voice number. Personal info; cleared by {@link Contact.Builder#wipeOut}. */
  @Embedded
  @AttributeOverrides({
    @AttributeOverride(name = "phoneNumber", column = @Column(name = "voice_phone_number")),
    @AttributeOverride(name = "extension", column = @Column(name = "voice_phone_extension")),
  })
  ContactPhoneNumber voice;

  /** Contact's fax number. Personal info; cleared by {@link Contact.Builder#wipeOut}. */
  @Embedded
  @AttributeOverrides({
    @AttributeOverride(name = "phoneNumber", column = @Column(name = "fax_phone_number")),
    @AttributeOverride(name = "extension", column = @Column(name = "fax_phone_extension")),
  })
  ContactPhoneNumber fax;

  /** Contact's email address. Personal info; cleared by {@link Contact.Builder#wipeOut}. */
  String email;

  /** Authorization info (aka transfer secret) of the contact. */
  @Embedded
  @AttributeOverrides({
    @AttributeOverride(name = "pw.value", column = @Column(name = "auth_info_value")),
    @AttributeOverride(name = "pw.repoId", column = @Column(name = "auth_info_repo_id")),
  })
  ContactAuthInfo authInfo;

  /** Data about any pending or past transfers on this contact. */
  ContactTransferData transferData;

  /**
   * The time that this resource was last transferred.
   *
   *
Can be null if the resource has never been transferred.
   */
  DateTime lastTransferTime;

  // If any new fields are added which contain personal information, make sure they are cleared by
  // the wipeOut() function, so that data is not kept around for deleted contacts.

  /** Disclosure policy. */
  @Embedded
  @AttributeOverrides({
    @AttributeOverride(name = "name", column = @Column(name = "disclose_types_name")),
    @AttributeOverride(name = "org", column = @Column(name = "disclose_types_org")),
    @AttributeOverride(name = "addr", column = @Column(name = "disclose_types_addr")),
    @AttributeOverride(name = "flag", column = @Column(name = "disclose_mode_flag")),
    @AttributeOverride(name = "voice.marked", column = @Column(name = "disclose_show_voice")),
    @AttributeOverride(name = "fax.marked", column = @Column(name = "disclose_show_fax")),
    @AttributeOverride(name = "email.marked", column = @Column(name = "disclose_show_email"))
  })
  Disclose disclose;

  @Override
  public VKey<? extends ContactBase> createVKey() {
    throw new UnsupportedOperationException(
        "ContactBase is not an actual persisted entity you can create a key to;"
            + " use Contact instead");
  }

  public String getContactId() {
    return contactId;
  }

  public PostalInfo getLocalizedPostalInfo() {
    return localizedPostalInfo;
  }

  public PostalInfo getInternationalizedPostalInfo() {
    return internationalizedPostalInfo;
  }

  public String getSearchName() {
    return searchName;
  }

  public ContactPhoneNumber getVoiceNumber() {
    return voice;
  }

  public ContactPhoneNumber getFaxNumber() {
    return fax;
  }

  public String getEmailAddress() {
    return email;
  }

  public ContactAuthInfo getAuthInfo() {
    return authInfo;
  }

  public Disclose getDisclose() {
    return disclose;
  }

  public String getCurrentSponsorRegistrarId() {
    return getPersistedCurrentSponsorRegistrarId();
  }

  @Override
  public ContactTransferData getTransferData() {
    return Optional.ofNullable(transferData).orElse(ContactTransferData.EMPTY);
  }

  @Override
  public DateTime getLastTransferTime() {
    return lastTransferTime;
  }

  @Override
  public String getForeignKey() {
    return contactId;
  }

  /**
   * Postal info for the contact.
   *
   *
The XML marshalling expects the {@link PostalInfo} objects in a list, but we can't actually
   * persist them directly due to legacy reasons (Objectify can't handle collections of embedded
   * objects that themselves contain collections, and there's a list of streets inside). This method
   * transforms the persisted format to the XML format for marshalling.
   */
  @XmlElement(name = "postalInfo")
  public ImmutableList<PostalInfo> getPostalInfosAsList() {
    return Stream.of(localizedPostalInfo, internationalizedPostalInfo)
        .filter(Objects::nonNull)
        .collect(toImmutableList());
  }

  @Override
  public ContactBase cloneProjectedAtTime(DateTime now) {
    return cloneContactProjectedAtTime(this, now);
  }

  /**
   * Clones the contact (or subclass). A separate static method so that we can pass in and return a
   * T without the compiler complaining.
   */
  protected static <T extends ContactBase> T cloneContactProjectedAtTime(T contact, DateTime now) {
    Builder builder = contact.asBuilder();
    projectResourceOntoBuilderAtTime(contact, builder, now);
    return (T) builder.build();
  }

  @Override
  public Builder<? extends ContactBase, ?> asBuilder() {
    return new Builder<>(clone(this));
  }

  /** A builder for constructing {@link Contact}, since it is immutable. */
  public static class Builder<T extends ContactBase, B extends Builder<T, B>>
      extends EppResource.Builder<T, B> implements BuilderWithTransferData<ContactTransferData, B> {

    public Builder() {}

    protected Builder(T instance) {
      super(instance);
    }

    public B setContactId(String contactId) {
      getInstance().contactId = contactId;
      return thisCastToDerived();
    }

    public B setLocalizedPostalInfo(PostalInfo localizedPostalInfo) {
      checkArgument(
          localizedPostalInfo == null
              || PostalInfo.Type.LOCALIZED.equals(localizedPostalInfo.getType()));
      getInstance().localizedPostalInfo = localizedPostalInfo;
      return thisCastToDerived();
    }

    public B setInternationalizedPostalInfo(PostalInfo internationalizedPostalInfo) {
      checkArgument(
          internationalizedPostalInfo == null
              || PostalInfo.Type.INTERNATIONALIZED.equals(internationalizedPostalInfo.getType()));
      getInstance().internationalizedPostalInfo = internationalizedPostalInfo;
      return thisCastToDerived();
    }

    public B overlayLocalizedPostalInfo(PostalInfo localizedPostalInfo) {
      return setLocalizedPostalInfo(
          getInstance().localizedPostalInfo == null
              ? localizedPostalInfo
              : getInstance().localizedPostalInfo.overlay(localizedPostalInfo));
    }

    public B overlayInternationalizedPostalInfo(PostalInfo internationalizedPostalInfo) {
      return setInternationalizedPostalInfo(
          getInstance().internationalizedPostalInfo == null
              ? internationalizedPostalInfo
              : getInstance().internationalizedPostalInfo.overlay(internationalizedPostalInfo));
    }

    public B setVoiceNumber(ContactPhoneNumber voiceNumber) {
      if (voiceNumber != null && voiceNumber.hasNullFields()) {
        voiceNumber = null;
      }
      getInstance().voice = voiceNumber;
      return thisCastToDerived();
    }

    public B setFaxNumber(ContactPhoneNumber faxNumber) {
      if (faxNumber != null && faxNumber.hasNullFields()) {
        faxNumber = null;
      }
      getInstance().fax = faxNumber;
      return thisCastToDerived();
    }

    public B setEmailAddress(String emailAddress) {
      getInstance().email = emailAddress;
      return thisCastToDerived();
    }

    public B setAuthInfo(ContactAuthInfo authInfo) {
      getInstance().authInfo = authInfo;
      return thisCastToDerived();
    }

    public B setDisclose(Disclose disclose) {
      getInstance().disclose = disclose;
      return thisCastToDerived();
    }

    @Override
    public B setTransferData(ContactTransferData transferData) {
      getInstance().transferData = transferData;
      return thisCastToDerived();
    }

    @Override
    public B setLastTransferTime(DateTime lastTransferTime) {
      getInstance().lastTransferTime = lastTransferTime;
      return thisCastToDerived();
    }

    /**
     * Remove all personally identifying information about a contact.
     *
     *
This should be used when deleting a contact so that the soft-deleted entity doesn't
     * contain information that the registrant requested to be deleted.
     */
    public B wipeOut() {
      setEmailAddress(null);
      setFaxNumber(null);
      setInternationalizedPostalInfo(null);
      setLocalizedPostalInfo(null);
      setVoiceNumber(null);
      return thisCastToDerived();
    }

    @Override
    public T build() {
      T instance = getInstance();
      // If TransferData is totally empty, set it to null.
      if (ContactTransferData.EMPTY.equals(instance.transferData)) {
        setTransferData(null);
      }
      // Set the searchName using the internationalized and localized postal info names.
      if ((instance.internationalizedPostalInfo != null)
          && (instance.internationalizedPostalInfo.getName() != null)) {
        instance.searchName = instance.internationalizedPostalInfo.getName();
      } else if ((instance.localizedPostalInfo != null)
          && (instance.localizedPostalInfo.getName() != null)) {
        instance.searchName = instance.localizedPostalInfo.getName();
      } else {
        instance.searchName = null;
      }
      return super.build();
    }
  }
}

redpajama_set_name: RedPajamaGithub


text:
Home/News/Entertainment & Arts/Uvalde Shooting Survivors File $27 Billion Lawsuit Against Cops, School District
Uvalde Shooting Survivors File $27 Billion Lawsuit Against Cops, School District
December 2, 2022Last Updated: December 2, 2022
Survivors of the Ulvade school shooting claim the school district, law enforcement and first responders didn't act fast enough during the massacre, and now they're suing for $27 billion.
The class-action lawsuit was filed, Tuesday — in federal court in Austin, TX — by parents, teachers and students who say they were present the day of the shooting and are seeking damages for "the indelible and forever-lasting trauma" endured from the horrific shooting … this according to multiple reports.
In the documents, the survivors say, "Law enforcement took seventy-seven minutes to accomplish what they were duty bound to expeditiously perform."
KVUE
According to the lawsuit, the survivors claim that "[i]nstead of swiftly implementing an organized and concerted response to an active school shooter who had breached the otherwise 'secured' school buildings at Robb Elementary school, the conduct of the three hundred and seventy-six (376) law enforcement officials who were on hand for the exhaustively torturous seventy-seven minutes of law enforcement indecision, dysfunction, and harm, fell exceedingly short of their duty bound standards."
As we've reported, 19 children and 2 teachers were gunned down on May 24 at Robb Elementary, in Uvalde, Texas.
You'll recall, video showing police retreat from the gunman sparked outrage from families and school staffed. One teacher, who lost 11 students, blames first responders for not acting fast enough.
ABC News/GMA
Texas lawmakers also issued an 80-page investigative report back in July to identify what went wrong that day … but clearly these survivors are seeking to further hold authorities accountable.
GOP's Stefanik says Postal Service stole $20K in donor checks from mail
Former chief of staff sues L.A. D.A. George Gascón for retaliation
Missing Monkeys From Dallas Zoo OK After Health Check, Reward Now $25K
Khris Davis is the Famous Boxer in 'Big George Foreman' Movie Trailer
Ozzy Osbourne "Not Physically Capable" Of Performing European/UK Dates, Suggests Retirement From Touring

redpajama_set_name: RedPajamaCommonCrawl


Chances are you've been thinking about a weekend away. Do you daydream of breathing in fresh air, sampling farm-to-table cuisine or hearing the celebratory sounds of that jackpot you just won? How about experiencing all of those in the same day? Then it sounds like the Biggest Little City is calling your name…and maybe you should heed the call. Don't stress about getting here. No matter whether you drive, fly or take the train to Reno Tahoe, rest assured your trip couldn't be easier.
With daily direct flights from San Francisco, Oakland, San Jose and more, flying to Reno Tahoe International Airport is the perfect way to get your trip started even sooner. Our neighbors like Los Angeles, Long Beach and Seattle also offer non-stop flights to take you from the ocean to the mountains in hours.
With numerous one stop flights as well as non-stop flights from 22 destinations on eight commercial airlines, you can find yourself hiking a mountain trail in the Sierra Nevada foothills or sipping a craft cocktail along the Truckee River just a few hours after you leave home.
If you'd rather leave the navigating to someone else, Amtrak's California Zephyr offers one of the most beautiful train rides in North America. The Zephyr runs through Reno and Sacramento, into Emeryville/San Francisco. During February and March, get your ticket for the Reno Fun Train, departing from several Bay Area locations. The train lets you get the party started before you even arrive in Reno!
There's something special about a road trip – creating the ideal playlist, finding the perfect stops along the way and of course you can't forget the snacks. The scenic drive to Reno from the Bay Area takes less than half a day and makes for an ideal weekend getaway. You may choose the most direct route along Interstate 80, or opt for a picturesque detour along Highway 50. Both options provide travelers with plenty of photo ops and opportunities for adventure.
If you are headed to the area but don't have a car, don't worry! There are plenty of bus and shuttle options to Reno, Tahoe and stops in between. Many Reno hotels offer complimentary shuttles from the airport to their properties. If you are looking for shuttle services to Lake Tahoe and Tahoe ski resorts from downtown Reno, there are options available as well. Check out more about shuttles in Reno Tahoe.


This wi-fi dwelling camera system data in 720p HD as a way to seize clear photos for your use and utilizes a novel 2-manner audio system (built-in microphone and speaker). Because lens design only allowed moderately small aperture lenses, the image on the ground glass display was faint and most photographers had a darkish material to cover their heads to permit focussing and composition to be carried out more easily.
Now you'll be able to sit back at house learn the opinions of different fashions, know what their prices in India are, and buy cameras at on-line purchasing and more offers/ Flipkart coupons on from fashionable brands like Nikon Cameras , Canon Cameras , Sony Cameras , Panasonic Cameras , Fujifilm, Olympus and Polaroid.
To get one of the best photos it is going to be necessary to set the camera to the maximum variety of pixels it could operate at. When you personal a digital camera you will want to supplement it's inside reminiscence with an external storage card which will fit right into a useful slot on the camera.
Observe: Remember to name this methodology after calling startPreview() Do not attempt to start face detection within the onCreate() methodology of your camera app's fundamental exercise, because the preview will not be out there by this point in your software's the execution.
These included one hundred twenty movie offering eight, 12 or 16 exposures, 220 film providing sixteen or 24 exposures, 127 film providing eight or 12 exposures (principally in Brownie cameras ) and 135 ( 35 mm film ) providing 12, 20 or 36 exposures – or as much as 72 exposures in the half-frame format or in bulk cassettes for the Leica Camera vary.


Country Living in the Big City!
Boasting 3 queen sized beds, 1 king, and 1 comfortable pull out sofa the Rosebud Manor is any family, group or business traveler's home on the range. Looking for a night out in the Stock Yards? A day at the Modern Art Museum? Maybe some family fun in Sundance Square? Everything in Fort Worth is just 10 minutes away. This property comes equipped with a full kitchen, a game room, foosball table, a large flat screen television, and a hot tub!
Guests have access to the entire property except the guest house.
I will be available by phone for all your needs and accommodations. Please feel free to reach out at anytime.
Beautiful Bungalow Just Blocks Away From Magnolia Ave.


text:
Q: Multiple conditions checking to avoid duplicates in twoSum solution I device three solutions to twoSum problems

Given all arrays of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

One is manipulate data structure
class Solution1(): #Manipulate Data
    def twoSum(self, nums: List[int], target: int) -> List[List[int]]:
        nums_d = {}
        couples = []
        #O(n)
        for i in range(len(nums)):
            nums_d.setdefault(nums[i], []).append(i)

        for i in range(len(nums)):
            complement = target - nums[i]
            nums_d[nums[i]].pop(0) #remove the fixer
            result = nums_d.get(complement)#hash table to search
            #if j is not Nne and j is not empty.
            if result: #if exits, it should be [j]
                couples.append([nums[i], complement])
        return couples

Second is multiple conditions checking
class Solution2: #Double Pass Approach
    def twoSum(self, nums, target) -> List[List[int]]:
        """
        :type nums: List[int]
        :type target: int
        """
        if len(nums) < 2:
            return []

        couples = []
        nums_d:dict = {}
        for i in range(len(nums)):
            #nums_d.setdefault(nums[i], []).append(i)
            nums_d[nums[i]] = i

        for i in range(len(nums)):
            complement = target - nums[i]
            # nums_d[nums[i]].pop(0) #remove the fixer
            if nums_d.get(complement) != None and nums_d.get(complement) != i:
                couples.append([nums[i], complement])
        return couples

Third only operate the indexes
class Solution: 3#Single Pass Approach
    def twoSum(self, nums, target) -> List[List[int]]:
        """
        :type nums: List[int]
        :type target: int
        """
        nums_d:dict = {}
        couples = []

        if len(nums) < 2:
            return []

        for i in range(len(nums)):
            complement = target - nums[i]
            logging.debug(f"complement: {complement}")
            logging.debug(f"Check: {nums_d.get(complement)}")

            if nums_d.get(complement) != None:
                # couples.append([i, nums_d.get(complement)])
                couples.append([nums[i], complement])
            nums_d[nums[i]] = i

            logging.debug(f"nums_d: {nums_d}")
        return couples

and my testing case
class TestCase(unittest.TestCase):
    # logging.debug("Class TestCase started.")
    """
    Test for 'twoSum.py'
    """
    def setUp(self):
        self.solution = Solution1()
        self.solution2 = Solution2()
        self.solution3 = Solution3()

    def test_two_sum3(self):
        #random is present
        target = 30
        nums = random.sample(range(20), k=20)
        print(f"\ntarget: {target} \nnums: {nums}")
        #Input no-replacement nums
        print('Solution Length:', len(self.solution.twoSum(nums, target)))
        print('result:', self.solution.twoSum(nums, target))
        print('Solution2 Length:', len(self.solution2.twoSum(nums, target)))
        print('result2:', self.solution2.twoSum(nums, target))
        print('Solution3 Length:', len(self.solution3.twoSum(nums, target)))
        print('result3:', self.solution3.twoSum(nums, target))

unittest.main()

Get the result
nums: [8, 0, 2, 15, 18, 5, 4, 14, 3, 12, 17, 19, 11, 10, 6, 16, 7, 13, 1, 9]
Solution Length: 4
result: [[18, 12], [14, 16], [17, 13], [19, 11]]
Solution2 Length: 8
result2: [[18, 12], [14, 16], [12, 18], [17, 13], [19, 11], [11, 19], [16, 14], [13, 17]]
Solution3 Length: 4
result3: [[12, 18], [11, 19], [16, 14], [13, 17]]
.
----------------------------------------------------------------------
Ran 3 tests in 0.001s

I am fan of solution2.
How to rewrite if nums_d.get(complement) != None and nums_d.get(complement) != i:
to avoid duplicates?

A: First I want to say, your solutions are not exactly matched the two sum problem statement.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

So actually, you don't need record multiple results, just find and return it.
According to your solution and testcase, here I assume your scenario is applied to the data which have mutilple results and ignore duplicate pairs.
I figure out two ways to improve your Solution2, also I optimize your code, you can compare and learn from comment:

*

*Use set and sorted pair to remove duplicates:

class Solution4:
    def twoSum(self, nums, target) -> List[List[int]]:
        if len(nums) < 2:
            return []

        couples = set()
        nums_d = {v: i for i, v in enumerate(nums)}     # init by dict comprehension

        for i, v in enumerate(nums):    # enumerate is better here
            complement = target - v
            if nums_d.get(complement, i) != i:      # use sentinel, more concise
            # if complement in nums_d and nums_d[complement] != i:  # more understandable
                couples.add(tuple(sorted((nums[i], complement))))   # need immutable in set
        return list(map(list, couples))     # convert back to list

*Only add pairs which complement >= v(sorted pair), more efficient than above.

Attention: this solution will not pass the case like [15, 15] in input, I just assume no edge cases like that, because all of your 3 original solutions will not pass, either.
class Solution5:
    def twoSum(self, nums, target) -> List[List[int]]:
        if len(nums) < 2:
            return []

        couples = []
        nums_d = {v: i for i, v in enumerate(nums)}     # init by dict comprehension

        for i, v in enumerate(nums):    # enumerate is better here
            complement = target - v
            if complement >= v:
                if nums_d.get(complement, i) != i:      # use sentinel, more concise
                # if complement in nums_d and nums_d[complement] != i:  # more understandable
                    couples.append([v, complement])
        return couples

By the way, I'm the fan of Solution3, it update index while traversal, it is a common technique, use less extra space and one pass.
Hope that helps you, and comment if you have further questions. : )

redpajama_set_name: RedPajamaStackExchange


Whether you're designing a new home or planning a remodel, it pays to be informed about your options. Flooring affects every room, from the kitchen to the living areas, so it's worth considering.
If installed and maintained properly, ceramic tile flooring should last for a very long time. Its versatility makes ceramic tile particularly appealing, as it is appropriate for every room in your home. Glazed ceramic tile is resistant to scratching and to water, so you won't have to worry about any damage from spills. Easy to maintain, it comes in a wide variety of textures and colors that will enhance the beauty in any room.
Negatives: Because of its hard surface, ceramic tile may crack or chip. It is also difficult to install yourself, so professional installation is recommended.
Alternatives: Stronger and denser than ceramic tile, porcelain tile is also highly resistant to scratches, staining, and fading.
Vinyl flooring boasts the biggest variety of colors and patterns, so you can get the look of wood, stone, or ceramic tile without the cost. Available in sheets or tiles, vinyl flooring is easy to maintain and is a great value for your money. It is also water-resistant, so you can use it in any room in your home.
Negatives: Although vinyl is a great value, it won't actually increase the home's value, and it also won't last as long as ceramic tile, hardwood, or linoleum.
Linoleum flooring is very cost-effective because it lasts for a long time. On top of being extremely durable and easy to maintain, it is also one of the most environmentally friendly types of flooring. Maintaining it is as easy as cleaning it with a damp mop. Linoleum is also appealing because it doesn't scratch or burn, and, like several other kinds of flooring, it is available in many different colors and patterns.
Negatives: Linoleum costs more than vinyl and is tricky to install, so you should probably get a professional to do it.
Should You Finish Your Basement?


Inventory editors are primarily designed for the Desktop version of Terraria. Terraria InvEdit Type: Inventory Editor: Latest version: 6. 0 Compatible with: Current Game Version: 1. Скачать редактор инвентаря для Terraria 1. Редактор инвентаря обновлен до Terraria 1. I recently found a new inventory editor that requires no download!! please leave a like if this helped. We re not even at hardmode yet on our Expert world and it s been more fun than I ve had in years with Terraria. Terraria Inventory Editor (InvEdit) Назад. Me) I apologize in advance for any bugs you may encounter but please do. It allows user to upload their Terraria character. Terrasavr works with latest version of Terraria TerrariViewer is a goon made character and inventory editor for Terraria. Terraria Inventory Editor 1; Terraria: Otherworld 1. This release includes protocol compatibility with Terraria 1. 8 распознать Updated v6 smp, classic or something between. This is a guide to help you use Terraria Inventory Editor. Now some people would call it cheating but it s only cheating if you use the items you get for bad things Terraria Inventory Editor v6. Advertisement: Advertisement: Shoot! Download. TSGE, Terraria Save Game Editor, allows users to modify save game files for the popular game, Terraria. Projects 0 Pulse Graphs Player Editor for Terraria. 4 Is there a working inventory editor for 1. Terraria) submitted 1 year ago by VirgilAsashima. Shoot s Terraria Inventory Editor is a standalone program. Более удобный чем Terraria Inventory Editor и Terraria. Terraria терраррия редактор инвентаря Terraria Inventory Editor Редактор инвентаря для Terraria was published on. The Terraria Inventory Editor makes it easy to start a new character from scratch if you. Switch to English sign up Phone or email. TerrariViewer is a goon made character and inventory editor for Terraria. Terraria is a unique gaming experience where both the journey and the destination are as unique as the players themselves!. Terraria Map Editor, TEdit, is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! Tested to support Terraria (v1. Music; Animals; Terraria is a land of adventure! A land of mystery! A land that s yours to shape, defend, and enjoy.


text:
Michael Welter (* 24. März 1808 in Köln; † 3. Januar 1892 ebenda) war ein deutscher Glasmaler und  Kirchenmaler sowie Dekorations-, Architektur- und Porträtmaler. Sein Tätigkeitsschwerpunkt lag im Kölner Raum.

Leben
Welter wurde ab 1825 von Egidius Mengelberg in Köln im Zeichnen unterrichtet. Zwei Jahre später, 1827/28, ging er für eine längere Zeit nach Paris und wurde dort ein Schüler im Atelier von Pierre-Luc-Charles Cicéri und Pierre-François-Léonard Fontaine.

Bereits 1828 kehrt Welter nach Köln zurück und begann eine Tätigkeit als Dekorationsmaler. Zwischen 1829 und 1831 wurde er im Berliner Atelier von Wilhelm Wach und in der Werkstatt von Carl Wilhelm Gropius in Berlin ausgebildet. Ab 1830 war er Schüler der Königlich Preußischen Akademie der Künste Berlin.

Ab August 1831 unternahm Welter eine zweimonatige Reise über Dresden, Meißen, Prag, Regensburg, Nürnberg, Würzburg und Mainz nach Köln. 1832 ließ er sich in Köln nieder und begann eine Tätigkeit als Dekorationsmaler. Dort gründete er 1833, gemeinsam mit seinem Schwager, dem Historiker Ernst Weyden, den Verein bildender Künstler (heute Kölnischer Kunstverein).

In den 1860er Jahren führte Welter Ausmalungsarbeiten auf der Wartburg bei Eisenach im großen Fest- und Waffensaal durch. 1861/63 übernahm er die Ausmalung des Chors, 1875/77 des Langhauses von St. Godehard in Hildesheim. Außerdem entwarf er zahlreiche Glasfenster, unter anderem für die Christuskirche in Hannover (1864), den Kölner Dom (1866/67), St. Johannis in Lüneburg (1870) sowie St. Clemens und die Dreifaltigkeitskirche in Hannover (1882/83). 1866/67 erhielt er einen Auftrag für eine Miniaturkopie der Wartburgmalereien für den bayerischen König Ludwig II. 1867 ergänzte er die mittelalterlichen Glasmalereien der Stiftskirche St. Materniani et St. Nicolai in Bücken. Ab 1878 führte er die Restaurierung einiger Wandmalereien der Marienburg (Malbork) in Ostpreußen aus. Im Jahr 1880 unternahm Welter schließlich eine sechswöchige Italienreise mit seinem Freund, dem Maler und Graphiker Eduard Gerhardt.

Seine Grabstätte befindet sich auf dem Kölner Melaten-Friedhof (Lit. C).

Werke (Auswahl)
 F.C. Gau Architecte du Roi à Paris, 1827, Bleistift und Kreide auf grauem Papier/Medaillonporträt, Verbleib unbekannt
 Stillleben, 1827, Öl/Papier, o. Gr., Köln, Privatbesitz
 Historisierendes Porträt eines unbekannten Mannes im Profil, 1827, Öl/Papier, o. Gr., Köln, Privatbesitz
 Architekturskizzen, o. J., unbekannte Technik, o. Gr., Köln, Privatbesitz
 Kandelaber, 1827, unbekannte Technik, o. Gr., Köln, Privatbesitz
 Skizzenbücher, o. J., unbekannte Technik, o. Gr., Köln, Privatbesitz
 Molière, 1827/28, Bleistiftskizze, 22,5 × 13,8 cm, Köln, Privatbesitz
 (Welter zugeschrieben:) Manessische Liederhandschrift nach dem in der Bibliothèque Nationale in Paris befindlichen Original, 1827/28, Inv. Nr. Cod.pal.germ. 848, Universitätsbibliothek Heidelberg
 Vier Aktstudien, 1827/28, Kreide, Kohle und Bleistift auf Papier (?), o. Gr., Köln, Privatbesitz; darunter: Aktstudie, 1827/28, Kreide, Kohle und Bleistift auf Papier, 47 × 31 cm, Köln, Privatbesitz (Taf. IV).

Weblinks

Literatur
 Heinz Wolff: Zur Restaurierung der Bücker Stiftskirche und ihrer historistischen Ausmalung. In: Niedersächsische Denkmalpflege 6 (1970), S. 134f.

 Jennifer Falckenberg: Welter, Michael, in: Savoy, Bénédicte und Nerlich, France (Hg.): Pariser Lehrjahre. Ein Lexikon zur Ausbildung deutscher Maler in der französischen Hauptstadt. Band 1: 1793-1843, Berlin/Boston 2013, S. 307–309.

Glasmaler (Deutschland)
Bildender Künstler (Köln)
Deutscher
Geboren 1808
Gestorben 1892
Mann

redpajama_set_name: RedPajamaWikipedia


2. Infrastructure Bonds: Additional deduction of Rs 20,000 (u/s 80CCF) allowed for investment in long term infrastructure funds to be notified by the central government. This is also another interesting move which can lower your tax liability by as much as Rs 6,180 in addition to the reduction in tax liability up to a maximum amount of Rs 51,500 due to hike in tax slabs.
3. Gift of immovable property: Last year budget (Budget 2009) introduced taxation of gifts in kinds which also included transfer of immovable property without consideration or inadequate consideration effective from October 1, 2009. Now, budget 2010 has further amended the section 56(2)(vii) retrospectively to exclude immovable property transactions involving inadequate consideration (below stamp duty value). In other words, now tax will be imposed only if the transfer of immovable property is without any consideration.
4. Gift of Bullion: For those who thought that if gift of jewellery comes under the tax net, why not start receiving gifts in bullion?... Sorry, now this loophole is being plugged. Effective from June 1, 2010, the definition of 'property' under section 56 will include 'bullion'.
5. New SARAL Form: ITR SARAL-II form consisting of two pages meant for individual salaried taxpayers will be introduced shortly which will make it easier for you to file the tax return on your own.
6. Joining bonus for NPS: One little known feature introduced by budget 2010 is the first time introduction of direct subsidy for individuals to encourage them to subscribe to New Pension Scheme (NPS). According to this innovative proposal , any individual who opens a NPS account during the FY 2010-11 with a minimum contribution of Rs 1,000 and maximum contribution of Rs 12,000 p.a. , government will co-contribute Rs 1,000 per year. And the incentive scheme will continue for another 3 years.
7. Housing Loan Subsidy: To provide a boost to affordable housing, the one per cent home loan subsidy introduced last year will continue for another one year. It is available on housing loan less than 10 lakh for purchasing property costing up to Rs 20 lakh.
8. Service tax on Property: This is the most controversial provision of budget 2010. Selling of under construction property by the developers / builders will now attract service tax thereby raising the cost of property. Consequently, installment purchase of immovable property will become liable for service tax. However, if the entire consideration is paid after completion of construction, then there won't be any service tax.
It will result in additional tax outgo and consequent increase in the value of flats under construction by about 3.4% of price as service tax @ 10.3% will be charged on 1/3 portion of the total sale value.
Now property buyers will face another dilemma i.e., whether to go in for a constructed property (which is more expensive) or under-construction property and pay the service tax?
1. Audit Compliance: There is a fifty per cent hike in the threshold limit for compulsory audit of books as per section 44AB of IT Act. Now audit will be required only if turnover / gross receipts exceeds Rs 60 lakh for business and Rs 15 lakh for professionals as against the present limits of Rs 40 lakh and Rs 10 lakh respectively.
2. Presumptive taxation: Ceiling for presumptive taxation of small businesses (under section 44AD of the IT Act) increased from current turnover / gross receipts of Rs 40 lakh to 60 lakh per annum.
Does it make sense to invest in NPS or PPF, especially if your earning is below the tax limit? Since the returns in NPS is taxed, unlike in PPF, is there any utility from it? An incentive scheme of Rs 1000 for 3 years is not a great incentive, right? Or does it mean that till 2012, any schemes open in NPS will enjoy a Rs 1000 pay by Govt. till the age of 60? I'd be interested to know more on NPS. Anything that you have written on this earlier?
For a person with earnings below the taxable limit, if the expected returns from other debt instruments are more than PPF & NSC, then he would be better off investing in such an instrument instead of PPF / NSC. Nevertheless, he should keep in mind the chances of his future income crossing the threshold income tax exemption limit.
Right now, NPS is not attractive due to differential tax treatment of NPS & PPF. But once new tax code (DTC) kicks in, both the schemes PPF & NSC will be at par from tax point of view. High cost is another reason for the NPS scheme failing to take off.
The NPS subsidy of Rs 1,000 per year will be available for a maximum period of 3 years only. I'll cover NPS in detail shortly.
i feel that a longterm bull run has started.can u name some 4/5 star rated funds in equity diversified largecap and some midcaps which give the option to swap or transfer to any other defensive(debt based) in the same fund house (like hdfc top200offers) in case of some thing worse happens (like another recession in west and wars).
can u please tip of such mfs.iam planning to take part very agressively say3-5 years.iam eagerly waiting for ur reply.
On the infrastructure bonds investment part, where can one invest? Most information pointed to ICICI and IDBI but I did not find anything on the ICICI website. Also, should these bonds specifically be notified for this tax exemption? There are a few infra bonds available in the IDBI site but not sure whether any such investment will actually give this benefit.
The bonds will be notified by the central govt. after the approval of the budget. Currently, no such bonds are available.
I ran into your blog quite accidently, and gladly. Your information, analysis and recommendations are excellent and absolutely to the point. Appreciate the dissemination of information, esp about insurance. For years i have been focusing on IRR as basis of buying insurance. the last time i bought insurance policies, was about 10 years ago, when the IRR was about 9%. Since then i have against them, since the IRR was always below 6%. Thanks for your effort.
BTW what is your occupation? just curious, whether this is just plain interest or daily work?
Nice post...eagerly awaiting your review of NPS.
Hi...im a recent visitor to this site and have found it quite informative and comprehensive. Thanks for the effort! Just like others have mentioned I would certainly be interested in finding out more about the NPS Scheme. Do you think its worthwhile to invest in this scheme if we are anyways exhausting all limits for rebates/deductions. If we are comfortable investing upto Rs. 12,000/- would you advise to go in for the entire amount.


text:
Mrs. Zululand
http://www.mrszululand.co.za
Mrs. Zululand - Event
Interview, Fun Fashion, Evening Gown
The main goal of this pageant is to help our Women of Zululand women to increase their cultural awareness throughout the entire community and country. By embracing the beauty of our respective Cultures and Diversity's, Becoming a melting Pot of women who are Brave and Compassionate about Empowering Other Women .Ultimately Sharing our Stories of Struggle and Success and Using it as a Tool to Inspire and Uplift our Women In Zululand by Providing Opportunities to create beneficial support Structures to other Women .The pageant will aim to capture the beauty and pride of our Zululand women. Our pageant also serves as a platform for our Zululand Women to shed light on certain issues that they face today in the communities across the District and surrounding Areas. With that in mind, we provide the atmosphere for women to challenge themselves to becoming their very best eradicating stereotypes Surrounding Body image and Self-confidence issues amongst our women, and our pageant rewards them for the efforts in which they put forth letting them Know that they are Born with a Purpose and are Fearfully and Wonderfully Made and Admired for being a WOMEN .
Mrs Zululand Pageant & Company aims to Highlight Our Married ,Divorced and Widowed Women of Our Zululand District &Surrounding Areas Empowering Women.
Pageant Opened To Married , Divorced or widowed Women Between the Ages of 23-55 years
The Mrs Zululand District Pageant aims to Reach Teach and Inspire One Women at a Time by Highlighting and Showcasing Our beautiful Married, Divorced and widowed women of the Zululand and Surrounding District Areas. Our goal driven Company and committee strives for excellence in producing a Mrs Pageant that not only benefits our talented and dedicated Women of Substance but all women of today, but will also benefit our Women throughout our Zululand District and country. The pageant organization seeks improvement as we expand throughout the years to come. We aim for the pageant to interest both the younger and older generations of Our Zululand Communities so they can form a special bond which would only strengthen and unite families together. Not only will we preserve the beauty and culture of our Zululand and surrounding Districts, but we will include and showcase the new-aged culture of our Our Elegant, Driven and Compassionate Women with in our communities. Making Sure that the True Essence of a women Is Highlighted at all times.


Bridal Bling Australia is a family run business, located south of Brisbane. Formed in 2012, the business started with owner and founder, Kelly Weaver bending wire for personalised coat hangers in her garage. Since then, Bridal Bling Australia business has developed and expanded to have over 100 personalised products, a fully operational workshop and employing family members to work in the business.
Kelly has been in the wedding industry for 20 years, original owning Kelly Weaver's Bridal Hair. The idea of Bridal Bling Australia was formed when Kelly was doing hair and makeup for Brides across Brisbane and she started making personalised wire coat hangers for her own clients. From all her years in the wedding industry, and having first-hand experience with Brides on their wedding day, Kelly believes that it is little things that can have the greatest meaning and bring such wonderful emotions and memories to a wedding day.
So Bridal Bling Australia was created, to offer not only Australian Brides but Brides from all over the world, the chance to buy those little extra special & meaningful trinkets.
I received my memory charm and personalised socks last week and they were both fantastic! Everything was high quality and customer service was excellent. Would definitely recommend!


text:
Q: Is possible to store a pickle file inside a python module? I'm building a python module and I need to store a pickle file for making the module works offline.
My module has the following structure

In the file "macinfo.py" I use the open() function as follow, for example, to get all companies stored:
def all_companies() -> List[Company]:
    """
    Get all companies stored in the pickle file.

    :return: A list of Company instances
    """

    return pickle.load(open("data/companies.pickle", "rb"))

When I try to call the function
all_companies()

inside the file named "macinfo.py" it works but when I call the same function inside "test.py" it raises, obviously, the exception:
FileNotFoundError: [Errno 2] No such file or directory: 'data/companies.pickle'

How can I avoid this?
EDIT: I tried also to use os.path.abspath() but the same exception is raised.

A: I found a solution by using the special variable __file__.
In the file "macinfo.py" I use the following code to determinate where "companies.pickle" is stored
path_1 = "/".join(str(__file__).split("\\")[0:-1])
path_2 = "/data/companies.pickle"
full_path = path_1 + path_2 if path_1 else "data/companies.pickle"

Then I use full_path as follow
def all_companies() -> List[Company]:
    """
    Get all companies stored in the pickle file.

    :return: A list of Company instances
    """

    return pickle.load(open(full_path, "rb"))


As you are probably aware, Mint is based on Ubuntu. No doubt you are also aware that from 11.10, Ubuntu changed the way systemd worked.
You didn't know that ? No, I must confess that it passed me by as well.
Anyway, the upshot of this is that, without getting too technical, they've moved stuff around again.
Oracle can't find what it's looking for so the toys come out of the pram in a shower of ORA-01034 and ORA-00845.
The problem is a bit tricky to spot, because there is something missing. In earlier Ubuntu based Linux versions you would have a shared memory area mounted on /dev/shm. This is what oracle-xe is looking for.
Now we know what's missing, the next question is, how do we fix it ?
This next step has been adapted from the links that Gil provided – the Ubuntu Oracle Installation Guide, and yet more help on the Oracle Forum from the mysterious Dude.
Now we need to create a file to mount the shared memory at the location where Oracle XE is looking for it.
As you can see, /dev/shm has now been mounted.


I was sitting on my living room couch one day, looking up and back between my computer and the TV console. After we painted the walls and trim, the country console didn't match anymore, and I was shopping online for a new one.
Funny thing was, all the consoles I liked were pretty much the same as the one I had, only in white. What was I thinking? All the console needed was a coat or two of white paint: Annie Sloan Pure White, of course.
My husband kept careful watch because his sound system was involved. I wasn't allowed to touch it.
I gave it two coats of white, buffed on coat of clear wax, and stuck to the the original hardware.
This is my dog, Charlie, not caring.
The final touch was fresh family photos in white frames. Even though the frames didn't match , they looked more uniform in the same color. Any frame I had that wasn't white to begin with, was white by the time I finished.
I didn't love the wires and speakers but, as I said, I wasn't allowed to touch them. A small price to pay for family harmony.
I think Charlie was on to something. He cared more about snuggling up with us when we watched a movie than he did about the color of the furniture. I loved my white console but it wasn't nearly the kind of love I felt for my family.
Reimagine your furniture before you shop for more.
Paint a collection of picture frames the same color to make to make a uniform arrangement.
Love is more important than furniture.
This entry was posted in Furniture, Musings and tagged Annie Sloan, console, furniture, Karen Rae Levine, paint, painting, pure white, refinish, refinishing, refurbish, refurbishing, repurpose, repurposing, Suite Pieces, TV on December 30, 2016 by Karen Levine.
I snagged a scratched and wobbly toy high chair for five dollars. Solid wood and all I needed to do was tighten the screws. I forgot to take a before picture but this is what a new one looks like.
Annie Sloan Antoinette is a very pretty pink and while I was looking for a sample at Suite Pieces, someone introduced me to a new color, Old Violet. I had to go home with a sample of that too.
I was assured by Google and knowledgeable shopkeepers that Annie Sloan paint and wax were nontoxic. Not that I expected the next owner to take a bite, but it's always better to be safe than sorry.
Soft cotton light weight gloves (usually for archivists and coin collectors) worked very well to buff the wax in those little hard-to-get areas. You can find them on Amazon for about eight dollars a dozen.
I loved the two-toned version. I used clear wax on most of it but remembering how messy the dolls of my childhood could be, I used a nontoxic rub-on varnish for the tray.
On my journey down memory lane, I shuffled through a box of vintage hankies I inherited from Grandma Sylvia and found two that were perfect for a reversible seat cushion.
I sewed them together. I am not a sewer, but I held my own. As I stitched, I was reminded of Grandma Charlotte, who made magic with needle and thread. I'm sure both of my grandmothers were looking down and smiling as I sewed.
I also have to give a little credit to my seventh grade Home Economics class, where, even though I wished I could take Shop with the boys, I learned some sewing basics. That was back in the day. Girls couldn't take Shop until I was in the ninth grade. It was also the time when all sewing baskets contained a tomato pin cushion and a metal Band-Aid box for buttons. When I dug it out, mine still did.
So there I had it: the perfect gift for my friend's granddaughter. I hope it will give her as many happy "grandma memories" as I had when I refurbished it.
Using light cotton gloves is a great way to wax small or round areas.
I can still thread a needle.
This entry was posted in Furniture, Musings and tagged Annie Sloan, Antoinette, chalk paint, craft, crafting, furniture, highchair, Karen Rae Levine, old violet, paint, painting, refinish, refinishing, refurbish, refurbishing, repurpose, repurposing, stain staining, Suite Pieces on December 23, 2016 by Karen Levine.


text:
Q: Testing code that fetches data from API in a Vue JS application I'm trying to write a unit test, using vue-test-utils and Jest for the following code to understand whether the data properties are being assigned.
Here is the code:
  created () {
    this.loadGridAndContent()
  },
  methods: {
    async loadGridAndContent () {
      let result = await AppService.loadDashboard(this.userDetails.psref).catch(err => console.log(err))
      this.dashBoardData = result.data[0]
      this.dashBoardDataClone = JSON.parse(JSON.stringify(this.dashBoardData))
    }
  }

AppService is
import Api from '@/services/api.service'

export default {
  async loadDashboard (psRef) {
    return Api().get('/user/' + psRef + '/dashboard')
      .catch(error => {
        console.log(error)
      })
  },
  async reorderDashboard (dashBoardOrderData) {
    return Api().put('/user/favourites/reorderdashboard', { NewOrder: dashBoardOrderData })
      .catch(error => {
        console.log(error)
      })
  }
}

It's mock is
export default {
  loadDashboard: jest.fn(() => Promise.resolve([
    { db_name: 'Jobs', dxp_dashboardref: 1, dxp_hidden: 0, dxp_position: 1, dxp_ref: 926 },
    { db_name: 'Firms', dxp_dashboardref: 2, dxp_hidden: 0, dxp_position: 2, dxp_ref: 927 },
    { db_name: 'CRM', dxp_dashboardref: 5, dxp_hidden: 0, dxp_position: 3, dxp_ref: 987 }
  ]))
}

Api.js is:
import axios from 'axios'

export default () => {
  return axios.create({
    baseURL: ``,
    withCredentials: false,
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    }
  })
}

Here is the test:
describe('DashBoard component tests', () => {
  let state
  let store
  let wrapper

  beforeEach(() => {
    state = {
      auth: {
        user: {
          auids: '',
          md_clock: 0,
          md_picture: '',
          ps_fname1: '',
          ps_surname: '',
          psname: 'Test Test',
          psref: 0
        }
      }
    }

    store = new Vuex.Store({
      state
    })

    wrapper = mount(Dashboard, {
      localVue,
      store
    })
  })

  afterEach(() => {
    wrapper.destroy()
  })

  it('it should assign dashBoardData to the result of AppService.loadDashboard', async () => {
    // expect.assertions(1)
    let dashBoardData = [
      { db_name: 'Jobs', dxp_dashboardref: 1, dxp_hidden: 0, dxp_position: 1, dxp_ref: 926 },
      { db_name: 'Firms', dxp_dashboardref: 2, dxp_hidden: 0, dxp_position: 2, dxp_ref: 927 },
      { db_name: 'CRM', dxp_dashboardref: 5, dxp_hidden: 0, dxp_position: 3, dxp_ref: 987 }
    ]
    let resp = { data: dashBoardData }

    console.log(loadDashboard.getMockImplementation)
    loadDashboard.mockResolvedValue(resp)
    //loadDashboard.mockImplementation(() => Promise.resolve(resp))

    await flushPromises()
    expect(wrapper.vm.dashBoardData).toEqual(dashBoardData)
  })
})

Essentially, I think I'm mocking the app.service's resolved value, then awaiting for promises and asserting that the data property has been assigned. However, I am being thrown

'TypeError: Cannot read property '0' of undefined
at VueComponent.loadGridAndContent
  (C:\WebApp\WebApp_Vue_Frontend\src\views\dashboard\Dashboard.vue:93:1)
     at process._tickCallback (internal/process/next_tick.js:68:7)'

and I'm not sure why this is the case. Any ideas would be appreciated.

A: The solution was to actually correctly mock the resolved values of loadDashboard function such as
export default {
  loadDashboard: jest.fn(() => Promise.resolve({ data: [
    [
      { db_name: 'Jobs', dxp_dashboardref: 1, dxp_hidden: 0, dxp_position: 1, dxp_ref: 926 },
      { db_name: 'Firms', dxp_dashboardref: 2, dxp_hidden: 0, dxp_position: 2, dxp_ref: 927 },
      { db_name: 'CRM', dxp_dashboardref: 5, dxp_hidden: 0, dxp_position: 3, dxp_ref: 987 }
    ]
  ] }))
}

A: As your axios call is a GET request, you should have a look at the documentation:
  axios.get(url)
  .then(function (response) {
    // handle success
    console.log(response);
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  })
  .finally(function () {
    // always executed
  });

This said, you can work with callbacks (or Promises, which is more modern) like this:
async loadDashboard (psRef, callback) {
    Api().get('/user/' + psRef + '/dashboard')
    .then(function(response){
        callback(response.data);
    })
    .catch(error => {
        console.log(error)
    })
}

And change your methods:
async loadGridAndContent () {
    await AppService.loadDashboard(this.userDetails.psref, this.callback).catch(err => console.log(err))
}

callback(data){
    this.dashBoardData = data[0]
    this.dashBoardDataClone = JSON.parse(JSON.stringify(this.dashBoardData))
}

All in all, you want to wait for the get() to be finished, before you use the response, which is done with the code above.
Hope this helped you.
I am pretty new here so if there was a mistake, please tell me.


text:
← Pic Of The Day #2047
Roundup: Thanksgiving 2022, I-95 Exit 17 … →
"Another Lime Jimmy": Honoring Walton Amey
The sudden death last summer of Walton Amey — a multi-talented musician and athlete, and a 1971 Staples High School graduate — stunned his many friends and admirers. He was 69.
Grammy-winning musician and producer Brian Keane, writes:
I lost my dear friend Walton Amey while we were vacationing at our mutual friend and former bandmate Stephen Schneider's beach house on Fire Island.
Walt was an amazingly talented, engaging and entertaining person. He was an accomplished actor, singer, comedian and athlete. He was a rugged non-conformist who refused the high expectations and restrictions of traditional societal values.
Walton Amey, in the 1971 Staples High yearbook.
Walt viewed life as a playground — one with which he was constantly engaged, always thinking of ways for people to have fun, get involved, be entertained, enjoy being ridiculous.
Walt was a showman. Being engaged in a show that delighted even one other person truly made him happy.
Stephen Schneider wrote a wonderful song in tribute called "Another Lime Jimmy." He performed it at Walt's touching (and sort of wild) celebration of life on the shores of Lake Onondaga in Syracuse this past summer. The song is both hilarious and heartbreaking. Very catchy too.
I produced the song with Stephen performing it, using people from various bands and theatrical productions that Walton performed with over the years.
I'm sure we didn't get to everyone who would have wanted to contribute. But as Walt often said, "what's good is good."
The most valuable thing about Thanksgiving is the appreciation of gratitude. So this seemed like an appropriate way to say thanks this year.
I hope that, even if you never knew Walton Amey, watching the video will give you some sense of that joy, fun, and spontaneity with which he approached life.
"06880" agrees. Click below, for the best 6 minutes of your day.
(From graduates to current students — and those not yet there — "06880′ brings you news of Staples High. Please click here to support your hyper-local blog.)
This entry was posted in Entertainment, Staples HS and tagged Brian Keane, Walton Amey. Bookmark the permalink.
6 responses to ""Another Lime Jimmy": Honoring Walton Amey"
Fred Cantor | November 25, 2022 at 7:25 am | Reply
That's an amazing tribute! And what a truly original and creative song. Kudos to all.
Bonnie Housner Erickson | November 25, 2022 at 7:55 am | Reply
Thank you for posting, Dan. It was a privilege to honor our fellow classmate and friend. We miss Walt every day.
David Jones | November 25, 2022 at 8:41 am | Reply
I'm the luckiest guy in the world. You can't explain SHS 71′. Astonishing tribute to all involved……..WOW!
Thank you, David.
Cristina Negrin | November 25, 2022 at 9:04 am | Reply
I didn't know Walt after High school but I remember him well. What a great video I feel like I know him better now. Thank you! RIP Walt
Laurie Crouse | November 26, 2022 at 7:44 am | Reply
I hadn't seen Walt in many many years, but it's clear to me that you captured him in this beautifully produced, joy filled tribute. Loved seeing the talented, familiar faces like Cris says, I feel like I know him better now. And BTW, this song is an ear worm! i keep hearing it 😆
David Fiore on Roundup: FOIA, Blue Coupe, Dog Poop …


A result oriented professional with over 14 years of experience in Telecom industry for Service Delivery, Network Implementation & Project Management, and Network Operations Management. Supported Global organisations like as Nokia, Wipro, Hutch, Reliance and Aircel with responsibilities for both Local and remote delivery centres. Good transition experience from high cost contrary to low cost to reduce the Operational cost with agreed time line. A strong Delivery experience in Managed Services for Data, Voice and Mobile Networks. Strong customer focus, highly effective communicator both technical and non-technical, ability to build strong internal/external relationships with key stakeholders, accomplished leadership and people management skills, process disciplines and to strive for continues improvements in day to day activities. Undergone Training for "Six Sigma – Green Belt" Certification.


sonoma furniture living room furniture nick oak oak white gloss sonoma furniture store.
sonoma furniture wardrobe bedroom furniture villa sonoma furniture collection.
sonoma furniture serene surroundings shop this room sonoma patio furniture kohls.
sonoma furniture miller in cherry home bar liquor cabinet sonoma furniture store.
sonoma furniture living room furniture set cabinet cupboard floating unit stand display sonoma furniture kohls.
sonoma furniture slide show image williams sonoma furniture outlet stores.
sonoma furniture williams sonoma furniture manufacturer.
sonoma furniture dining table sonoma ca furniture stores.
sonoma furniture dining room lighting a dining room collections sonoma oak furniture uk.
sonoma furniture furniture set oak furniture stores sonoma county ca.
sonoma furniture large picture of dynamic furniture dresser sonoma dining room furniture collection.
sonoma furniture who makes marks and spencer sonoma furniture.
sonoma furniture pacific oak bedroom furniture range wardrobe chest bedside dresser sonoma chairs kohls.
sonoma furniture marks and spencer sonoma oak furniture.
sonoma furniture liberty furniture road contemporary hutch buffet with led touch lighting sonoma dark furniture marks and spencer.
sonoma furniture liberty furniture road contemporary door chest with cedar lined bottom drawers wayside furniture door chests sonoma furniture ms.
sonoma furniture black tall 2 drawer night stand sonoma bedroom furniture collection.
sonoma furniture more views who makes marks and spencer sonoma furniture.
sonoma furniture home villa sonoma furniture collection.
sonoma furniture wardrobe white oak bedroom furniture sonoma dark furniture marks and spencer.
sonoma furniture the collection is designed to create a luxurious feel in the comfort of your own home the classic weathered gray finish is versatile and transitions sonoma ca furniture stores.
sonoma furniture base who makes marks and spencer sonoma furniture.
sonoma furniture holly bar stool holly bar stool who makes marks and spencer sonoma furniture.
sonoma furniture wine chest sonoma furniture ms.
sonoma furniture william sonoma furniture collection.
sonoma furniture furniture saddle living room recliner villa sonoma furniture collection.
sonoma furniture media cabinet with sliding doors sonoma furniture ms.
sonoma furniture furniture l shaped desk with bookshelves white oak marks and spencer sonoma oak furniture.
sonoma furniture reception sonoma dining room furniture collection.
sonoma furniture road door chest home furniture store and mattress center marks and spencer sonoma furniture range.
sonoma furniture hanging night table osp furniture sonoma collection.
sonoma furniture table legs new and used furniture for sale in buy and sell furniture classifieds sonoma furniture ebay.


In business since 2001 we take pride in repairing sails and canvas products as if they were our own. We provide local repair services for the Connecticut sailor (seasonal), and also recieve sail repairs from around the country. Experienced in the art and science of sailmaking, we apply the craft to all of the products that come in our shop.
At Red Sky Sails we are your sail consultants, new or used. With your specific needs in mind we assist with material/cloth selection, sizing, and measuring, in order to provide an accurate quote on repairs, new sails, or canvas products. We offer new sails and sail cover systems by Doyle Sails and design and build custom canvas work such as boat covers, sail covers, or equipment covers. We are committed to quality workmanship with a good fit and high quality materials with the ultimate goal of superior customer satisfaction.
We have done repairs for cruisers and racers along with power boaters, windsurfers, kiteboarders, and anyone with outdoor fabrics in need of repair. We are avid sailors, having owned and raced several classes of sailboats, in both one-design and PHRF handicap racing. We enjoy coastal cruising and trips to the islands, in addition to summertime dinghy sailing.


text:
"""Increase text size for MySQL (not relevant for other DBs' text types)

Revision ID: d2ae31099d61
Revises: 947454bf1dff
Create Date: 2017-08-18 17:07:16.686130

"""
from alembic import op
from sqlalchemy.dialects import mysql

# revision identifiers, used by Alembic.
revision = 'd2ae31099d61'
down_revision = '947454bf1dff'
branch_labels = None
depends_on = None
airflow_version = '1.8.2'

def upgrade():
    conn = op.get_bind()
    if conn.dialect.name == "mysql":
        op.alter_column(table_name='variable', column_name='val', type_=mysql.MEDIUMTEXT)

def downgrade():
    conn = op.get_bind()
    if conn.dialect.name == "mysql":
        op.alter_column(table_name='variable', column_name='val', type_=mysql.TEXT)


This half-cloak, or "capelet," is a simple but elegant cloak made from a NAVY BLUE velvet material (fairly lightweight) and then entirely lined in NAVY BLUE satin. Perfect for regency, Victorian, or Civil War eras. Appropriate for the time period, it is cut in a circular pattern. It has a short circular collar and closes just beneath that at the throat with a two-button clasp, gold in color, and loop. Currently we carry this caplet in ten different colors, but if you need one we do not have, please tell us, since we are always looking for new items and color combinations to add to Artemisia's current offerings.


"Making disciples in the name of Jesus Christ."
We gather to praise God and support each other in the journey of faith. It is our prayer for you that you will know and experience the love and power of Christ through our church.


ResearchMoz presents professional and in-depth study of "SIP Based IP PBX: Market Shares, Strategies, and Forecasts, Worldwide, 2017 to 2023".
Albany, NY -- (SBWIRE) -- 04/17/2019 -- Next generation SIP Based IP PBX is able to leverage cloud computing software technology to support next generation communications systems. Some automation of the smart phone app and communication process includes the use of analytics to achieve higher quality connectivity in a variety of circumstances and IoT configurations, leveraging social media. The study has 228 pages and 61 tables and figures.
"Growing acceptance of SIP enabled PBX and IP PBX markets come form companies dedicated to supporting modern digital communications. A bifurcation in the market between hardware servers and cloud enabled services, either for soft switches and or Unified Communications (UC) is tending to have the software systems replace separate servers.


The introduction of the red fox has had a major impact on Brush-tailed Rock-wallabies. This is mainly because the wallabies have evolved without the threat of introduced predators and therefore have limited ways to defend themselves against these species. Foxes were introduced into Australia soon after European settlement and are now well established over most of the non-tropical mainland, including Rock-wallaby habitat. They are believed to have contributed to the extinction of several other small mammal species.
Brush-tailed Rock-wallabies have been deprived of available habitat due to a combination of factors including clearing of native vegetation for agriculture and grazing, and changed patterns of fire across the landscape. Residential and tourist developments adjacent to some colonies are causing habitat modification, making it harder for wallabies to find homes.
Often the only remaining habitat is fragmented, small patches of bush that isolates wallaby populations and makes them more prone to stochastic or chance events such as wildfires and drought.
In some areas, Brush-tailed Rock-wallabies have to compete with feral goats, sheep and rabbits for habitat and food. This unnatural competition forces them to search for food outside their natural area, making them more susceptible to predators.
Feral cats, wild dogs, and eagles are also known predators to young wallabies and threaten the survival of family groups.
Spot-tailed Quoll (endangered) and the Wedge-tailed Eagle are capable of being native predators to the Brush-tailed Rock-wallaby.
High densities of certain invasive weeds may reduce the amount of suitable habitat. Although Brush-tailed Rock-wallabies may sometimes snack on lantana and blackberry, they can form a barrier that restrict the wallaby's access to feeding and shelter areas, pose a fire hazard and out-compete native food.
Diseases may also cause significant mortality in populations. Small populations mean Brush-tailed Rock-wallabies are more prone to significant risk with a chance event like disease.
An important aspect of Brush-tailed Rock-wallaby recovery is the active involvement of local landholders and the community overall. See what you can do!
Rock-wallabies aren't found anywhere else on earth. There are 16 species of rock-wallaby and they form the largest group of macropods (marsupial with large hind limbs) in Australia.


text:
Mega Uranium Ltd.
217 Queen Street West, Suite 401
M5V 0R2
Mega Uranium Announces Results Of Annual Shareholder Meeting
Toronto, Ontario (March 30, 2017) – Mega Uranium Ltd. (TSX: MGA) announces the results of its annual shareholder meeting held earlier today. Each of the nominees listed below was elected as a director by a show of hands of the majority of shareholders. The results of the shares voted in person or by proxy in respect of the election of each director are:
Nominee Shares Voted For Shares Withheld
Albert Contardi 52,780,967 (98.68%) 706,612 (1.32%)
Larry Goldberg 52,778,898 (98.68%) 708,681 (1.32%)
Arni Johannson 52,761,032 (98.64%) 726,547 (1.36%)
Douglas Reeson 52,804,001 (98.72%) 683,578 (1.28%)
Stewart Taylor 52,719,038 (98.56%) 768,541 (1.44%)
At the meeting, shareholders also appointed MNP LLP as the company's auditor, to hold office until the next annual meeting.
Complete voting results of the meeting are available under the company's profile on sedar.com.
ABOUT MEGA URANIUM
Mega Uranium Ltd. is a Toronto-based mineral resources company with a focus on uranium properties in Australia and Canada. Further information on Mega can be found on the company's website at www.megauranium.com.
Richard Patricio
info@megauranium.com
www.megauranium.com
Home | Company | Properties | Our Experts | Investors | Corporate Governance | Contact | News Room
© 2010 Mega Uranium Ltd. - a Canadian based uranium mining and exploration company with projects in Australia ,Canada and Cameroon.


text:
Another Retail Giant Bites The Dust
Forever 21 filed for Chapter…
Is The Bull Market On Its Last Legs?
This aging bull market may…
What's Behind The Global EV Sales Slowdown?
An economic slowdown in many…
Writer, OilPrice.com
Information/Articles and Prices on a wide range of commodities: We have assembled a team of experienced writers to provide you with information on Crude Oil,…
How Big A Threat Is Climate Change To The Global Economy?
America's $16 Trillion Debt Bubble Is About To Burst
$7 Trillion In Unfunded U.S. Pensions As Domestic Debt Hits A Record High
The Free Money Bubble Is About To Burst
Former Exxon President On Mission To Clean Up Oil Sands
By Oilprice.com - Jul 31, 2015, 5:47 AM CDT
Canada has given oil sands a dirty reputation, but a breakthrough, commercially viable technology has caught the eye of a former Exxon Mobil president who is putting it to use to clean up Utah's billions of barrels of oil sands.
Imagine extracting high-quality oil out of the estimated 32 billion barrels buried in Utah's oil sands, without creating the toxic wastelands that have resulted from oil sands projects in Western Canada. And imagine doing it at a cost that can still turn a profit in today's oil price slump.
That would be highly enticing to some of the large operators in the Uinta Basin, Utah's emerging tight oil play. As shale production has soared across the country, operators have moved to Utah to try to coax oil and gas from shale rock in ways that have been done on such a large scale elsewhere. Major players such as Marathon Oil (NYSE:MRO), EP Energy Corporation (NYSE:EPE) and Newfield Exploration Co. (NYSE:NFX) have significant exposure in Utah.
But Utah's oil sands are suddenly attracting a lot more attention because of their vast potential. The poor environmental reputation and high cost has kept companies away up until now, but armed with a new, clean oil sands technology, there is even talk that Utah could shift its focus away from expensive shale.
Protecting the environment and still profiting from oil has long been a major challenge, particularly when it comes to dirty oil sands, but that could all change if a new technology designed specifically to extract these oil sands in the most environmentally friendly way possible proves successful.
For five decades, companies have been trying to replicate Alberta's oil sands success in Utah, but without turning the state into a toxic wasteland. A former Exxon president of Arabian Gulf operations, Dr. R Gerald Bailey, is one of several to take up the challenge, where today he is CEO of a small oil services technology company called MCW Energy Group (MCWEF:OTCQB).
"It is really simple," Dr. Bailey told Oilprice.com. "In the same way that soap washes grease from plates, with the grease adhering to the soap and pulling it off, so new technology in the form of an innovative solvent can pull the oil out of oil sands." Oil sands are typically black and dirty looking. However, once washed with the solvent, the sand comes out 99.9 percent clean before it is returned to the Earth, according to Dr. Bailey. "If we throw it back on the Earth, it is no longer contaminated with oil and you can grow plants on it."
This is not just about making oil, Dr. Bailey opines. It's about remediation. "After the tragic Deepwater Horizon disaster, we could have gone over there and cleaned that beach up with this new technology." The company is focusing on Utah, but sees future potential abroad in places like Russia, China, Afghanistan, the Dominican Republic, Namibia, Jordan and Trinidad.
Other companies are working on similar technologies as environmental groups and governments turn increasingly hostile to dirty oil sands. Marathon Oil is developing a proprietary solvent technology, in which wet tailings are dried and deposited back into a mine site as back-fill. Imperial Oil (TSE: IMO), a Canadian oil company, is doing something similar.
The focus of any new oil extraction technology must be on the environment -- both Canada's toxic wastelands and the fallout from hydraulic fracturing have ensured that new technologies can no longer push full speed ahead towards profit while ignoring the longer-term consequences.
While shale producers are taking a nose-dive in this market, experts estimate that production using new solvent technologies in Utah can be more profitable than shale oil currently being produced, and more profitable than any other oil sands project in North America.
It costs about $55 per barrel to produce oil sands in Alberta. But independent research has shown that MCW Energy Group can produce oil from Utah oil sands at approximately $30 for clean oil sands.
From an environmental standpoint, it would seem that the goals are also being achieved. The process employed does not use any water, which is a significant selling point in the dry state of Utah, and produces no waste or pollutants, including no more tailing ponds.
Can it apply Canada's oil sands as well?
According to Dr. Bailey of MCW Energy, the Utah sands differ as they are oil-wet and not water-wet, and because they can simply be scooped up with a front loader and then processed with the solvent. The oil separates out and the clean sand is returned to the ground. In Canada, however, the sand must be mined because it is several hundred feet underground and requires extraction with steam and subsequent hot water, which becomes highly contaminated. "The huge acres of tailing ponds can be seen from space."
But while it may seem a daunting task, the new technology can tackle even Alberta's oil sands waste problem -- after the process, according to Dr. Bailey, without using any water. "We would just use a de-watering process and then treat the raw sludge with our solvent."
The much-maligned oil sands may yet have a viable future in a world increasingly concerned about the environment.
Source: http://oilprice.com/Energy/Crude-Oil/Former-Exxon-President-On-Mission-To-Clean-Up-Oil-Sands.html
By James Stafford of Oilprice.com
AUD/USD - Downside Pressure Continues
The Euro-Oil Relationship
Why A Strong Yuan Is A Promising Sign For The Trade War
What Would You Sacrifice For A Debt-Free Life?
Tariffs Are Causing A Slowdown In U.S. Manufacturing


Some members of our Liverpool office took part in a cycle ride from Liverpool to Chester and back again, raising money for Claire House Children's Hospice.
Claire House Children's Hospice helps seriously and terminally ill children live life to the full, creating wonderful memories and bringing back a sense of normality to family life. Through specialist nursing and emotional support Claire House helps families when life couldn't get any tougher.
The team raised £336.45 for the charity.


Empyrean is an AIM listed profitable onshore US oil & gas development and production company. Its primary focus is on its 3% interest in the Marathon Oil operated Sugarloaf AMI centrally positioned in the liquids rich sweet-spot within the Eagle Ford Shale Texas – the largest oil and gas development in the world based on capital invested. Empyrean is well-positioned to benefit from Marathon's rapid and highly-efficient drilling programme at Sugarloaf and to capitalise on the significant additional upside available from initiatives. As at 2 September 2015, Empyrean had an interest in 241 gross producing wells with full development expected to reach over 770 wells. The Company has a term debt facility of up to US$50 million with Macquarie Bank, subject to reserve hurdles and drawdown approvals, in place in order to develop this acreage.
Revenues were US$6.0mln (US$7.9mln) and profit before tax US$1.83mln (US$2.7mln).


text:
9 Ways You Can Use Your White Privilege For Good
Learning about white privilege can be uncomfortable, but taking action is way better than just feeling bad about it.
Kristina Marusic 06/22/2015
Today (June 22) we're announcing "White People," a groundbreaking documentary on race that aims to answer the question, "What does it mean to be white?" from the viewpoint of young white people living in America today. "White People" will premiere on MTV on July 22 at 8/7c.
"White People" follows Pulitzer Prize-winning journalist and filmmaker Jose Antonio Vargas as he travels across the country to get this complicated conversation started. The documentary asks what's fair when it comes to affirmative action, if colorblindness is a good thing, what privilege really means, and what it's like to become the "white minority" in your neighborhood.
That moment that you discover that you have certain unearned advantages just because of the color of your skin can be jarring – and can sometimes lead to feelings of guilt. But once you learn about your privilege, there's actually a lot you can do that's empowering and constructive. While white people can't help having been born white into a system where whiteness affords them privilege, they can help to create meaningful change.
Here are 9 ways white people can use white privilege for good:
Educate yourself about white privilege
https://www.youtube.com/watch?v=2KlmvmuxzYE
Although many people of color are happy to talk about their personal experiences with race, it's unfair to ask people of color to take responsibility for initiating all conversations about race and privilege. Doing your own homework goes a long way toward using your privilege for good.
Many white people also tend to view their own race simply as the absence of ethnicity, rather than as a unique heritage with its own meaningful history. It's critical that we all take the time to explore our own ethnic and cultural backgrounds and learn how white people have historically been afforded privileges due to their race -- if we don't know where we came from, how can we know where we're going?
Have conversations with other white people about white privilege, race, and racism
https://www.youtube.com/watch?v=Y3uNRdWfs_I
Four out of five young white people say they feel uncomfortable discussing race issues, and less than one in three white people say they've talked about race within their family.
It can be difficult and uncomfortable at times, but it can often be more comfortable for white people to initiate conversations about race with other white people than it is for people of color. Educating their own families and communities is one of the most powerful ways white people can leverage their privilege for good.
The internet can be a scary place sometimes — especially for people who are still trying to learn more and have real conversations about such big, complex issues. Look Deeper is a new online tool that creates a safe, pre-moderated space for the conversations you want to have about bias: Whether it's in pop culture, the news, or just something you might've encountered in your everyday life.
Keep the numbers handy so you can set the record straight
https://www.youtube.com/watch?v=h_hx30zOi9I
Did you know that if you're white, you're actually more than 40% more likely to receive a private scholarship than you are if you're not white? When friends and family members say things like, "I didn't get a scholarship because a person of color 'took my spot,'" being armed with statistics that undercut bias by accurately portraying reality is a powerful tool.
Knowing the facts about issues like police violence, crime rates, and the criminal justice system can equip you shut down racist claims when you overhear them.
Amplify the voices of people of color talking about race, racism, and white privilege on social media
https://www.youtube.com/watch?v=Bq8rMUQVEnI
There are lots of resources available online that can help everyone expand these conversation and encourage meaningful dialogue beyond your immediate circle. One of the best ways to call attention to racial inequities is by lifting up the voices of people of color sharing their own experiences.
Retweeting, reblogging, or quoting from the stories of people of color when, for example, protests are going on about police brutality, can help turn up the volume on those particular lived experiences – and prevents a white person from making the issue about themselves.
Be assertive about challenging racism in your community or workplace
https://www.youtube.com/watch?v=Wf9QBnPK6Yg
Did you ever notice how, if a woman complains about sexism, she's often ignored, but when a man steps in and stands up for her, people start to pay attention? Racism often works the same way. If a white person sees racial bias playing out at work or at school, it can be really helpful for them to speak up. Knowing how to speak in the language of the white community about issues that affect people of color is a powerful tool, and oftentimes it's safer or easier for a white person to challenge racism in those scenarios than it is for a person of color to do so.
That said, sometimes being an ally is just being supportive of a person of color, by validating their experiences or backing them up.
You can also help take these conversations beyond your own community: Tell us your creative ideas for a groundbreaking video project on privilege, and if we pick your idea, it'll be produced by MTV! Find out more and enter at lookdifferent.org.
Be an observant bystander
https://www.youtube.com/watch?v=I__32UKpFOA
Fifteen-year-old Brandon Brooks helped bring the injustice encountered by the teenagers at the McKinney Pool Party into the national spotlight by filming the interaction. Observing racially-charged interactions and bearing witness to what's going on -- with or without the help of your smart phone -- is another simple but powerful way to use your privilege for good.
Support businesses owned by people of color
https://www.youtube.com/watch?v=2cfO65E6dlk
Money is power, and it's no secret that as a result of historical advantages, many (but not all) white people tend to have more of it (Author Maggie Anderson's family learned a lot about this when they tried to shop only at Black-owned businesses for an entire year). Supporting local businesses owned by people of color can help empower communities. If it's hard to find businesses owned by people of color in your area, you can always shop online.
Fight for voting rights
https://twitter.com/RockTheVote/status/609060353780117504
For as long as people of color have had the right to vote in America, some people in power have used techniques like gerrymandering, voter intimidation, and voter disenfranchisement laws to minimize the number of minority voters.
Amazingly, many of these practices persist today, and the outcome of local elections often directly impact the lives of people of color. You can help fight for voting rights by volunteering to register people to vote.
Get involved with organizations doing anti-racism work
There are lots of organizations both on and off college campuses that ask white people to join the movement and do anti-racist work. Everyone can also support organizations fighting for racial justice by becoming a regular donor -- even giving $5 every month to an organization that's working for change can make huge difference.
To learn more and join the conversation, check out "White People" on July 22 at 8/7c on MTV or MTV online, and in the meantime, visit race.lookdifferent.org for more on white privilege.


At Mondelēz International, our goal is to be a global leader in well-being snacks. We're guided by our purpose of empowering people to enjoy life and snack in balance. We take seriously the nutrition responsibility that comes with being the world's largest snack company.
At the end of 2016, we made strong progress against our global wellbeing targets. Our Better Choice options are now over 25 percent of our portfolio revenue and portion control options have grown by 39 percent. We met our goal to increase whole grains by 25 percent and reduced saturated fat by 6 percent and sodium by 5 percent respectively across our global portfolio. In addition, we achieved our goal of providing calories on the front-of-pack across our products globally.
Expanding ten existing Well-Being brands in our portfolio, with the goal of growing them at twice the rate of our base portfolio. These well-being brands meet a set of strict, category specific nutrition and ingredient criteria.
Renovating and improving the nutrition and ingredient profile of our biggest-selling brands. We've made strong progress in improving the nutrition of our portfolio globally. And by focusing on enhancing the nutrition and ingredients of biggest brands, including removal of artificial ingredients, we can have a greater impact with our most popular snacks that are eaten more frequently.
Continuing to inspire consumers to snack mindfully and plan to deliver 15 percent of our revenue from our portion control snacks.
Overall, we feel that going forward with this approach to well-being with our portfolio will be better aligned with what consumers are looking for in their snacks and what we are hearing from external partners. Our approach is in line with World Health Organization's recommendations on tackling obesity and lifestyle-related diseases.
So to help people enjoy their snacks – but be mindful of their calories – we are offering more satisfying, portioned controlled snacks. That's why we are increasing Portion Control options – satisfying, individually wrapped snacks that are less than 200 calories and meet baseline nutrition criteria that we use to assess new products being developed. At the end of 2016, we grew our portion control options by 39 percent - exceeding our original goal of 25 percent. Starting in 2017, our goal will be to make portion control snacks a meaningful segment of our portfolio, with an aim to deliver 15 percent of revenue by 2020.
Snacking is part of everyday living. It can provide fuel for energy or a boost to jump-start your day. It can also simply be a treat. Snacking mindfully is an approach that encourages people to eat with attention and to be present in the moment. It can help people improve the way they snack; as well as help build a healthier relationship with food.
At Mondelēz International we have partnered with Dr. Susan Albers, Psy.D., Clinical Psychologist and Mindful Snacking expert to provide information as well as tips and tools on how to snack mindfully – and enjoy the moment. Check out the information guide and tips on how to practice mindful snacking, as well as a resource guide for healthcare professionals and educators.
At the end of 2016, we surpassed our 2020 target of 25 percent, delivering 26 percent of our revenue from Better Choice options -- snacks that have an improved nutritional profile and meet a strict set of category-specific nutrition criteria. The criteria were developed with guidance from a panel of outside nutrition experts. In addition to meeting the criteria, Better Choices also delivered either a positive nutritional element (e.g., increase in whole grains) or a specific reduction in a nutrient of public health concern (e.g. sodium).
In 2017, we evolved our goal to focus on expanding 10 existing Well-being Brands in our portfolio that meet specific criteria – with goal of growing them at twice the rate of our base portfolio.
At the end of 2015, we achieved our goal to increase whole grains by 25 percent across our portfolio. We continue to grow our whole grain options with the expansion of Triscuits and Wheat Thins in the U.S., as well as expansion of Club Social whole wheat crackers in Brazil. Our ongoing roll-out of belVita into new formats and new markets, including China, Russia, Finland and Sweden, has helped us reach our goal. In 2016, belVita alone delivered 65 million pounds of whole grains to global diets.
We continue to reduce the amount of sodium within our products, with the goal of achieving our 10 percent reduction targets by 2020. Halfway through our time frame, we have reduced sodium by 5 percent across our global portfolio. This is on top of the great strides we made in 2010-2012. During that time period, in North America, we took out 1 million pounds of sodium (about 193 million teaspoons of salt) from our US crackers and cookies. And in Latin America we reduced sodium in our biscuits by nearly 10% and by 19% in our cheeses. Going forward, we will focus on improving sodium as part of our overall renovation of our biggest selling brands, as well as introduce new products with less sodium in the recipes.
We made great progress on our saturated fat reduction efforts over the last few years. At the end of 2016, we reduced saturated fat by 6 percent across our entire portfolio, with success in regional recipe reformulations.
For example, we reduced the saturated fat content in our TUC crackers sold in the Middle East and Africa by 8 percent. We will continue to look at ways to reduce saturated fat in our biggest brands, as well as offer new snack options with better fat profile.
We continue with our efforts to remove industrially-produced trans fatty acids (TFAs) from our entire portfolio. Our ultimate goal is to eliminate them completely. Over the years, we have significantly reduced industrially-produced TFAs and partially hydrogenated oils (PHOs) from our snacks, while maintaining taste and quality. As part of our efforts, we made a commitment along with members of the International Food & Beverage Alliance to reduce industrially-produced TFAs from PHOs in our products worldwide to be less than 1g of TFAs per 100g of product by the end of 2018.
Sugar reduction has been a focus for us over the past 10 years. We know that to maintain a healthier, more balanced diet, it is important to manage the intake of both sugar and calories. And we agree people should limit their sugar intake as part of an effort to reduce calories. This aligns with and supports the WHO and other regulatory agencies' advice for consumers to limit added sugar intake to no more than 10 percent of daily calories. We take a multi-pronged approach to help consumers manage sugar and calories, focused on five areas: creating new products with less sugar; reducing sugar amount in current products; launching and supporting lower sugar sub-lines; increasing portion control options; and reinforcing portion messaging on pack. For example, we've introduced new sugar free and reduced sugar confection, such as our Trebor mints in the UK. And through our Oreo and Chips Ahoy Thins platforms, we're offering fewer calories and sugar per cookie compared to the regular version. That way people can savor the taste they love, but with fewer calories and sugar. Globally, 90 percent of our gum and 70 percent of our powdered beverages, such as Tang and Clight, are sugar free. In fact, since 2012 we removed 154 million pounds of sugar across our global powdered beverages. We have also reduced sugar by 10 percent in belVita and Barni soft cakes recipes.
Our approach on under-nutrition – especially in developing markets – remains focused on where we can address and alleviate critical nutritional deficiencies with products that can and should be fortified.
We don't simply add nutrients to any product for any reason. In product development, we look at the latest micronutrient deficiency data from international or national health authorities to understand what deficiencies need to be addressed in local market. We will also work with local health authorities and nutritionists to identify any specific micronutrients that are low in the local population. Based on that input, we take into consideration if the products we sell in that market are appropriate to fortify.
If a product is deemed appropriate to deliver micronutrients, we develop a fortification profile, which is permitted by law, and addresses the micronutrient needs of a significant portion of the population. We will also invest in technology that ensures the forticants we use can be absorbed by the body effectively and efficiently. We only fortify those foods that make sense for fortification.
For example, in Southeast Asia, our Tiger Biskuat line of biscuits is fortified with nine vitamins and six minerals recommended by the World Food Programme; in Nigeria, the Nutrition Society of Nigeria endorsed our Bournvita fortified milk-based beverage. Tang is fortified with Vitamin C in all geographies where we sell it. And based on local need, we will forify with additional nutrients. So in Southeast Asia, our Tang products are fortified with iron as children are iron deficient; in China we add B-12 and folic acid; and we fortify Tang with iodine in Middle Eastern markets. In the Philippines our local cheese product, Eden, is fortified with iodine and iron to help prevent anemia and stunting.
Finally, all nutrient fortifications must meet local regulations and should follow the general dietary guidance set forth by local government agencies. In those cases where regulations or standards have not been set, we will follow authoritative guidance set out by recognized bodies, such as CODEX (CODEX CAC/GL 07-1987); as well as the guidance outlined in the WHO/FAO guidelines on food fortification with micronutrients. And when we add a specific nutrient for fortification purposes, we will include information on that nutrient on the product's nutrition label.


The car really provides scale to the shot. Nice comp and contrasts.
Bleak indeed, but great shot of it.
Great wide open view especially with the snow.
This is very good. Having the truck there really makes it interesting.
I like how you captured that one lone vehicle traveling through the shot -- nice soft feel to the trees, too.