text:
// Copyright 2016 The Bazel 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 com.google.devtools.build.lib.server;

import com.google.common.base.Optional;
import com.google.common.base.Verify;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.net.InetAddresses;
import com.google.common.util.concurrent.Uninterruptibles;
import com.google.devtools.build.lib.runtime.BlazeCommandDispatcher.LockingMode;
import com.google.devtools.build.lib.runtime.CommandExecutor;
import com.google.devtools.build.lib.server.CommandProtos.CancelRequest;
import com.google.devtools.build.lib.server.CommandProtos.CancelResponse;
import com.google.devtools.build.lib.server.CommandProtos.PingRequest;
import com.google.devtools.build.lib.server.CommandProtos.PingResponse;
import com.google.devtools.build.lib.server.CommandProtos.RunRequest;
import com.google.devtools.build.lib.server.CommandProtos.RunResponse;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.Clock;
import com.google.devtools.build.lib.util.ExitCode;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.ThreadUtils;
import com.google.devtools.build.lib.util.io.OutErr;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import com.google.protobuf.ByteString;
import io.grpc.Server;
import io.grpc.netty.NettyServerBuilder;
import io.grpc.stub.CallStreamObserver;
import io.grpc.stub.StreamObserver;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import java.security.SecureRandom;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import javax.annotation.concurrent.GuardedBy;

/**
 * gRPC server class.
 *
 * <p>Only this class should depend on gRPC so that we only need to exclude this during
 * bootstrapping.
 */
public class GrpcServerImpl extends RPCServer {
  // UTF-8 won't do because we want to be able to pass arbitrary binary strings.
  // Not that the internals of Bazel handle that correctly, but why not make at least this little
  // part correct?
  private static final Charset CHARSET = Charset.forName("ISO-8859-1");

  private static final long NANOSECONDS_IN_MS = TimeUnit.MILLISECONDS.toNanos(1);

  private class RunningCommand implements AutoCloseable {
    private final Thread thread;
    private final String id;

    private RunningCommand() {
      thread = Thread.currentThread();
      id = UUID.randomUUID().toString();
      synchronized (runningCommands) {
        runningCommands.put(id, this);
        runningCommands.notify();
      }
    }

    @Override
    public void close() {
      synchronized (runningCommands) {
        runningCommands.remove(id);
        runningCommands.notify();
      }
    }
  }

  /**
   * Factory class. Instantiated by reflection.
   */
  public static class Factory implements RPCServer.Factory {
    @Override
    public RPCServer create(CommandExecutor commandExecutor, Clock clock, int port,
      Path serverDirectory, int maxIdleSeconds) throws IOException {
      return new GrpcServerImpl(commandExecutor, clock, port, serverDirectory, maxIdleSeconds);
    }
  }

  private enum StreamType {
    STDOUT,
    STDERR,
  }

  private static Runnable streamRunnable(
      final LinkedBlockingQueue<Optional<RunResponse>> queue,
      final CallStreamObserver<RunResponse> observer) {
    return new Runnable() {
      @Override
      public void run() {
        while (true) {
          Optional<RunResponse> item;
          try {
            item = queue.take();
          } catch (InterruptedException e) {
            // Ignore. This is running on its own thread to which interrupts are never delivered
            // except by explicit SIGINT to that thread, which is a case we can ignore.
            continue;
          }
          if (!item.isPresent()) {
            return;
          }

          observer.onNext(item.get());
        }
      }
    };
  }

  // TODO(lberki): Maybe we should implement line buffering?
  private class RpcOutputStream extends OutputStream {
    private final String commandId;
    private final StreamType type;
    private final LinkedBlockingQueue<Optional<RunResponse>> work;

    private RpcOutputStream(String commandId, StreamType type,
        LinkedBlockingQueue<Optional<RunResponse>> work) {
      this.commandId = commandId;
      this.type = type;
      this.work = work;
    }

    @Override
    public void write(byte[] b, int off, int inlen) {
      ByteString input = ByteString.copyFrom(b, off, inlen);
      RunResponse.Builder response = RunResponse
          .newBuilder()
          .setCookie(responseCookie)
          .setCommandId(commandId);

      switch (type) {
        case STDOUT: response.setStandardOutput(input); break;
        case STDERR: response.setStandardError(input); break;
        default: throw new IllegalStateException();
      }
      work.offer(Optional.of(response.build()));
    }

    @Override
    public void write(int byteAsInt) throws IOException {
      byte b = (byte) byteAsInt; // make sure we work with bytes in comparisons
      write(new byte[] {b}, 0, 1);
    }
  }

  // These paths are all relative to the server directory
  private static final String PORT_FILE = "command_port";
  private static final String REQUEST_COOKIE_FILE = "request_cookie";
  private static final String RESPONSE_COOKIE_FILE = "response_cookie";

  @GuardedBy("runningCommands")
  private final Map<String, RunningCommand> runningCommands = new HashMap<>();
  private final CommandExecutor commandExecutor;
  private final Clock clock;
  private final Path serverDirectory;
  private final String requestCookie;
  private final String responseCookie;
  private final AtomicLong interruptCounter = new AtomicLong(0);
  private final ExecutorService streamExecutor;
  private final int maxIdleSeconds;

  private Server server;
  private final int port;
  boolean serving;

  public GrpcServerImpl(CommandExecutor commandExecutor, Clock clock, int port,
      Path serverDirectory, int maxIdleSeconds) throws IOException {
    super(serverDirectory);
    this.commandExecutor = commandExecutor;
    this.clock = clock;
    this.serverDirectory = serverDirectory;
    this.port = port;
    this.maxIdleSeconds = maxIdleSeconds;
    this.serving = false;

    final AtomicInteger counter = new AtomicInteger(1);
    this.streamExecutor = Executors.newCachedThreadPool(new ThreadFactory() {
      @Override
      public Thread newThread(Runnable r) {
        Thread result = new Thread(r);
        result.setName("streamer-" + counter.getAndAdd(1));
        result.setDaemon(true);
        return result;
      }
    });

    SecureRandom random = new SecureRandom();
    requestCookie = generateCookie(random, 16);
    responseCookie = generateCookie(random, 16);
  }

  private static String generateCookie(SecureRandom random, int byteCount) {
    byte[] bytes = new byte[byteCount];
    random.nextBytes(bytes);
    StringBuilder result = new StringBuilder();
    for (byte b : bytes) {
      result.append(Integer.toHexString(((int) b) + 128));
    }

    return result.toString();
  }

  private void startSlowInterruptWatcher(final ImmutableSet<String> commandIds) {
    if (commandIds.isEmpty()) {
      return;
    }

    Runnable interruptWatcher = new Runnable() {
      @Override
      public void run() {
        try {
          boolean ok;
          Thread.sleep(10 * 1000);
          synchronized (runningCommands) {
            ok = Collections.disjoint(commandIds, runningCommands.keySet());
          }
          if (!ok) {
            // At least one command was not interrupted. Interrupt took too long.
            ThreadUtils.warnAboutSlowInterrupt();
          }
        } catch (InterruptedException e) {
          // Ignore.
        }
      }
    };

    Thread interruptWatcherThread =
        new Thread(interruptWatcher, "interrupt-watcher-" + interruptCounter.incrementAndGet());
    interruptWatcherThread.setDaemon(true);
    interruptWatcherThread.start();
  }

  private void timeoutThread() {
    synchronized (runningCommands) {
      boolean idle = runningCommands.isEmpty();
      boolean wasIdle = false;
      long shutdownTime = -1;

      while (true) {
        if (!wasIdle && idle) {
          shutdownTime = BlazeClock.nanoTime()
              + ((long) maxIdleSeconds) * 1000L * NANOSECONDS_IN_MS;
        }

        try {
          if (idle) {
            Verify.verify(shutdownTime > 0);
            long waitTime = shutdownTime - BlazeClock.nanoTime();
            if (waitTime > 0) {
              // Round upwards so that we don't busy-wait in the last millisecond
              runningCommands.wait((waitTime + NANOSECONDS_IN_MS - 1) / NANOSECONDS_IN_MS);
            }
          } else {
            runningCommands.wait();
          }
        } catch (InterruptedException e) {
          // Dealt with by checking the current time below.
        }

        wasIdle = idle;
        idle = runningCommands.isEmpty();
        if (wasIdle && idle && BlazeClock.nanoTime() >= shutdownTime) {
          break;
        }
      }
    }

    server.shutdown();
  }

  @Override
  public void interrupt() {
    synchronized (runningCommands) {
      for (RunningCommand command : runningCommands.values()) {
        command.thread.interrupt();
      }

      startSlowInterruptWatcher(ImmutableSet.copyOf(runningCommands.keySet()));
    }
  }

  @Override
  public void serve() throws IOException {
    Preconditions.checkState(!serving);

    // For reasons only Apple knows, you cannot bind to IPv4-localhost when you run in a sandbox
    // that only allows loopback traffic, but binding to IPv6-localhost works fine. This would
    // however break on systems that don't support IPv6. So what we'll do is to try to bind to IPv6
    // and if that fails, try again with IPv4.
    InetSocketAddress address = new InetSocketAddress("[::1]", port);
    try {
      server = NettyServerBuilder.forAddress(address).addService(commandServer).build().start();
    } catch (IOException e) {
      address = new InetSocketAddress("127.0.0.1", port);
      server = NettyServerBuilder.forAddress(address).addService(commandServer).build().start();
    }

    if (maxIdleSeconds > 0) {
      Thread timeoutThread =
          new Thread(
              new Runnable() {
                @Override
                public void run() {
                  timeoutThread();
                }
              });

      timeoutThread.setDaemon(true);
      timeoutThread.start();
    }
    serving = true;

    writeServerFile(
        PORT_FILE, InetAddresses.toUriString(address.getAddress()) + ":" + server.getPort());
    writeServerFile(REQUEST_COOKIE_FILE, requestCookie);
    writeServerFile(RESPONSE_COOKIE_FILE, responseCookie);

    try {
      server.awaitTermination();
    } catch (InterruptedException e) {
      // TODO(lberki): Handle SIGINT in a reasonable way
      throw new IllegalStateException(e);
    }
  }

  private void writeServerFile(String name, String contents) throws IOException {
    Path file = serverDirectory.getChild(name);
    FileSystemUtils.writeContentAsLatin1(file, contents);
    deleteAtExit(file, false);
  }

  private final CommandServerGrpc.CommandServerImplBase commandServer =
      new CommandServerGrpc.CommandServerImplBase() {
        @Override
        public void run(RunRequest request, StreamObserver<RunResponse> observer) {
          if (!request.getCookie().equals(requestCookie)
              || request.getClientDescription().isEmpty()) {
            observer.onNext(
                RunResponse.newBuilder()
                    .setExitCode(ExitCode.LOCAL_ENVIRONMENTAL_ERROR.getNumericExitCode())
                    .build());
            observer.onCompleted();
            return;
          }

          ImmutableList.Builder<String> args = ImmutableList.builder();
          for (ByteString requestArg : request.getArgList()) {
            args.add(requestArg.toString(CHARSET));
          }

          String commandId;
          int exitCode;
          LinkedBlockingQueue<Optional<RunResponse>> work = new LinkedBlockingQueue<>();
          Future<?> streamFuture = streamExecutor.submit(streamRunnable(
              work, (CallStreamObserver<RunResponse>) observer));

          try (RunningCommand command = new RunningCommand()) {
            commandId = command.id;
            OutErr rpcOutErr =
                OutErr.create(
                    new RpcOutputStream(command.id, StreamType.STDOUT, work),
                    new RpcOutputStream(command.id, StreamType.STDERR, work));

            exitCode =
                commandExecutor.exec(
                    args.build(),
                    rpcOutErr,
                    request.getBlockForLock() ? LockingMode.WAIT : LockingMode.ERROR_OUT,
                    request.getClientDescription(),
                    clock.currentTimeMillis());

          } catch (InterruptedException e) {
            exitCode = ExitCode.INTERRUPTED.getNumericExitCode();
            commandId = ""; // The default value, the client will ignore it
          }

          // Signal the streamer thread to exit. If we don't do this, streamFuture will never get
          // computed and we hang.
          work.offer(Optional.<RunResponse>absent());
          try {
            Uninterruptibles.getUninterruptibly(streamFuture);
          } catch (ExecutionException e) {
            throw new IllegalStateException(e);
          }

          // There is a chance that an Uninterruptibles#getUninterruptibly() leaves us with the
          // interrupt bit set. So we just reset the interruption state here to make these cancel
          // requests not have any effect outside of command execution (after the try block above,
          // the cancel request won't find the thread to interrupt)
          Thread.interrupted();

          RunResponse response =
              RunResponse.newBuilder()
                  .setCookie(responseCookie)
                  .setCommandId(commandId)
                  .setFinished(true)
                  .setExitCode(exitCode)
                  .build();

          observer.onNext(response);
          observer.onCompleted();

          switch (commandExecutor.shutdown()) {
            case NONE:
              break;

            case CLEAN:
              server.shutdownNow();
              break;

            case EXPUNGE:
              disableShutdownHooks();
              server.shutdownNow();
              break;
          }
        }

        @Override
        public void ping(PingRequest pingRequest, StreamObserver<PingResponse> streamObserver) {
          Preconditions.checkState(serving);

          try (RunningCommand command = new RunningCommand()) {
            PingResponse.Builder response = PingResponse.newBuilder();
            if (pingRequest.getCookie().equals(requestCookie)) {
              response.setCookie(responseCookie);
            }

            streamObserver.onNext(response.build());
            streamObserver.onCompleted();
          }
        }

        @Override
        public void cancel(CancelRequest request, StreamObserver<CancelResponse> streamObserver) {
          if (!request.getCookie().equals(requestCookie)) {
            streamObserver.onCompleted();
            return;
          }

          try (RunningCommand cancelCommand = new RunningCommand()) {
            synchronized (runningCommands) {
              RunningCommand pendingCommand = runningCommands.get(request.getCommandId());
              if (pendingCommand != null) {
                pendingCommand.thread.interrupt();
              }

              startSlowInterruptWatcher(ImmutableSet.of(request.getCommandId()));
            }

            streamObserver.onNext(CancelResponse.newBuilder().setCookie(responseCookie).build());
            streamObserver.onCompleted();
          }
        }
      };
}


If you've been following me on twitter or instagram you already know I've been pretty busy stuffing my face and having fun in NY and I can't wait to tell you guys about it! Between the shopping, the tour at Revlon and the Best of Beauty party I've been gathering plently of beauty material to post on and tomorrow when I go backstage at the J. Mendel show I'm hoping to get more.
In the meantime I wanted to give a quick hi and show you my new FAVORITE pants.
Yes, I wore Target pants to fashion week.
I figure, at least I can assume no one will be wearing the same ones, right?
What is SO amazing about them?
2. BUT they are also blackish gray.
3. YEP, they're reversible. Really reversible though, not the reversible where you never ever want to reverse them.
4. They fit cute and have the perfect amount of thickness and stretch.
can we hear more about your amazing bag?
the brand is deux lux!
Those are perfect camo's! Great length too!
You look super cute babe, have fun today (let us know how you do in those shoes, I've been coveting those, but they look like "2 hr toe strap crunchers"!… right?!
Omg you are so awesome! Keep on keepin' it real sista!
Love! You are so stinkin' cute!
LOVE this outfit– i love when people take camo and "fancy" it up!
I am delighted by your choice to wear Target pants! You look fabulous.
Pants- so CUTE! Shoes- in NYC you must SUFFER in the name of fashion!
Great outfit! Love those Camo pants!
Just goes to show you that you can look like a million bucks on a dime budget!
I'm all about working with you got or buy it cheap!
This couldn't have come at a better time! I have actually been looking for some cute camo pants. Looks like I'll be hitting up Target today! Cara have a blast you deserve it girl!
You look SO cute and i just love how real you are! Thank you so much for being so open with us! LOVE reading everything you have to say. You are so inspirational and so talented!
Those pants look great 🙂 And love your outfit!!
They fit you perfect. I'll have to lose more of the booty before I could go out in them. By the way, I got my WEN products and I LOVE THEM!!! Keep on inspiring girl!
You look adorable in those camo pants with your great figure! Have a blast and tell us all about your week in NY!
I totally love that you can rock target pants at fashion week!!! Who cares about high end, expensive clothing that only the super rich can afford! Style is all about confidence in yourself and darling you own it no matter what the price!!!
Rocking Target pants at Fashion Week is AWESOME!!! LOVE IT!!!
Once again…. You are awesome!!!
I love those! I'm headed to buy them right now!
Okay I have tried on these camp reversible Target pants and they were HORRIBLE on me, I'm insanely jealous they look so amazing on you!! So happy for you that you're enjoying yourself in NY, you deserve it!
I think you could make a paper bag look cute;) I love them!
Been watching all your fun stops on Instagram! Looks like a true blast!
went onto target website link but cant find these camo pants. waah! you look cool- not trying to hard and love that you wore target and a" t" to fashion week. that's new york chic without the price tag.
Love the pants… and you really rock them! Please give us more details on your handbag. I googled Deux Lux, but didn't see it! Maybe you know the name of it or a number from a tag inside?
It's actually a Stella McCartney bag. Fallabella.
Those pants look amazing on you! A definite yes for Fashion Week!
You look fabulous!! LOVE those camo pants, I can't believe they are from Target!!
LOVE the pants! Target has some good finds! Hope you're having tons of fun! thanks for sharing!
Cara you look gorgeous as ever 😉 Just wanted to share….Im currently wearing a shirt that looks IDENTICAL….got it at Kohls though for $12!
Who says you can't look great with out spending a ton of cash? Fantastic FW outfit.
I've been following your adventure on Instagram, you look amazing and like you are having such a great time!
Beautiful!!! What brand are your sunnies?
Oh my gosh, I love those pants!
I love that you wore Target pants to Fashion Week! You go on with your fierce self, Cara!!
I loved the look, but you should have mentioned the Stella Mccartney bag, it´s amazing!


What a gorgeous sunny day for a wedding in the heart of the new forest, at the stunning East Close Hotel Hampshire. TodayIt's the turn of Rob and Hannah to tie the knot!
I have known Hannah for some time, she is a former florist and that is how we originally met. You can imagine how chuffed I was when she asked me to photograph her special day.
The day started as normal, I was greeted with the sound of various bottles of fizz being opened and lots of laughter and girly giggles. I got under way with the bridal prep photos before the horse and carriage arrived to pickup the beautiful bride. At this point I left the ladies to do the finishing touches as I headed off to meet rob at the hotel/BAR ;).
He was a tad nervous but looking forward to marrying Hannah, who didn't take long to arrive and the ceremony got under way.
After the ceremony we made use of the stunning country grounds for some lovely portraits of the happy couple, shortly followed by speeches and the first dance.
It was a truly lovely day seeing someone that I have know for sometime get married!


A woman wearing a strapless gown and sporting a necklace with an airplane as the locket sees a young man staring at her at length during a party. After the party the woman asks: "Wear you admiring my airplane?" Man:"No, I was admiring the landing field."
Redneck Haircut Adult Swim Technically and Reality?
Yo Mama's so Dumb... Fish Bulimic Bachelor Party I Am Confused. Really, Really Confused.
Bed Football Y'might Be A Redneck What do a lawyer and a sperm have in common?


Education is a spiral process by which new information is assimilated with existing knowledge. To that end, at Ascend we structure our classrooms and curricula to generate questions and inspire curious minds. In our classrooms, teachers model and require inquiry based thinking, planning, implementation and reflection as part of every lesson. Through this process, students learn how to investigate topics thoroughly and gain a comprehensive understanding of each subject area. Rigorous academic skills are embedded in the context of this inquiry-based work. Our classrooms create reflective and analytical learners who develop thinking habits that make them interested and interesting students.
Each classroom at Ascend is purposefully designed to be an interactive laboratory where the student conducts his/her research. Given the opportunity to construct their own understanding, students will learn differently. Each child has unique talents, ways of thinking and levels of understanding. Each student brings to the classroom a set of prior learning experiences and values from their family and community. We believe and build upon the fact that all of these differences are important to our understanding of individual students and how he/she makes sense of the world.
We anticipate that students will learn at different rates and expect that learners of the same chronological age will be at different places in their social, emotional, and physical development. The job of the teacher is not to create a single perfect curriculum or lesson, but rather to interact with individual students carefully and create individualized instructional strategies based on what each child needs at each stage of their learning process. As a baseline, teachers work to make sure that students are working at their current grade-level, yet the individualized curricula at AIS makes it possible for individuals to also study material beyond their current grade level.
Teaching at Ascend demands the highest level of professional commitment. Our teachers express confidence in our students, sharing a conviction that all children are naturally curious, want to learn and in fact, rise to meet any challenge. Teachers at Ascend set high expectations for every student, inspire students to go beyond self-imposed limits, ask probing questions, and support students with specific, constructive feedback. Our teachers take every opportunity to work with individual students. In these conversations, teachers coach and assess a child's level of thinking. Using these interactions and observations, teachers at Ascend are always working to generate the next challenge for each individual student.
Our teachers also collaborate and share insights with one another; setting high expectations for themselves and their colleagues. At Ascend, there is a constant flow of conversation about children and the curricula that supports their development. Every teacher, administrator and staff member is an important role model and takes responsibility for the character development of our students.
4) develop the critical thinking skills necessary to apply these skills and concepts in a variety of problem-solving arenas.
At the end of their careers at Ascend, we expect our students to see themselves as able young adults with a broad base of strategies and skills with which they can engage the world around them. Students in our school demonstrate strong ownership of what they are doing and exhibit an agency to learn that is not always seen in traditional, teacher-led classrooms. Students at Ascend are taught to be internally motivated to create their best work. In this model, students work hard and succeed not to please others but rather, because it is intellectually fulfilling and an integral part of their learning profile.
The ability to work with others, innovate and expand upon ideas and reconsider one's own understanding are necessary tools for the 21 to build, practice and enhance these skills. It is vital for students to learn to explain their thinking, to consider alternative perspectives, to build on someone else's ideas, and to reconsider their own thinking based on feedback from others. Teachers at our school expect students to collaborate to solve problems, to plan activities, and to work together on whole class projects. When students are exposed to multiple strategies for solving a problem, they become more flexible in their thinking. Students develop an international mindedness, which allows them to interact with a wide range of people and feel comfortable in both leadership and support roles.
The sanctity and importance of each student's learning style and personal work is a core value that teachers and parents at Ascend share. To build the best possible environment for each student; teachers, parents and children communicate regularly about the accomplishments and future goals for each student. The Ascend curriculum provides students with opportunities to connect their curricular experiences and individual talents with meaningful service. Whether learning about community resources through field trips, researching historical events, or engaging in a service project, Ascend students participate in meaningful learning within the broader community. Connecting with local and global organizations and communities enriches students' understanding of cultures, teaches civic responsibility and engagement and strengthens their understanding of our global community.
As our students learn to innovate, create and evolve beyond their current understandings, it is crucial that they maintain the core values and rich traditions that are true to the Indian culture. In each intellectual and social endeavour, we expect our students to share the generosity and humbleness that is a part of the Indian heart. Thinking of others before oneself and working to help others succeed are values that are reinforced and demonstrated daily at Ascend. Our curricula ensures students develop an understanding of the unique cultural heritage of India, while situating this understanding in a global context. Thinking of others before oneself and working to help others succeed are values that are reinforced and demonstrated daily at Ascend.
Modern India demands that students not only understand and appreciate their role in Indian culture but in the broader global community as well. Throughout their careers at Ascend, students are supported to consider multiple viewpoints and perspectives and to learn widely about the world around them. With this knowledge comes the responsibility to actively contribute to a broader community. Students from Ascend pursue opportunities to enhance the lives of others and to support the health and well-being of our planet. We teach our students not only about their community, but also about the universal commonalities that connect us all to one another. Students learn to listen carefully to others, to help one another, to share what they have learned, to coach one another, to participate in-group discussions, to hone their individual skills and develop areas of expertise. We believe that developing understanding and compassion for different languages, cultures and perspectives and empathy for the needs of others is essential to the moral development of a child and the creation of compassionate global citizens.
Ascend supports the development of healthy minds and bodies and educates students about the importance of balance for overall wellbeing. Students begin their physical education career at Ascend building movement skills, body awareness, and essential gross motor skills while also learning healthy eating habits and understanding foundational principles of yoga. As students develop, athletic choice commitment, competition, and teamwork are the core values that drive the athletic programme. Participation in sports is an important element of educational excellence at Ascend.
Unique to Mumbai, this spectacular new state of the art facility is located in the Banda Kurla Complex across the waterway from the Bombay University midtown campus. Ascend's unique educational spaces are cutting edge, open and purposeful, designed to emphasize collaborative work amongst students and reflect the open design and layout of modern architecture.
Ascend's classrooms are designed specifically for the experiential learning educational model. Therefore, the learning spaces do not resemble traditional classrooms.
Classrooms are larger and function more as studio workshops with worktables, informal gathering places and private study nooks.
The classrooms of each floor are interconnected with unique child-sized passage doors allowing cross-class work and sharing of discoveries.
Classrooms are situated around a central multi-purpose studio for project-based work and investigations.
"When I wake up I think about how going to school is fun because there are so many things you can do, like make stories, read books, lead Class Meetings and share ideas. In Math Vitamin I get to use lots of different strategies, like I know strategies to build big numbers really fast!"
"My kids started at Ascend in 2012. It has been an amazing time for all of us. The kids are happy to be school. They would love to go to school even on Saturdays. The teachers are amazing. My discussions with the faculty about my kids progress and learning are always enlightening."
"Ascend has an environment that is supportive and trusting. This gives me the freedom to plan projects which are highly student-driven. Our young artists are constantly encouraged to enjoy the process of creating art, while maintaining a high standard in their work. "
"Ascend's teaching philosophy and methodologies are closely mapped to those from a validated program at UCDS, Seattle. Math Vitamin, one of the teaching methods from there has given both our children a love and understanding for math. Our 5 year old daughter told us she "loves Math Vitamin because its fun especially when it gets hard"."
The school newspaper 'The Monthly Assent' was set up at the start of the 2017/18 academic year as part of 'Newspaper club'. This is a club which meets every week and is run by two middle school teachers and a small group of passionate and driven Ascend International students. The newspaper is created and edited by the students, all part of the middle school, who are responsible for contributing/finding interesting and newsworthy articles for the paper every month.
Follow us on instagram page.


text:
"I Wanna Dance With Somebody" (opens in separate window)
top 10 reasons you should own an AR-15
in a recent item for The Federalist, David Harsanyi considered the M16 rifle one of the five most innovative firearms in American firearm development history. Yet something equally significant can be said about the semi-automatic AR-15 derived from the M16. Second to the muskets used in our revolutionary and civil wars, the AR-15 may be the most important firearm in American political history.
All told, more Americans have fired more rounds from more AR-15s for personal defense, defensive firearm training, marksmanship competitions, individual practice, and hunting than from any other rifle. For that reason, the AR-15 is the primary firearm upon which Americans would rely if they had to fight for freedom today.
Here are 10 reasons to own at least one AR-15 and to become skilled in its use.
1. Being armed is your right and may be your civic duty.
On the one hand, for defense against common criminals, handguns can have advantages over the other two basic types of firearms: rifles and shotguns. Within and away from the home, a handgun carried in a holster is always within reach. Also, a handgun is more easily wielded with one hand, while the other hand dials 911; opens or closes a door; pulls, pushes, or carries someone to safety; or is injured.
In the 42 states that have fair procedures for issuing permits to carry firearms away from home or that don't require a permit to do so, handguns are easier to carry because they are lighter and more compact, therefore more easily concealed. In addition, in some states, handguns are the only type of firearm a permit authorizes a person to carry.
On the other hand, common criminals are not the only threat, nor even the primary threat, because of which the Second Amendment prohibits government from infringing the right of the people to keep and bear arms. The late civil rights lawyer Don B. Kates, in "The Second Amendment and the Ideology of Self-Protection" (1992), explained why:
In the tradition from which the second amendment derives it was not only the unquestioned right, but a crucial element in the moral character of every free man that he be armed and willing to defend his family and the community against crime. . . . Moreover, arms were deemed to protect against every species of criminal usurpation, including 'political crime,' a phrase the Founders would have understood in its most literal sense. Whether murder, rape, and theft be committed by gangs of assassins, tyrannous officials and judges or pillaging soldiery was a mere detail; the criminality of [what Thomas Paine termed] the 'invader and plunderer' lay in his violation of natural law and rights, regardless of the guise in which he violated them.
2. The AR-15 is the most useful firearm with which to defend against 'every species of criminal usurpation' because, first and foremost, it is a rifle.
One day, new technologies in "arms"—"weapons of offense, or armour of defence," according to a popular Founding-era dictionary—will be introduced, and we should object to the rationale the Supreme Court has established for upholding laws that would prohibit people from owning them. However, for the present, rifles are the type of firearm most useful for the entire range of defensive applications, which, in addition to defense against common criminals, includes the three historic purposes of the militia: repelling invasions, suppressing insurrections, and defeating tyranny, the latter the threat the Framers had in mind when they adopted the Second Amendment.
Most of us don't have to worry about seaborne invasions today, because would-be invaders could not cross the Atlantic or Pacific oceans past our Navy, Coast Guard, and Air Force, and illegal entries into the United States via land routes are being handled by our Border Patrol; state, county, and local law enforcement officers; and National Guard (the militia's organized component, unless federalized), with support from our military.
Most of us don't have to worry about insurrections, either, except perhaps in Portland, Oregon, where police officers recently obeyed their Democrat mayor's order—like German police did during Kristallnacht—to stand down while a leftist rabble attacked some people, threatened others, and destroyed property.
By process of elimination, that leaves being prepared to defeat tyranny as the most relevant of the militia's purposes today, as James Madison and Alexander Hamilton envisioned in The Federalist Nos. 46, 28, and 29. That is to say, not to merely "resist" tyranny, as the late Justice Antonin Scalia, mischaracterizing Justice Joseph Story's "Commentaries on the Constitution," pretended in District of Columbia v. Heller (2008, pp. 24-25), and certainly not to do so unsuccessfully (Heller, pp. 55-56).
Being prepared to defeat tyranny is relevant for another reason. When the left achieves absolute power in a country, it murders its political opponents.
The best way to deny the left absolute power in America is by defeating its candidates in every election, from president to dog catcher. As the Chinese military theoretician Sun Tzu wrote in "The Art of War" 2,500 years ago, "to win without fighting is the acme of skill." But as a precaution, we might be wise to remember the French and Indian War's Maj. Robert Rogers' "Rules of Ranging," the second of which is, "Have your musket [yesteryear's M16 or AR-15] clean as a whistle [and] be ready to march at a minute's warning."
In any event, rifles are the type of firearm most useful for the entire range of defensive applications because they are inherently more accurate than handguns and shotguns, are easier to shoot accurately, are more powerful across the greater distances at which they are effective, and can hold more rounds of ammunition. When armed with a rifle, a handgun's primary purpose is to be ready in the holster in case the rifle runs out of ammunition or malfunctions.
3. The AR-15 is a semi-automatic rifle.
Having failed to get handguns banned in the 1970s, disarmament activists, Democrat politicians, and their supporters in the news media began vilifying semi-automatic rifles, a category of firearms introduced in the late 19th century. In the 1980s, The New York Times, Newsweek, and an anti-gun activist linked to domestic handgun prohibition and international disarmament groups claimed that semi-automatic rifles were popular with "private societies" of Christians and Jews, "paramilitary extremists," "survivalists," and other "fanatics of the far right."
When such claims didn't convince anyone other than fanatics of the far left, the anti-gunners began complaining instead that the rifles have pistol grips (like every handgun invented over the last few hundred years) and that some have adjustable-length stocks (like rifles used in Olympic and other precision-oriented marksmanship sports).
Ergonomic grips and stocks that are adjustable to the user's physique and clothing can be advantages when firing a rifle. However, as explained by Maj. Gen. Julian S. Hatcher, former commanding general of the U.S. Army Ordnance Training Center and chief of Ordnance Training Service, in his 1947 book, "Hatcher's Notebook," the primary benefit of a semi-automatic rifle, as compared to a rifle requiring manual operation of its loading mechanism between shots, is that you can continue holding a semi-automatic rifle normally, keeping sight of your target, while it reloads itself, and be ready to aim your next shot once the rifle stops recoiling from the previous shot. This is particularly easy with the vast majority of AR-15s, in part because they use relatively lightly recoiling ammunition.
4. The AR-15 is one of the most validated rifles in history.
The Model 1898 Mauser, Lee-Enfield, Moisin-Nagant, and AK-47 probably win on this count, but the AR-15, introduced in 1963, isn't very far behind. Americans privately own several million more AR-15 rifles and carbines than the number of M16s and carbine-variant M4s in military inventory, and they buy about 1 million new AR-15s every year.
Over the last 55 years, the AR-15 has been improved more often and in more ways than the M16 and M4, and today it is the most versatile semi-automatic rifle in history. It is more accurate and, properly maintained, more reliable than the supposedly ultra-reliable AK-47 and the legendary M1 "Garand," which, during World War II, Gen. George S. Patton called "the greatest battle implement ever devised." Furthermore, some AR-15s exceed military specifications for the M16 and M4 in terms of accuracy and quality controls related to durability and reliability.
5. The AR-15 is the most modular rifle in history.
AR-15s can be configured for the two practical purposes of firearms—fighting and hunting—or for competitions or informal practice. There are versions with rifle length, carbine length, and shorter barrels, some of which are designed to emphasize accuracy, some to emphasize durability. They can be had with fixed-length stocks or with the adjustable-length stocks Democrats don't want you to have.
Slings designed for the AR-15 allow you to support the rifle across your front to be ready for use, stabilize the rifle when aiming, switch quickly between right-handed and left-handed shooting, quickly secure the rifle to your side when transitioning to your handgun, and secure the rifle across your back when you need both hands free to perform some other task.
AR-15s have the best iron sights ever invented for a fighting rifle, they're commonly equipped with red dot and telescopic sights, and they can use night vision and thermal sights. They're also commonly equipped with handguards that accommodate flashlights, visible lasers, infrared illuminators, and infrared lasers for use in low-light conditions.
All AR-15s—except for those manufactured during the 10 years the federal "ban" on so-called "assault weapons" was in effect, those manufactured in disfigured form to comply with the laws of several states dominated by Democrats, and a few others—have attachments that mitigate recoil, dissipate the puff of smoke and flash of light associated with firing a rifle, or both. Additionally, some of those attachments accommodate devices that reduce the loudness of gunshots, to protect your hearing and to make it easier to hear safety-related instructions when training or practicing on a supervised range.
6. In most cases, you can fix your AR-15 yourself.
If Never Trumpers, self-styled conservative purists, and "independents" don't vote Republican in November 2020, and the following year a Democrat president and Congress ban AR-15s (for real, this time), you will be able to keep your previously acquired AR-15s running with a handful of relatively inexpensive, previously acquired parts that you can install yourself, without the services of a gunsmith. No other firearm, with the exception of the Glock pistol, is so easy to maintain.
Because the Democrats' gun ban would include a ban on magazines holding more than 10 rounds and would cause a run on ammunition, you might be wise to also stock up on a dozen or more standard-equipment, 30-round magazines, several 20-round magazines, and a case or two of M193, M855, Mk 262, or Mk 318 ammunition, the primers and case necks of which are crimped and sealed for increased reliability.
One other thing: remember to watch out for the nuclear bombs that Democrat presidential hopeful Rep. Eric Swalwell wants the military to drop on you for refusing to hand your AR-15s over to the government.
7. The AR-15 is the rifle most commonly used for defensive firearm training.
Some people believe they are skilled with a gun because they own one. Fortunately, most never find themselves in situations in which that assumption costs them their lives. Anyone who is serious about being capable of using firearms proficiently for defensive purposes should take classes with instructors who specialize in defensive skills training. When you attend such classes, almost all of your instructors and fellow students will be using AR-15s.
8. The AR-15 is the rifle most commonly used for marksmanship competitions.
Some gun hobbyists think competitions are important for their own sake. However, from a defense-related perspective, competitions have value to the extent that they support training objectives and provide a venue for testing and validating product improvements.
As they are currently conducted, competitions have next to zero value in terms of offensive or defensive tactics training, but you can nevertheless benefit from participating in the action-oriented variety of them because they include target-shooting scenarios that will show you some of the skills in which you are weakest, thus upon which you need to work.
9. If you are skilled with your AR-15, you can help prepare young Americans for military service.
Want to "support our troops" in a tangible way? Get trained and share your knowledge with tomorrow's uniformed warriors before they sign up for duty. The manual of arms for the AR-15 is identical to that of the M16s and M4s that are issued in the military. Recruits have to qualify with their rifles during basic training, and those who already have experience with the AR-15 will be ahead of the game in their knowledge of safety procedures, marksmanship, loading and unloading procedures, and malfunction clearing procedures.
10. The more Americans who own AR-15s, the more likely the Supreme Court will consider them "in common use."
As I explained in an essay for The Federalist earlier this year, in Heller the Supreme Court incorrectly said that the Constitution protects the right of the people to keep and bear only such arms as are "in common use." One of the many problems with that idea is that no matter how many AR-15s there are and how many Americans own them, judges and justices who don't want you to have them can claim that they aren't common enough to be considered "common." However, until that portion of Heller is corrected, the more Americans who own AR-15s, the ever so slightly harder it will be for those judges and justices to do that with a straight face.
© December 12, 2018 By Mark Overstreet,"The Federalist".
I slept-in until 8a on Friday, with only 1-2" of snow on the ground, 16°, fired-up the furnace and made Kona Hawaiian Coffee, scanned the weather maps and news. I was feeling nauseous, so all I had was a couple of slices of Potato Bread toast, w/ Apricot Marmalade. Then I had to drive to Rite Aid Pharmacy to get a Rx drug printout from Jan 1 – Dec 31, 2018, and p/u 3 Rx refills. Lee stopped by with some food after spending 3-4hrs at the New Eastern Market, here in East York. That place is only open on Friday, and parking is a bitch, unless you get there early.
Years ago, I used to go; besides York's superb downtown Central Market, it's the best for fresh food of all kinds, especially meats, seafood and the local Lancaster & York farmers' crops.
Damn, here we go again, with Winter Storm "Harper":
IN EFFECT FROM 1 PM SATURDAY TO 1 PM EST SUNDAY...
• WHAT...Heavy mixed precipitation expected. Total snow and sleet accumulations of 3 to 6 inches, with localized amounts up to 9 inches, and ice accumulations of up to two tenths of an inch are expected.
• WHERE...Adams, York and Lancaster Counties.
• WHEN...From 1 PM Saturday to 1 PM EST Sunday. Heavy snow will move into the area Saturday afternoon and change to sleet then freezing rain before midnight. A change to all rain may occur overnight. The heaviest of the snow will be in the late afternoon and evening. Sleet and freezing rain accumulations overnight could also be heavy.
• ADDITIONAL DETAILS...Plan on difficult travel conditions. Be prepared for significant reductions in visibility at times. Precipitation will taper off around sunrise Sunday, but the wind will become stronger and cold air will drop the wind chills and produce blowing snow.
The Pennsylvania Department of Transportation and Pennsylvania Turnpike Commission strongly encourage motorists to heed all travel restrictions and delay unnecessary travel. Visit www.511pa.com for the latest travel, roadway and traffic conditions.
I skipped lunch and made a mid-afternoon dinner Grilled Ham & Cheese w/ Potato Chips, I believe in simple things, like the miracle this day brings. had some Red Raspberry Gelato, and laid down on the LR couch to rest. After a few hours, I was back up at 7p, watched History Channel's "Ancient Aliens" and Discovery's "Gold Rush", until 11:30p, took my evening Rx pills, put-in the 2 types of eye drops, and went to sleep. Tomorrow's weather be damned; I'll just stay inside if it gets bad.
Looks like the socialist, fascist, leftist, commie demokkkRATs are about to have a internal civil war; have at it, subhuman filth! Pass the popcorn.
Up at 8:45a, I fired-up both the furnace and computer, made coffee, and of course, checked the weather and news. Now, we're getting the snow/rain/ice today, tonite and tomorrow. Depending on how far north the worst hit, we could get by easily; or not, if it plows right thru our area. I skipped breakfast, had a couple of Ensure® Max Protein Shakes®, and drove over to Rite Aid to p/u another Rx refill. It sure looked and "smelled" like snow, but it was 35° and the snow and ice would come later today, when temps drop. I avoid the "Shutdown Day 27... 28... "news crap", for Fun and Laughs, and try to listen to CATV, "Chris Plante Show" etc.
How dumb is the coming generation. Pretty dumb, as it turns out.
After a huge lunch of PA Dutch Chicken Pot Pie and Pistachio Gelato, I settled-in and watched a boatload of Discovery Channel®'s "Garage Rehab" episodes, kept checking the Weather Channel® weather maps, put the Jeep away in the garage, and walked my next door's dog for her, since she was just getting-over pneumonia, after a triple bypass. This was one small dog who didn't yap at me, or try to bite my ankles. Nice doggie. The freezing rain, sleet, ice and snow hit Harrisburg at 3:30p and descended upon us around 5p.
So many faces in and out of my life; some will last, some will just be now and then.
Is there no reason to hit a woman?
I'm (maybe) leaving the condo at 11p, to drive down to the Ol' Garden Center & Nursery property, on Sunday evening, where it's dark, to watch the rare Super Wolf Blood Moon Eclipse, at 11:41p. I have Dad's set of 40x binocs, and will wear some heavy clothes, as it's to drop to 4°F tonite. If I see any UFOs, I'll note that, too.
Super Wolf Blood Moon Eclipse
The MotorTrend® Channel (formerly Velocity Channel) had one of my favorites, "Iron Resurrection" on, with a pile of episodes, so I watched as the rain turned to a sleet/ice snow mix. NatGeoTV had "CIA Secret Experiments", "Area 51: The CIA's Secret", "Air Force One: America's Flagship" and a host of shows on that I couldn't resist, until after midnight. I pulled the plug, as the sleet/snow/ice intensified.
It was a big disappointment when I got up at 9:30a on Sunday morning: no snow. Just 3¼" of water in the garden water gauge. No ice, even. F•ck it; I made coffee, turned-up the heat, fired-up the computer to have a look at the weather maps. Bitter cold is on the way, but that's easily dealt with. So will be next weekend's new Snowstorm.
I was planning to leave at 11p, to drive down south to watch the rare Super Wolf Blood Moon Eclipse, at 11:41p, but ummmmmm, it's already 11°F outside. And with 35-50mph wind, it's well below -10°F. Maybe I'll pass on that kind of cold, and just watch the video on YT.
When I the 82" Samsung delivered and installed, back in November 2018, I added a streaming service called Roku, and it's wonderful. For the past 2 days, it's been freezing-up and not obeying commands. So I pulled that TV slowly 3ft away from the LR wall, unplugged and replugged the Roku USB, and that cured the problem. I watched various episodes of Project Blue Book, and American Pickers, and Bad Chad Customs until 11:30p, and pulled the plug.
Up at 8:30a on Monday, it was only 8° outside (-17° wind chill) with 35-40mph winds, I layered-up clothes, fired-up the furnace, made coffee and turned-on WMAL's "Chris Plante Show". I'd forgotten it was a National Holiday – MLK Jr – and that all gov't, banks and schools, plus many private businesses would be inconveniently closed, for that commie, drug-addicted, white women humping asshole. I had a small food shopping list for Weis Market, so around 10:30a, I decided to get out, get the mail and go to Weis to get some foodstuffs. The roads were empty. As usual, I bought 2-3x what I needed; heh. MEMO To Self: always go to food store on a full stomach.
Back home and after unloading groceries, I worked on 2018 Taxes, for the next 5hrs, but I'm waiting for financial and other forms to arrive from banks, investment houses, medical, SSA, etc. No CATV or any other noise. By 7p, my eyes were crossed, and I'd had enough paperwork. The "American Pickers" was on History Channel, so I joined-in as their 20th Season opener was at 9p. I watched it, and promptly dozed-off until almost midnight. I pulled the plug and headed upstairs. I was 11° and headed down to 5°, so I left the condo's temp at 73°. Wind chill -3°. Tomorrow I'm sleeping-in until 10a, or later if I can.
I slept-in until 9:45a on Tuesday, to a sunny, balmy 16° day. With my Rhododendron leaves curled tightly, at the back broken flagstone patio, from thermotropism, you just know temps are in the low-teens and single-digits. I had some errands to get done, and a few stops to make, so I got those done after a late breakfast of Sunny-Side-Up Eggs on Toast, I was back home by 12noon to sweep-out the garage, have a smoke in there, leaving the Jeep out in the sunny, balmy 24° weather. I had the Dyson Hot+Cool Fan Unit running in my office/sunroom all day, as I kept the condo at 75°, but that futuristic heater/cooler really helped. I went to my Ophthalmologist's office for #1 of #2 app'ts. Still doing the 5 drops of 2 Rx drops in each eye.
At 1p, I heard water splashing in the kitchen, and rushed in to find the dbl sink's wastewater line leaking all over the floor, pouring out of the doors below the sink. I got everything out of the space, dried it all off, dried the floorboard under the sink, and put a pile of towels under the leaking pipe. I tightened one of the fittings with my adjustable wrench, but couldn't get at the main fitting collar to tighten it, so I called several plumbers, and they were all busy with frozen/broken water pipes calls and repairs. I then called Jeff Stott, my condo's rehab GC from last Fall, and he said he'd have his company's plumber out by 5p. He showed-up, fixed the leak (pipe had vibrated loose and gasket fell out to let wastewater out, I tipped him $50, and he was done by 5:30p.
Remember, when you're feeling "down in the dumps", it could be much worse.
I watched the new, and some previous, episodes of both Curse of Oak Island, and of Project Blue Book caught the Accu-Weather.com's Winter Weather Advisory for Thursday-Friday, until 11p, and bagged it for the night.
Up at 9:30a on Wednesday, with an almost-tropical 40° outside, I fired-up the furnace and computer, made coffee and instant oatmeal w/fresh red raspberries, and scanned the weather and news websites. The next 2 days are to be just rain, changed from snow, and in the upper-40s/lower-50s. No complaints from me. I worked on taxes again for the day, after a run to Rite Aid for an Rx refill. Looks like the IRS employees don't give a shit about showing-up for work, but we all have until March 15th to file our taxes.
I needed a break from the 2018 Taxes' paperwork – I'm about a quarter of the way done, and still waiting for forms to arrive – so I watched the Science Channel's "Mysteries of The Abandoned", as Wednesday is a lousy day for History, Discovery and NatGeoTV: just shit/garbage/trash on them all day long. BTW, in case you like the series, as I do, here's the "American Pickers" 18 Seasons vault of 269 episodes. And if you can stream your CATV or computer, as I do, here's a huge repository of their shows.
Wednesday night is "NBC" (Nothing But Crap), but fortunately the MotorTrend® Channel (formerly Velocity Channel), had some new season show episodes I'd missed, so I spent the evening watching them, until 10, when I took my evening Rx pills, and pulled the plug for the night. The cleaning ladies are due here at 8:30a, and I have some errands to do, so I can't sleep late. I set the alarm for 7a.
The hard rain pounding on the condo's 4 skylights and BR's 2 windows, woke me at 2:30a on Thursday, and I couldn't get back to sleep. Too many weird dreams, and too many things on my mind. I fired-up the furnace, made coffee in the two-week-old new Chemex® Ottomatic® 2.0, fired-up the computer and checked the weather and news. I made Eggs Benedict on English Muffins, and Potato Pancakes, and then laid down on the LR couch, but my right shoulder muscle was hurting so bad, I just couldn't fall asleep.
I finished the 6 cup coffee pot, and just before the cleaning ladies arrived at 8:30a, I left for Weis Market to get a few things. This time on a full stomach, so I didn't buy a bunch of extranneous crap I didn't need. My shirt cleaners near Weis, DeVuono's, is closing after 20+yrs, so I'll have to drive 12 miles south to Red Lion's cleaners, same company, where I used to go, when I had my Ol' Garden Center & Nursery, from 1990-2012. The ladies were done and gone before I got home and had put my first set of White/Grey Windowpane Flannel Sheets on the bed, with two other sets rotated weekly thru the Winter months: Blackwatch Plaid Flannel Sheets and Montlake Plaid Flannel Sheets.
I fell asleep on the LR couch, for a few hours, watched some "American Pickers" and "Vegas Rat Rods", took my evening Rxs, and called it quits at 10, since I have a 10a Drs app't tomorrow. Tomorrow starts a new week here in the Journal, and the surgical procedures will begin again in February and March, so I have a week or two until things get serious.
Wrong MAGA Kid Was DOXXED & Threatened; Brother Speaks Out.
People rushed to judgment about some — as it happens, innocent — Catholic school boys in MAGA hats who thought they were clapping to a friendly Native's drumming over the weekend in D.C. It was a nothing burger, but the media and liberal/leftist mob, as usual, ripped into the kids, drumming up hate.
THEY DOXXED THE WRONG CHILD!
The social media haters doxxed the wrong kid. They claimed the 'smirking' boy was Michael Hodge and it wasn't. The boy didn't even go on the trip.
This is the real Michael Hodge, and it's not the 'smirking' boy.
The vile mob is insulting this cute kid now.
THE BROTHER OF THE WRONGLY DOXXED KID SPEAKS OUT.
The brother of this falsely accused Covington Catholic High School student doxxed by the mob, Andrew Hodge, took to Twitter to share the terror his family is experiencing with his younger brother, Michael, being falsely identified as the 'smirking,' MAGA hat-wearing student standing in the vet's face.
"Yesterday was supposed to be a day of celebration for my middle brother Alex, who got married last night. Instead, my family had to deal with the fallout of my youngest brother #MichaelHodge being falsely accused for standing & smiling in front of an indigenous man with a drum," the elder brother tweeted.
He shared several tweets describing the abuse and threats the family and their business are being subjected to. He described what a great kid his brother is, and added they [the mob] should hold themselves to a "higher standard."
ALL THE BOYS ARE INNOCENT.
Andrew Hodge shared AG Conservatives thread which is a good one if you want to look at evidence. The Sentinel put out stories from the beginning since we knew the players and realized it was a typical leftist assault, plus we research these stories first. Read here and here and here. Our first story for which I received hate mail was, MSM Is Lying About the Boys in MAGA Hats Mocking a Native-American.
Watch the spliced tape and read the boys' account if you don't believe me.
THIS HOLLYWOOD HATER WANTS THEM KILLED!
Hollywood producer Jack Morrissey, who has since protected his vile tweets, is calling for their deaths. It would have been better if he apologized, but members of the mob don't. They shirk responsibility and cower under the desk or in his case, behind protected tweets.
Jack Morrissey needs killing!
Independent reporter Tim Pool wrote: This Native American / MAGA kids incident is a dangerous warning to all of us. It's a video where literally nothing happens yet all of these people are freaking out like the world is ending. Very few people care about the truth they just want to be angry.
Sorry Tim, but if they didn't learn with the Justice Kavanaugh assault, they are incapable. The mob is blinded by hate and irrationality.
THIS IS A GREAT IDEA!
Scientists Discover New Element: –Pelosium
A major research institution has just announced the discovery of the densest element yet known to science. The new element has been named Pelosium. The chemical symbol of Pelosium is Pu. Pelosium has one neutron, 12 assistant neutrons, 75 deputy neutrons, and 224 assistant deputy neutrons, giving it an atomic mass of 311. These particles are held together by dark particles called morons, which are surrounded by vast quantities of lepton-like particles called peons.
Pelosium's mass actually increases over time, as morons randomly interact with various elements in the atmosphere and become assistant deputy neutrons within the Pelosium molecule, leading to the formation of isodopes. This characteristic of moron-promotion leads some scientist to believe that Pelosium is formed whenever morons reach a certain quantity in concentration. This hypothetical quantity is referred to as Critical Morass.
When catalyzed with money, Pelosium activates MSNBCobnoxium and CNNadnausium, both elements that radiate orders of magnitude more energy, albeit as incoherent noise, since they have half as many peons but twice as many morons as Pelosium.
Since it has no electrons, Pelosium is inert. However, it can be detected chemically as it impedes every reaction it comes in contact with. According to the discoverers, a minute amount of Pelosium causes one reaction to take over four days to complete when it would have normally occurred in less than a second. In the presense of anti-morons, Pelosium can be extremely corrosive. Botox seems to distort and smooth it's surface, without impeding it's ongoing decay.
Pelosium has a normal half-life of approximately two years, at which time it does not decay, but instead undergoes a transmutation, appearing in a new location but displaying the same properties. In this process, assistant neutrons, vice neutrons and assistant vice neutrons exchange places. Some studies have shown that the atomic mass actually increases after each transmutation.
Research at other laboratories indicates that Pelosium occurs naturally in the atmosphere. It tends to concentrate at certain points such as government agencies, large corporations, universities, and anywhere there is news coverage occurring. It can usually be found in the newest, best appointed, and best maintained buildings.
Scientists point out that Pelosium is known to be toxic at any level of concentration and can easily destroy any productive reaction where it is allowed to accumulate. Attempts are being made to determine how Pelosium can be controlled to prevent irreversible damage, but results to date are not promising. (Anonymous Email)
★A 70% tax rate?? This is the proposal that will bring in American votes - Yeah Right.
★Government run healthcare "Medicare for all". Yeah Obamacare skyrocketed premiums. So instead lets Tax them to a literal death with European style healthcare.
★Abolish the Electoral College so that New York, California, and Illinois rules - the little states be D*mned.
★100% renewable Energy. Lets just ban gasoline and diesel vehicles like Trucks and Cars, and depend on wind and solar energy for our needs even though they are not dependable nor sufficient.
★Ban Guns. Who cares if illegal Aliens come across the border with them. Our Ranchers deserve to die and don't need no stinking 2nd Amendment. For that matter so do US Citizens, they don't need to protect themselves from MS-13, we Democrats will get around to protecting them eventually.
Well, here we are again, I guess it must fate. We tried it on our own, but deep inside we've known, we'd be back to set thing straight.
Behold a pale horse, and he who sat on it had the name Death; and Hell was following with him. Authority was given to them over a fourth of the earth, to kill with sword and with famine and with plague and by the wild beasts of the earth.
The lowlife filth at AP clearly demonstrated their fake bian and hatred for Conservatives in the obit for Bre Payton, a conservative writer at The Federalist and frequent guest on television news outlets including Fox News Channel. AP is filth.
Best Explanation Of A Politician.
While stitching the hand of a 75 year old farmer, whose hand was caught in the squeeze gate while working cattle, the doctor struck up a conversation with the old man.
Eventually, the topic got around to politicians and their role as our leaders.
The old farmer said, "Well, as I see it, most politicians are 'Post Turtles'."
Not being familiar with the term, the doctor asked him what a 'post turtle was.
The old farmer [rancher] said, "When you're driving down a country road and you come across a fence post with a turtle balanced on top, that's a post turtle."
Rule of Three: 3 Minutes Without Air. 3 Days Without Water. 3 Weeks Without Food. 3 Months Without Love.
The old farmer saw the the puzzled look on the doctor's face so he continued to explain. "You know he didn't get up there by himself, he doesn't belong up there, he doesn't even know what to do while he's up there, he's elevated beyond his ability to function, and you just wonder what kind of dumbass put him up there to begin with."

redpajama_set_name: RedPajamaCommonCrawl


The mission of the CReWMaN Lab is to conduct innovative research in networking (core, wireless, sensors), mobile and pervasive computing, distributed and grid computing, privacy and security, biological networks, and social networks. This is accomplished by creating a stimulating learning environment through teaching, research, mentoring and service excellence, with focus on teaching cutting-edge courses and establish multi-disciplinary collaborations.
CReWMaN Lab is founded and directed by Prof. Sajal K. Das. Research areas at CReWMaN span all aspects of computer and communication networking and beyond, including core and wireless and sensor networks, mobile and pervasive computing, cloud computing, cyber-physical systems, smart environments, privacy and security, social and biological networks, to name a few.
We have multiple paid research positions available for undergraduates in the CReWMaN Lab for Fall 2014 semester and beyond. For more information click here.
Congratulations to Azade Nazi for being awarded the Morgan Stanley Scholarship for 2013 Grace Hopper Celebration of Women in Computing. She was selected from a large competitive pool of over 900 applicants.


These young penguins are usually extremely curious. They really want to try out anything (except for swimming yet). Whether it is whale bones or human beings, they often come running towards them to see what they are. We have to stay five meters away from these creatures, but these chicks definitely don't know that rule. I had them attack my legs, my camera or just curiously coming towards me to check me out. Gives great opportunities for pictures though!


Send a message to each person on your diary at the same time. This could be to remind of a delivery, or maybe an engineer visit. Send to everyone or group by job type.
With My Field CRM SMS text messaging capability, you can easily send a message to all of your contacts at the same time for each day on your customer diary.
This could simply be an alert text message that one of your service technicians will be arriving shortly. Or a sales reminder that allows your customer to text back with confirmation. Whatever your requirement for keeping in touch, My Field CRM SMS service is an ideal tool for the job.
By sending a text message, you can be almost certain that someone will read it. Unlike email where the message may not be read immediately, or worse falling into a spam folder!
Appointments diary shows bookings and appointments for sales and service engineers or general appointment booking. Scheduled by day, week or month with drag and drop capability to easily re-book your appointments.
The Appointment Diary shows all bookings and jobs scheduled for your site technicians and sales team. Whatever appointments you book will appear here. From customer sales appointments to field service jobs, they are all easily filtered by day, week or month. Further, you can view each sales rep or service engineer diaries separately.
If you search for a customer account, this can be by name, part of the address or even the telephone number. Results are easy to find and filter, making locating your customer details a simple task.
To change a booking, simply drag and drop the appointment to a new date and the job is done.
You can set personal reminders that only you can see, or target certain users. With My Field CRM there is always a choice with how you want to work. Setting recurring entries on your diary or timed notifications is simple. There is no need to ever miss another appointment.
Search for any part of the address, name or even the invoice number will find the record you are looking for. If it's a broad match search, I.E. lots of records are returned, simply use the instant filters built into the search facility to reduce the number of matches instantly.
Customer search works on any field using your desktop or mobile device. Simply enter any part of the name, address, phone number etc. My Field CRM will find any match to the record you are searching for.
Results are easy to find and filter, making locating your customer details a simple task. To reduce the number of matches filter by name only or reference number. If you want to filter only on invoice numbers? you can do that too.
Filters can be added and removed instantly without creating a fresh search.
If you want to limit the types or records that an individual can find, this is easy with My Field CRM. Simply set the access rights to only allow the records that are required for each user. Once this has been set, the user will only get results based on your privilage settings.
Booking on-site visits or sales appointments using the appointment diary is done in seconds. Create a new customer then book an appointment in one go. Search for an existing customer and arrange a visit for your sales team or service engineers directly from the appointment diary.
From the Appointment Diary, Booking a Sales Call or Service Engineer Job can be done by either creating a new customer or searching for an existing one.
From the menu, an appointment can be created in a matter of a few seconds by using the easy to use pop up dialogue boxes that give you all of the options required for making that booking.
Just as you can on your desktop computer, booking a site visit or sales appointment is done in exactly the same way using your mobile device. All of the functions you see on a big screen are also available on yur smaller mobile screen.
Text messaging is a powerful marketing tool. Text messages get read! it's a certain method of ensuring your message gets to the people you want to read it. Our SMS text messaging service is included in all plans as standard.
It's true, we're all hooked on text messaging. We send over 100 billion texts each year. And thats just in the UK. For that reason, it's also a very powerful marketing and alert system that we have incorporated SMS into MyField CRM.
Text messages get read, when was the last time you ignored one?. Its one of the most certain methods of communication that you can be certain someone will actually see your message.
From delivery alerts for your customers to informing your team of up coming tasks or events. text messaging hits the spot every time.
Sending texts is a native task for your mobile device. By using MyFieldCRM, not only can you sent the same text, it will automatically be logged with your customer record.


text:
Please sign our virtual guestbook to let us know about your visit to the Mission Museum
Enter your email address to sign-up for our E-Newsletter (optional)
Write a new entry for the Visitor's Log
Your name, city and entry will be visible on the Mission Museum website.
Enter your email address if you wish to subscribe to our E-newsletter. Your E-mail address will not be used for any other purpose, and will not be published.
We reserve the right to edit, delete, or not publish entries.
Marie Mccall from Omemee ontario wrote on November 3, 2022 at 10:01 am
Very interesting. Life stories a nice touch. A lot of work has been put into this museum
Jill, Wyatt and Aithen from Abbotsford, bc wrote on August 11, 2022 at 1:54 pm
Thank you for the nice collection!!
Susan Reddy from Burnaby wrote on July 23, 2022 at 1:31 pm
Loved the museum. So much great historical information for such a small space. I especially loved the respect for the First Nations and Asian history of Mission.
Deborah CLysdale from Mission wrote on March 17, 2022 at 2:12 pm
We really enjoyed it
Beth Allan from Edmonton wrote on February 19, 2022 at 10:31 am
This is such a cute little museum. And the young lady who greeted me at the door was so kind. Glad I stopped in.
Chase Warman from Mission wrote on December 3, 2021 at 2:25 pm
Love to learn the history of my hometown (:
Nicholas Brendzy from Burnaby wrote on May 29, 2021 at 10:31 am
Loved the history!


Social landlord Ongo is celebrating after recent awards success.
The housing association was announced as winners in the National Centre for Diversity (NCFD) Grand Awards 2018 this month.
Ongo has also been shortlisted for three awards in the Tpas northern region awards.
In the NCFD awards, the social landlord was shortlisted in three categories - the EDI (Equality, Diversity and Inclusion) Lead of the Year, UK's Most Inspiring Individual of the Year and UK Steering Group of the Year.
Ongo was crowned winner in the EDI Lead of the Year and Steering Group of the Year.
The NCFD awards aim to celebrate the passion, dedication and hard work of organisations to promote the importance of equality and diversity and ensure it is embedded within their own business.
Ongo is recognised as a leader in diversity and holds the accreditation for this from the National Centre for Diversity. It achieved this for its dedication and commitment to equality and diversity in the workplace. They promote equality and diversity through quarterly meetings with staff and tenants, awareness days and events on different topics. Most recently, a refugee awareness event was held at the Ongo HQ.
Karen Cowan, head of customer service and support, said: "We're absolutely delighted to have been announced as the winners in two of the categories, especially with the high standard of other organisations that were also shortlisted.
"We take equality and diversity very seriously here at Ongo, and we work hard to make sure our staff, tenants and contractors share this same understanding. It is amazing to have been crowned winners in EDI Lead and for our Steering Group to be named group of the year. I'm so proud of all the staff involved."
In the Tpas awards, Ongo was shortlisted in the Excellence in Tenant Engagement, Excellence in Engagement in Supported Housing and Excellence in Annual Report categories. It is up against other northern based housing associations and local authorities.
The award ceremony will take place on Friday, March 16 in Manchester, where Ongo will find out if they're awarded as regional winners in the three categories they have been shortlisted in.
The awards are in their 11 year and are highly recognised and regarded within the social housing sector.
Karen said: "We're delighted to have been shortlisted in three categories in the Tpas awards this year. It's a fantastic achievement for all the teams and tenants involved to have been shortlisted.
"We have so many staff and tenants that work extremely hard to make sure Ongo is giving the best possible service, so for them to be recognised in these awards is brilliant. We'll be keeping our fingers crossed on the day."


Lambert Advisory served as City of New Orleans' negotiator on one of the most controversial projects in the City's history - a tri-party development agreement between the city, Housing Authority of New Orleans, and one of the city's largest developers associated with a $300 million development effort.
The St. Thomas public housing development was one of New Orleans largest and most troubled properties. While there was broad agreement that the property needed to be redeveloped, when a Walmart was proposed which was central to the project's financing stack, the resident's of the surrounding historic community responded with vitriol.
Lambert Advisory evaluated and served as the City of New Orleans' negotiator with regard to a tri-party development agreement between the city, Housing Authority of New Orleans, and one of the city's largest developers associated with this $300 million development effort. The evaluation and negotiations centered on securing a $25 million city investment in the 67-acre St. Thomas public housing redevelopment project through the increment financing tied to a Walmart. In return, the city was able to broaden the housing mix on the former public housing property and enhance the city's long-term tax revenue. The firm was also able to successfully negotiate a development agreement with broad support given what had been considered one of the most controversial projects in the city's history.
Today the former St. Thomas development, now called River Garden, is considered to be the flagship of the City's former public housing properties which have been redeveloped since Hurricane Katrina. Property investment and values surrounding the property are among the fastest growing in the city.


text:
//
// Copyright (c) Microsoft and contributors.  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.
//

namespace DataFactory.Tests.Framework.JsonSamples
{
    /// <summary>
    /// Contains Registerd ActivityType JSON samples. Samples added here will automatically be hit by the serialization unit tests.
    /// </summary>
    public class RegisteredActivityTypeJsonSamples : JsonSampleCollection<RegisteredActivityTypeJsonSamples>
    {
        [JsonSample(propertyBagKeys: new string[]
             {
                "properties.schema.properties.PackageFile",
                "properties.schema.properties.Bar"
             })]
        public const string DotNetActivity = @"
{
    ""name"": ""CloudMLActivity"",
    ""properties"": {
        ""baseType"": ""DotNetActivity"",
        ""scope"": ""DataFactory"",
        ""schema"": {
            ""properties"":{
                ""PackageFile"": {
                    ""type"": ""string"",
                    ""default"": ""container/Foo.Zip""
                },
                ""Bar"": {
                    ""type"": ""string""
                }
            },
            ""required"": [ ""PackageFile"", ""Bar"" ]
        }
    }
}";

        [JsonSample(propertyBagKeys: new string[]
             {
                "properties.schema.properties.PackageFile",
                "properties.schema.properties.Bar"
             })]
        public const string DotNetActivityNestedProperties = @"
{
    ""name"": ""CloudMLActivity"",
    ""properties"": {
        ""baseType"": ""DotNetActivity"",
        ""scope"": ""DataFactory"",
        ""schema"": {
            ""properties"":{
                ""PackageFile"": {
                    ""type"": ""object"",
                    ""properties"":{
                        ""prop1"":
                            {
                                ""type"": ""string"",
                                ""default"":""container/Foo.Zip"",
                            },
                    },
                    ""required"":[ ""prop1"" ]
                },
                ""Bar"": {
                    ""type"": ""string""
                }
            },
            ""required"": [ ""PackageFile"", ""Bar"" ]
        }
        }
    }";
    }
}

redpajama_set_name: RedPajamaGithub


Masterclasses are a fundamental part of the Being experience, as they provide tools to deal with day-to-day life.
The wide program of classes presented has innovative approaches to core issues of the individual development – connection with other human beings and nature, breathing, dance, coaching, philosophy, creativity, sustainability, sexuality, life teachings, you name it! The world needs each one of us!
The human being has a tremendous ability to process information and acquire know-how. Through our entire life it is essential that we never stop learning and challenging ourselves enabling our full potential. We believe that each individual has something to share, teach and learn.
These classes are an opportunity for a deeper connection to yourself and others through various transformational practices within a contained space designed to provide a safe environment to support your journey in.
The aim of these classes is to put into action the theoretical knowledge provided by the facilitator.


I had to have Dark Souls on the PlayStation 3 instead of Xbox 360 because of the free multiplayer. (I gave up on Xbox Live Gold due to over a year of not using it.) This is surprising considering that there is little direct playing together with other people going on. I've played for over 30 hours and had one invasion where another player enters your game with intent to kill. Aside from that, I've had other people helping out with boss encounters a couple of times.
Dark Souls is an oppressive game, but don't believe the marketing: it's not as difficult to approach as Demon's Souls.
Part of it is due to the world structure. It is a big open world without loading, and from the beginning, you can go in so many places. Many of them are insurmountable until you've gained a lot more experience. As you find how places relate to each other and find shortcuts, you gain a mastery over the virtual world that you never reached in the previous game. It feels like drawing back curtains to reveal new sets.
The other thing is that the game is just not as difficult as Demon's Souls. The checkpoint system (bonfires) give you a fair bit of freedom to control what happens when you die. The health system with the health potions which refill automatically upon death makes things a lot less grind-y.
Still, the atmosphere is one of being alone against a very hostile world and its hellish denizes. Even if you're not playing with the other people all that much – aside from being invaded sometimes and summoning help with the bosses at times – you really appreciate the knowledge of being connected, sometimes seeing ghosts of other players resting at the same bonfires you are. The otherworldly messages can be very helpful, too. It's dangerous to go alone.
I would have perhaps expected From to make playing together between friends easier in the sequel. No such development is evident and although I sympathize with the internet crowd's frustration over this, I get it: being able to effectively co-op would destroy the game's mood.
But the reason Dark Souls is the most social game in years for me is that its lack of hand-holding and instructions, even with key game mechanics, forces you to talk to other players. You go on the forums and you talk to your colleagues, figuring out how to proceed, because you don't really have an alternative. Conquering this game alone, back before the internet, would've been a Herculean task. I don't feel like I'm cheating when I go on a Dark Souls wiki – to me it feels like the way the game was meant to be played. It's a gauntlet thrown down (lovingly) by From, and we take it up as a community.


Baby Chard ready to planted in the field.
One of the more "girly" wedding preparation activities I recently did was to get a manicure and pedicure with one of my good friends. As a farmer, this was one of the more embarrassing things I've ever done! The night before, my co-worker and I had spent the evening in one of the tomato houses on the farm stringing up and removing suckers from the plants. Do you sucker your tomatoes? It is a necessity in Alaska for both determinate and indeterminate varieties. Our season is just too short to allow any growth that isn't off of the main stem of the plants. Have you ever worked with more than one hundred tomato plants? If you have, you know that they leave an amazingly resilient dark greenish brown stain on your hands and yellow dust on all of your arm hairs. Even after scrubbing my hands and taking a shower, the creases in my palms were stained. On top of that, I had also sliced my left pointer finger while harvesting the never ending spinach sowing that had exploded with huge, succulent greenery after the recent cycle of rain and warm sun. Needless to say, my mani and pedi took twice as long as the woman next to me. However, I did really enjoy the pampering!
Post-tomato work hands. Ripe for the manicuring.
View from the tomato house–post lightning storm (rare in Alaska).
While a decade of calluses were being expertly sloughed off my dirty feet, I reflected back on the last few weeks and one thing came to mind: "good thing I'm a dirtbag!" Dirtbag has several definitions, but I tend to refer to the rock climber/camper/outdoor person definition. It applies to people who follow their passions, often eschewing social norms such as certain aspects of personal hygiene. For example (here's where I make one of my embarrassing confessions), I am perfectly content not bathing for extended periods of time. I have absolutely zero issues getting into a clean bed with dirty feet. Sometimes I don't brush my hair for more than a week at a time (and my hair starts to dread after a couple of days). I have been known to "smell test" clothing to assess if it's okay to wear in public (visible dirt is okay, body odor is not). I actually feel kind of cool going to the grocery store or other places with a dirty face and muddy pants. It shows I do real work, right? I try to tell myself that, but most times I fall back on: is this what adults do?
Dirty Farmgirl after a day of pulling old cutting greens, feeding pigs, amending new beds, and harvesting for a local restaurant.
Growing up, one of my best friend's mothers was both an obsessive compulsive germaphobe clean-freak (to the point where we couldn't sit on grass) and an avid gardener—even working in a greenhouse. To this day, I do not know how she managed these conflicting aspects of her life. I find that my tolerance of being dirty has served me well as both a mother of young children and a toiler of the soil. The former tend to be sticky much of the time while the latter leads to soil, amendments, pieces of plants and all around "dirty" things working their ways into hands, shoes, hair and bras. Sometimes, after a long day of working, with the awareness that I will be back in the field in ten hours (this actually doesn't happen much with my current schedule), a shower seems futile and like a waste of precious time that could be spent sleeping, eating or slugging water. I must add that it it also helps that I work on a fully organic, non-chemical using farm. If I were to be applying pesticides and chemical fertilizers, cleanliness would take on a whole new meaning!
The Soil Blocking process–First, fill soil blocker with very damp (almost dripping) potting soil. Press into the blocks firmly.
Nearly filled trays of soil blocks. It takes some simple algebra/geometry to get them filled in correctly and efficiently! And as you can see, once in awhile a block falls out because it didn't get tamped down enough. Seeds are dropped in the little dibble marks. It takes a few days for germination, depending on what was sown.
Head lettuce seedlings in soil blocks. One of our last trays for the season? No chemicals on these babies!
Obligatory adorable farm baby photo. Dirt is good for them!
How about you? Do you tolerate (or even enjoy!) the dirt, sweat and soil that comes along with working the land?
We are now into cutting stumps down and drilling holes to rot out the trunk roots.
Problem is it is now headed up to near 109 F and higher. I got a canopy out to cover us, as it is dangerous heat that can kill.
We will drink, and splash ourselves with cold water and take breaks.
I do try to clean up for errands as they treat you better. And wet paint in the hair is a mess.
Well dirty nails are not that bad, microbes in the soil help to keep us mentally well.
Hope to see some wedding pictures, and the hubs is out working those fields.
I have to mulch as weed pulling is not my friend.
109F–woof! That sounds miserable, I hope find a way to stay cool and safe in those temps! Clothing smell test forever!
How exciting to have your wedding just a couple days away! I hope it turns out the way you always dreamed of. Can't wait to see pictures.
I tolerate dirt but I do not enjoy being dirty. When my hands or body get dirty when I'm in the garden I am just fine, but I need to wash my hands and change my clothes when I come inside. Over the years I have become a little less of a clean freak and my garden has helped with that. As for my oldest son, he can't stand being dirty, sticky, etc. I had always dreamed of having that wonderful picture of your naked baby covered in spaghetti but I never got that picture. He will not eat with his fingers or hands. Simply won't touch it. He has to eat with a fork. I'm hoping my second boy will be different. Who knows, he may change over the years.
Oh! I love the idea of your neat little boy. Sometimes I wish my kids were a little more clean a lot less sticky, but it generally works out for us to be on the dirty side! My kids have turned out to be so different from each other–it's almost like they are different people :), I hope you get your sticky spaghetti covered little boy photo, too!
OH Alex, how exciting your getting married this weekend. I hope your day is so special and you all enjoy it.
Lov getting my hands dirty when I do my container gardening, though it can prove a problem for me when I go to work and can't get the stains off my fingers and hands, despite the extra scrubbing. I do wear gloves sometimes, but they are cotton and the dirt goes through anyways.
Gorgeous pic of your girls, love they're outside in the dirt. I struggle to get my son outside now, not much for him to do in our yard, I rent and am not allowed to dig a garden though I planted some of my plants in the garden that was here already. The rest I do in containers, slowly learning as I go. It's winter, so only my snow peas and spring onions are doing much right now, but hope to do more when I warms up a bit more.
Look forward to seeing some of your wedding photos.
Congratulations on your upcoming wedding. Looking forward to some pictures.
Absolutely! I sometimes where the same clothes for four or five days because they're dirty and going to get dirtier! I sit on my bum when I weed and dirt gets inside, outside, everywhere! And don't get me started on socks – not amount of bleach in the world is ever going to get my socks clean. I too do the smell test and dirt in my fingernails is a seasonal cycle – May to October – they're clean Nov. to April. Same goes for my house (With the exception of the bathroom and kitchen – I have to have those clean)- I tell people, "I can't have a clean garden and a clean house at the same time, so I only clean the house in months that have an 'R' in them; and September only because the 'R' comes at the end and that's when I start cleaning!
I love the soil, eat all BUT I require a wash -off, if even from an outside water source. I got used to a 'wash-off' as a kid (more than 70 years ago) after "farming", still love the getting wet. Best wishes to you and your family. God bless.
Congratulations, Alex! I meant to comment on your announcement posting and never quite got to it. Why? I was most likely playing in the dirt. Wishing you a fabulous wedding day and many happy years together and Mr. and Mrs. Love the photo of the girls… adorable as always!
I heard that the valley got a thunder storm! Would you believe it didnt make it out to Big Lake? I kept hoping it would! I love thunder storms and was rather looking forward to it! Oh well maybe I will get it next time!
While I dont really like to get dirty, I do tend to wear the same clothes all the time though and I do have to smell test those clothes! But hey we live in Alaska! I like to think its perfectly acceptable to wear the same clothes more than once right? as long as they dont smell?
I was going to ask you, how do you keep the moose out of your plants and vegetables? We're thinking about trying to do a garden of sorts next year. And are getting ideas for how to keep the animals out of it. That might be hard to do though with where live! So any ideas would be welcomed!
The thunderstorm was AMAZING. Lots of lightning right above the farm while we worked on the tomatoes. As for moose–we have a giant fence (8+ feet) around the property with an electric wire running along the top. One of my farmer friends has a wholly electric fence. it is 8-10 feet tall with electric wire running every 18 inches from bottom to top. It is strung along T-posts placed about every twelve feet. It runs mainly off of solar power. Mostly works like a charm. Moose seem to get through any fence at least once a season…then they do their thing of taking one big bite out of every cabbage they can find. It's a lovely salad bar to them!
I pulled weeds, cut lettuce and purslane for a salad, and picked green beans this evening before fixing dinner for my grandson and myself…dirt is all part of gardening, for sure – I don't have any problems with dirt… I have 3 sons and 6 grandchildren…I've seen plenty of dirt!! I live on a dirt road, so my truck is always dirty…no way out of it!!
Congratulations on your wedding! Are your girls going to be the flower girls??
Dirty girl here too! It's been so hot and humid that the sweat on top of the dirt requires me to shower. Just clean undies are all I change. The pants can stand on their own as long as they are not too gamey. Shirts are always sniffed. I have GOOD clothes when I leave the house for knitting group,or store but the minute I get home, back into my grubby clothes and even an apron to collect eggs from the chickens.
I must confess, I too am a dirtbag!
Super excited about your wedding Alex!! It will be so much fun to see pictures!!
You are one of the hardest working farm girls I know! Loved all your pictures.
Have a wonderful day Sunday. I'll be thinking about you.
\How do you know what clean is if you don't get dirty? Nothing like dancing toes in wet mud.
Oh, and congratulations. Live long and prosper.
I am a fat woman who works hard, and I enjoy my showers. They take 7 minutes, and I feel so much better afterwards. It is just in me to do this. I get itchy and have very oily skin and hair, and I really don't like to be smelly either. As a fat woman, that is a natural side effect of the extra weight. So I'm careful to clean up when I'm done.
That being said, I have gone into stores dirty, but only in the country where everyone else is also dirty. I will say my hands are ALWAYS clean and that I garden 95% of the time with gloves on because those danged cuts take too long to heal and are painful.
But I have to ask…why is weed pulling the only thing the organic farm is using to fight weeds? I have always used pulling as a last resort. I cover cover cover…either mulch or newspaper or cardboard. The only weeding I ever need to do is very close to the plant, and those are easy. When my mom and I ran our CSA, we weeded, yes, but it was the LAST thing we did after deploying other methods (newspaper and cardboard were our go-to most of the time).
Hi Susabelle! I totally understand bathing after working–I sometimes wish I had that need, but it just doesn't bother me! As far as weeding vs. mulching we have a few reasons: for one, we do have some major slug problems in AK and most mulching techniques tend to be good habitats for slugs. And then we have wind–lots and lots of wind. We've tried newspaper, cardboard and straw mulch but it turns into a huge mess and doesn't stay put. We use IRT plastic on some crops, but the weeds still grow under them–it is mostly used to warm the soil. I guess gardening fabric could be used for some of the longer season crops but that would be a lot of waste at the end of the season as it's hard to reuse it. We will try that next year for our peas, because they are a disaster! We do have several acres in production but we don't have a large tractor to put down row cover and it would be a lot of purchased mulch to apply (and we'd have to purchase USDA organic certified–if that's available up here I'm sure it's cost prohibitive). So, I guess we're stuck with weeding. The pigs and other livestock like the fruits of our labor and we get some good personal time with the plants, so those are pluses! Weeding has been a large part of my job on every production farm I've worked on. I think it's awesome that mulching worked for you! It's an amazing tool when it can be utilized.