text:
Apple to Cross 10 Million User Mark in India this Year: CMR
By Rudradeep Biswas March 23rd, 2018 AT 10:02 PM
Apple iPhones are with us for ten years now, and as the iPhone enters the 10th year of its existence in India, it's going to hit a massive milestone. Apple will cross 10 million users milestone in India this year, and it will be the 11th brand to achieve this feat in the country. Various Apple models (including variants) are being used by users across the country. However, it took a while for the company to achieve this feat, and there are many reasons for the delay in achievement- one of them will be the expensive price tag.
However, Apple will be achieving this milestone irrespective of the Make in India strategy as the company manages to ship 3 million devices every year. As per CMR India's analysis, at the end of 2017, there were 8.9 million iPhones users in India, and with an addition of estimated 3 million, it would surpass the 10 million mark even after discounting the switch within the brand.
However, Apple might achieve the feat much earlier than expected, if it decides to go aggressive with its assembly plans in India. Apple has been betting big on its manufacturing of iPhones in India for quite some time, and it has been assembling the cheaper iPhone SE in India since last year. And it the Cupertino giant decides to ramp up the Make in India program, it might achieve the 10 million mark by mid-2018 itself.
As stated, Apple is the 11th brand in India to cross 10 million users, and there are already ten brands having surpassed this milestone. Samsung has a massive user base of 120 million users at the of 2017 as per CMR India, and brands such as Xiaomi are shipping millions of phones in a single quarter.
At the end of 2017, Xiaomi has over 28 million smartphone users, but the company' success comes from its smartphones priced below Rs 10,000 and Rs 15,000. But Apple is achieving 10 million users in the flagship category, and CMR India says that Apple received overwhelming love from Indians like how it received in the US and European markets.
Snapchat Introduces Map Explore Feature for Both Android and iOS Users
The Nokia 8 is the Best Smartphone to Purchase Under Rs 30,000 Right Now
Apple in India
Reported By: Rudradeep Biswas
And the most sold ones would be iphone 4, 5, SE. People are good in buying the 4 year old garbage.
Nope iPhone 4/4s/5 are not sold in India or anywhere. Not by Apple at least. SE is a device that is sold worldwide and runs latest iOS like a champ.
Sandeep Bansal, Manipal
With a screen of the size of some feature phone, its better to stay away from iPhone SE…
kon hai yeh log,kaha se aate hai..


WS Grop LLC offers outstanding tyre sales and services. We make sure the prices we offer are competitive. In order to have competitive prices, we keep a check on prices on a daily basis. We change our prices regularly to remain competitive. For decreasing the cost, we utilize the internet for marketing our products. We purchase tyres directly from the manufacturer's legal agents. This helps us in reducing the cost as there will be no middlemen involved. The costs saved helps us in maintaining competitive prices for our customers.


A method has been developed which allows four stages of transformation to be detected in subcultured populations of sheep thyroid cells exposed to gamma irradiation as differentiated primary cultures. The cell populations initially irradiated and the subcultures deriving from these retain a number of differentiated properties of thyroid cells, including iodine uptake, follicle formation and T4 production. The stages of transformation which develop in the subcultures are nonsenescence, focus development on a confluent monolayer, i.e. loss of contact inhibition, colony formation in soft agar, i.e. anchorage independence, and reduced serum dependence. The technique offers a method for detecting the development of transformation in primary differentiated epithelial cultures.


Finnish society became urbanised more rapidly than almost any other in Europe. Just fifty years ago, three out of four Finns lived in the countryside, making their living from the land or the forest. Today this applies to only one in three people, and, since Finland joined the European Union, their ranks have thinned even further. Those who have remained in the countryside now have their backs to the wall which is precisely where the photographer has put them for the pictures. Pekka Turunen Against the Wall tells us about Lypö, Tilkkanen, Mörsky and others, who live on Finland's eastern borders. It also tells about a radical change of lifestyle of a shift from traditional local culture to being part of an international market... North Karelia in Eastern Finland is one of the country's poorest regions, and unemployment levels are high. But the people there have an extra measure of humour and self-respect; and the courage to take risks and laugh at their own hardships.
Pekka Turunen was born in Joensuu, in the east of Finland close to the russian border, in 1958. He studied photography at Taik University of Art and Design in Helsinki where he took an MA in photography in 1987. Since graduating, he has worked as a teacher at the Academy of Fine Arts. He now lives and works in Kemiönsaari, in southwest Finland.


DOMContentLoaded – the browser fully loaded HTML, and the DOM tree is built, but external resources like pictures <img> and stylesheets may be not yet loaded.
load – the browser loaded all resources (images, styles etc).
beforeunload/unload – when the user is leaving the page.
DOMContentLoaded event – DOM is ready, so the handler can lookup DOM nodes, initialize the interface.
load event – additional resources are loaded, we can get image sizes (if not specified in HTML/CSS) etc.
beforeunload event – the user is leaving: we can check if the user saved the changes and ask them whether they really want to leave.
unload – the user almost left, but we still can initiate some operations, such as sending out statistics.
Let's explore the details of these events.
The DOMContentLoaded event happens on the document object.
// not "document.onDOMContentLoaded = ..."
In the example the DOMContentLoaded handler runs when the document is loaded, so it can see all the elements, including <img> below.
But it doesn't wait for the image to load. So alert shows zero sizes.
At the first sight DOMContentLoaded event is very simple. The DOM tree is ready – here's the event. There are few peculiarities though.
When the browser processes an HTML-document and comes across a <script> tag, it needs to execute before continuing building the DOM. That's a precaution, as scripts may want to modify DOM, and even document.write into it, so DOMContentLoaded has to wait.
In the example above, we first see "Library loaded…", and then "DOM ready!" (all scripts are executed).
So here we're talking about "regular" scripts, like <script>...</script>, or <script src="..."></script>.
External style sheets don't affect DOM, so DOMContentLoaded does not wait for them.
The reason is that the script may want to get coordinates and other style-dependent properties of elements, like in the example above. Naturally, it has to wait for styles to load.
As DOMContentLoaded waits for scripts, it now waits for styles before them as well.
Firefox, Chrome and Opera autofill forms on DOMContentLoaded.
For instance, if the page has a form with login and password, and the browser remembered the values, then on DOMContentLoaded it may try to autofill them (if approved by the user).
So if DOMContentLoaded is postponed by long-loading scripts, then autofill also awaits. You probably saw that on some sites (if you use browser autofill) – the login/password fields don't get autofilled immediately, but there's a delay till the page fully loads. That's actually the delay until the DOMContentLoaded event.
The load event on the window object triggers when the whole page is loaded including styles, images and other resources.
When a visitor leaves the page, the unload event triggers on window. We can do something there that doesn't involve a delay, like closing related popup windows.
The notable exception is sending analytics.
Let's say we gather data about how the page is used: mouse clicks, scrolls, viewed page areas, and so on.
Naturally, unload event is when the user leaves us, and we'd like to save the data on our server.
There exists a special navigator.sendBeacon(url, data) method for such needs, described in the specification https://w3c.github.io/beacon/.
It sends the data in background. The transition to another page is not delayed: the browser leaves the page, but still performs sendBeacon.
The request is sent as POST.
We can send not only a string, but also forms and other formats, as described in the chapter Fetch: Basics, but usually it's a stringified object.
The data is limited by 64kb.
When the sendBeacon request is finished, the browser probably has already left the document, so there's no way to get server response (which is usually empty for analytics).
There's also a keepalive flag for doing such "after-page-left" requests in fetch method for generic network requests. You can find more information in the chapter Fetch API.
If we want to cancel the transition to another page, we can't do it here. But we can use another event – onbeforeunload.
If a visitor initiated navigation away from the page or tries to close the window, the beforeunload handler asks for additional confirmation.
If we cancel the event, the browser may ask the visitor if they are sure.
For historical reasons, returning a non-empty string also counts as canceling the event. Some time ago browsers used show it as a message, but as the modern specification says, they shouldn't.
The behavior was changed, because some webmasters abused this event handler by showing misleading and annoying messages. So right now old browsers still may show it as a message, but aside of that – there's no way to customize the message shown to the user.
What happens if we set the DOMContentLoaded handler after the document is loaded?
There are cases when we are not sure whether the document is ready or not. We'd like our function to execute when the DOM is loaded, be it now or later.
The document.readyState property tells us about the current loading state.
"loading" – the document is loading.
"interactive" – the document was fully read.
"complete" – the document was fully read and all resources (like images) are loaded too.
So we can check document.readyState and setup a handler or execute the code immediately if it's ready.
The readystatechange event is an alternative mechanics of tracking the document loading state, it appeared long ago. Nowadays, it is rarely used.
Let's see the full events flow for the completeness.
The working example is in the sandbox.
The numbers in square brackets denote the approximate time of when it happens. Events labeled with the same digit happen approximately at the same time (± a few ms).
document.readyState becomes interactive right before DOMContentLoaded. These two things actually mean the same.
document.readyState becomes complete when all resources (iframe and img) are loaded. Here we can see that it happens in about the same time as img.onload (img is the last resource) and window.onload. Switching to complete state means the same as window.onload. The difference is that window.onload always works after all other load handlers.
Script such as <script>...</script> or <script src="..."></script> block DOMContentLoaded, the browser waits for them to execute.
Images and other resources may also still continue loading.
load event on window triggers when the page and all resources are loaded. We rarely use it, because there's usually no need to wait for so long.
beforeunload event on window triggers when the user wants to leave the page. If we cancel the event, browser asks whether the user really wants to leave (e.g we have unsaved changes).
unload event on window triggers when the user is finally leaving, in the handler we can only do simple things that do not involve delays or asking a user. Because of that limitation, it's rarely used. We can send out a network request with navigator.sendBeacon.
loading – the document is loading.
interactive – the document is parsed, happens at about the same time as DOMContentLoaded, but before it.
complete – the document and resources are loaded, happens at about the same time as window.onload, but before it.


text:
package org.apache.hadoop.hive.llap.io.api.impl;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;

import javax.management.ObjectName;

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.common.io.CacheTag;
import org.apache.hadoop.hive.llap.ProactiveEviction;
import org.apache.hadoop.hive.llap.cache.LlapCacheHydration;
import org.apache.hadoop.hive.llap.cache.MemoryLimitedPathCache;
import org.apache.hadoop.hive.llap.cache.PathCache;
import org.apache.hadoop.hive.llap.cache.ProactiveEvictingCachePolicy;
import org.apache.hadoop.hive.llap.daemon.impl.StatsRecordingThreadPool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.common.io.Allocator;
import org.apache.hadoop.hive.common.io.DataCache;
import org.apache.hadoop.hive.common.io.DiskRange;
import org.apache.hadoop.hive.common.io.DiskRangeList;
import org.apache.hadoop.hive.common.io.FileMetadataCache;
import org.apache.hadoop.hive.common.io.Allocator.BufferObjectFactory;
import org.apache.hadoop.hive.common.io.encoded.MemoryBuffer;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.apache.hadoop.hive.llap.cache.BuddyAllocator;
import org.apache.hadoop.hive.llap.cache.BufferUsageManager;
import org.apache.hadoop.hive.llap.cache.CacheContentsTracker;
import org.apache.hadoop.hive.llap.cache.EvictionDispatcher;
import org.apache.hadoop.hive.llap.cache.LlapDataBuffer;
import org.apache.hadoop.hive.llap.cache.LlapIoDebugDump;
import org.apache.hadoop.hive.llap.cache.LowLevelCache;
import org.apache.hadoop.hive.llap.cache.LowLevelCacheImpl;
import org.apache.hadoop.hive.llap.cache.LowLevelCacheMemoryManager;
import org.apache.hadoop.hive.llap.cache.LowLevelCachePolicy;
import org.apache.hadoop.hive.llap.cache.LowLevelFifoCachePolicy;
import org.apache.hadoop.hive.llap.cache.LowLevelLrfuCachePolicy;
import org.apache.hadoop.hive.llap.cache.SerDeLowLevelCacheImpl;
import org.apache.hadoop.hive.llap.cache.SimpleAllocator;
import org.apache.hadoop.hive.llap.cache.SimpleBufferManager;
import org.apache.hadoop.hive.llap.cache.LowLevelCache.Priority;
import org.apache.hadoop.hive.llap.daemon.rpc.LlapDaemonProtocolProtos;
import org.apache.hadoop.hive.llap.io.api.LlapIo;
import org.apache.hadoop.hive.llap.io.decode.ColumnVectorProducer;
import org.apache.hadoop.hive.llap.io.decode.GenericColumnVectorProducer;
import org.apache.hadoop.hive.llap.io.decode.OrcColumnVectorProducer;
import org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader;
import org.apache.hadoop.hive.llap.io.metadata.MetadataCache;
import org.apache.hadoop.hive.llap.metrics.LlapDaemonCacheMetrics;
import org.apache.hadoop.hive.llap.metrics.LlapDaemonIOMetrics;
import org.apache.hadoop.hive.llap.metrics.MetricsUtils;
import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
import org.apache.hadoop.hive.ql.io.LlapCacheOnlyInputFormatInterface;
import org.apache.hadoop.hive.ql.io.orc.OrcSplit;
import org.apache.hadoop.hive.ql.io.orc.encoded.IoTrace;
import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.serde2.Deserializer;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.mapred.InputFormat;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.RecordReader;
import org.apache.hadoop.metrics2.util.MBeans;
import org.apache.hive.common.util.FixedSizedObjectPool;
import org.apache.orc.impl.OrcTail;

import com.google.common.collect.Lists;
import com.google.common.primitives.Ints;
import com.google.common.util.concurrent.ThreadFactoryBuilder;

public class LlapIoImpl implements LlapIo<VectorizedRowBatch>, LlapIoDebugDump {
  public static final Logger LOG = LoggerFactory.getLogger("LlapIoImpl");
  public static final Logger ORC_LOGGER = LoggerFactory.getLogger("LlapIoOrc");
  public static final Logger CACHE_LOGGER = LoggerFactory.getLogger("LlapIoCache");
  public static final Logger LOCKING_LOGGER = LoggerFactory.getLogger("LlapIoLocking");
  private static final String MODE_CACHE = "cache";

  // TODO: later, we may have a map
  private final ColumnVectorProducer orcCvp, genericCvp;
  private final ExecutorService executor;
  private final ExecutorService encodeExecutor;
  private final LlapDaemonCacheMetrics cacheMetrics;
  private final LlapDaemonIOMetrics ioMetrics;
  private final boolean useLowLevelCache;
  private ObjectName buddyAllocatorMXBean;
  private final Allocator allocator;
  private final FileMetadataCache fileMetadataCache;
  private final LowLevelCache dataCache;
  private final SerDeLowLevelCacheImpl serdeCache;
  private final BufferUsageManager bufferManager;
  private final Configuration daemonConf;
  private final LowLevelCacheMemoryManager memoryManager;
  private PathCache pathCache;
  private final FixedSizedObjectPool<IoTrace> tracePool;
  private LowLevelCachePolicy realCachePolicy;

  private List<LlapIoDebugDump> debugDumpComponents = new ArrayList<>();

  private LlapIoImpl(Configuration conf) throws IOException {
    this.daemonConf = conf;
    String ioMode = HiveConf.getVar(conf, HiveConf.ConfVars.LLAP_IO_MEMORY_MODE);
    useLowLevelCache = LlapIoImpl.MODE_CACHE.equalsIgnoreCase(ioMode);
    LOG.info("Initializing LLAP IO in {} mode", useLowLevelCache ? LlapIoImpl.MODE_CACHE : "none");
    String displayName = "LlapDaemonCacheMetrics-" + MetricsUtils.getHostName();
    String sessionId = conf.get("llap.daemon.metrics.sessionid");
    this.cacheMetrics = LlapDaemonCacheMetrics.create(displayName, sessionId);

    displayName = "LlapDaemonIOMetrics-" + MetricsUtils.getHostName();
    String[] strIntervals = HiveConf.getTrimmedStringsVar(conf,
        HiveConf.ConfVars.LLAP_IO_DECODING_METRICS_PERCENTILE_INTERVALS);
    List<Integer> intervalList = new ArrayList<>();
    if (strIntervals != null) {
      for (String strInterval : strIntervals) {
        try {
          intervalList.add(Integer.valueOf(strInterval));
        } catch (NumberFormatException e) {
          LOG.warn("Ignoring IO decoding metrics interval {} from {} as it is invalid", strInterval,
              Arrays.toString(strIntervals));
        }
      }
    }
    this.ioMetrics = LlapDaemonIOMetrics.create(displayName, sessionId, Ints.toArray(intervalList));

    LOG.info("Started llap daemon metrics with displayName: {} sessionId: {}", displayName,
        sessionId);

    MetadataCache metadataCache = null;
    SerDeLowLevelCacheImpl serdeCache = null; // TODO: extract interface when needed
    BufferUsageManager bufferManagerOrc = null, bufferManagerGeneric = null;
    boolean isEncodeEnabled = useLowLevelCache
        && HiveConf.getBoolVar(conf, ConfVars.LLAP_IO_ENCODE_ENABLED);
    if (useLowLevelCache) {
      // Memory manager uses cache policy to trigger evictions, so create the policy first.
      boolean useLrfu = HiveConf.getBoolVar(conf, HiveConf.ConfVars.LLAP_USE_LRFU);
      long totalMemorySize = HiveConf.getSizeVar(conf, ConfVars.LLAP_IO_MEMORY_MAX_SIZE);
      int minAllocSize = (int) HiveConf.getSizeVar(conf, ConfVars.LLAP_ALLOCATOR_MIN_ALLOC);
      realCachePolicy =
          useLrfu ? new LowLevelLrfuCachePolicy(minAllocSize, totalMemorySize, conf) : new LowLevelFifoCachePolicy();
      if (!(realCachePolicy instanceof ProactiveEvictingCachePolicy.Impl)) {
        HiveConf.setBoolVar(this.daemonConf, ConfVars.LLAP_IO_PROACTIVE_EVICTION_ENABLED, false);
        LOG.info("Turning off proactive cache eviction, as selected cache policy does not support it.");
      }
      boolean trackUsage = HiveConf.getBoolVar(conf, HiveConf.ConfVars.LLAP_TRACK_CACHE_USAGE);
      LowLevelCachePolicy cachePolicyWrapper;
      if (trackUsage) {
        cachePolicyWrapper = new CacheContentsTracker(realCachePolicy);
      } else {
        cachePolicyWrapper = realCachePolicy;
      }
      // Allocator uses memory manager to request memory, so create the manager next.
      this.memoryManager = new LowLevelCacheMemoryManager(
          totalMemorySize, cachePolicyWrapper, cacheMetrics);
      cacheMetrics.setCacheCapacityTotal(totalMemorySize);
      // Cache uses allocator to allocate and deallocate, create allocator and then caches.
      BuddyAllocator allocator = new BuddyAllocator(conf, memoryManager, cacheMetrics);
      this.allocator = allocator;
      LowLevelCacheImpl cacheImpl = new LowLevelCacheImpl(
          cacheMetrics, cachePolicyWrapper, allocator, true);
      dataCache = cacheImpl;
      if (isEncodeEnabled) {
        SerDeLowLevelCacheImpl serdeCacheImpl = new SerDeLowLevelCacheImpl(
            cacheMetrics, cachePolicyWrapper, allocator);
        serdeCache = serdeCacheImpl;
        serdeCacheImpl.setConf(conf);
      }

      boolean useGapCache = HiveConf.getBoolVar(conf, ConfVars.LLAP_CACHE_ENABLE_ORC_GAP_CACHE);
      metadataCache = new MetadataCache(
          allocator, memoryManager, cachePolicyWrapper, useGapCache, cacheMetrics);
      fileMetadataCache = metadataCache;
      // And finally cache policy uses cache to notify it of eviction. The cycle is complete!
      EvictionDispatcher e = new EvictionDispatcher(
          dataCache, serdeCache, metadataCache, allocator);
      cachePolicyWrapper.setEvictionListener(e);

      cacheImpl.startThreads(); // Start the cache threads.
      bufferManager = bufferManagerOrc = cacheImpl; // Cache also serves as buffer manager.
      bufferManagerGeneric = serdeCache;
      if (trackUsage) {
        debugDumpComponents.add(cachePolicyWrapper); // Cache contents tracker.
      }
      debugDumpComponents.add(realCachePolicy);
      debugDumpComponents.add(cacheImpl);
      if (serdeCache != null) {
        debugDumpComponents.add(serdeCache);
      }
      if (metadataCache != null) {
        debugDumpComponents.add(metadataCache);
      }
      debugDumpComponents.add(allocator);
      pathCache = new MemoryLimitedPathCache(conf);
    } else {
      this.allocator = new SimpleAllocator(conf);
      fileMetadataCache = null;
      SimpleBufferManager sbm = new SimpleBufferManager(allocator, cacheMetrics);
      bufferManager = bufferManagerOrc = bufferManagerGeneric = sbm;
      dataCache = sbm;
      this.memoryManager = null;
      debugDumpComponents.add(new LlapIoDebugDump() {
        @Override
        public void debugDumpShort(StringBuilder sb) {
          sb.append("LLAP IO allocator is not in use!");
        }
      });
    }
    this.serdeCache = serdeCache;
    // IO thread pool. Listening is used for unhandled errors for now (TODO: remove?)
    int numThreads = HiveConf.getIntVar(conf, HiveConf.ConfVars.LLAP_IO_THREADPOOL_SIZE);
    executor = new StatsRecordingThreadPool(numThreads, numThreads, 0L, TimeUnit.MILLISECONDS,
        new LinkedBlockingQueue<Runnable>(),
        new ThreadFactoryBuilder().setNameFormat("IO-Elevator-Thread-%d").setDaemon(true).build());
    tracePool = IoTrace.createTracePool(conf);
    if (isEncodeEnabled) {
      int encodePoolMultiplier = HiveConf.getIntVar(conf, ConfVars.LLAP_IO_ENCODE_THREADPOOL_MULTIPLIER);
      int encodeThreads = numThreads * encodePoolMultiplier;
      encodeExecutor = new StatsRecordingThreadPool(encodeThreads, encodeThreads, 0L, TimeUnit.MILLISECONDS,
          new LinkedBlockingQueue<Runnable>(),
          new ThreadFactoryBuilder().setNameFormat("IO-Elevator-Thread-OrcEncode-%d").setDaemon(true).build());
    } else {
      encodeExecutor = null;
    }

    // TODO: this should depends on input format and be in a map, or something.
    this.orcCvp = new OrcColumnVectorProducer(
        metadataCache, dataCache, pathCache, bufferManagerOrc, conf, cacheMetrics, ioMetrics, tracePool);
    this.genericCvp = isEncodeEnabled ? new GenericColumnVectorProducer(
        serdeCache, bufferManagerGeneric, conf, cacheMetrics, ioMetrics, tracePool, encodeExecutor) : null;
    LOG.info("LLAP IO initialized");

    registerMXBeans();
    LlapCacheHydration.setupAndStartIfEnabled(daemonConf);
  }

  private void registerMXBeans() {
    buddyAllocatorMXBean = MBeans.register("LlapDaemon", "BuddyAllocatorInfo", allocator);
  }

  @Override
  public String getMemoryInfo() {
    StringBuilder sb = new StringBuilder();
    debugDumpShort(sb);
    return sb.toString();
  }

  @Override
  public long purge() {
    if (memoryManager != null) {
      return memoryManager.purge();
    }
    return 0;
  }

  public long evictEntity(LlapDaemonProtocolProtos.EvictEntityRequestProto protoRequest) {
    if (memoryManager == null || !HiveConf.getBoolVar(daemonConf, ConfVars.LLAP_IO_PROACTIVE_EVICTION_ENABLED)) {
      return -1;
    }
    final ProactiveEviction.Request request = ProactiveEviction.Request.Builder.create()
        .fromProtoRequest(protoRequest).build();
    Predicate<CacheTag> predicate = tag -> request.isTagMatch(tag);
    boolean isInstantDeallocation = HiveConf.getBoolVar(daemonConf,
        HiveConf.ConfVars.LLAP_IO_PROACTIVE_EVICTION_INSTANT_DEALLOC);
    LOG.debug("Starting proactive eviction.");
    long time = System.currentTimeMillis();

    long markedBytes = dataCache.markBuffersForProactiveEviction(predicate, isInstantDeallocation);
    markedBytes += fileMetadataCache.markBuffersForProactiveEviction(predicate, isInstantDeallocation);
    markedBytes += serdeCache.markBuffersForProactiveEviction(predicate, isInstantDeallocation);

    // Signal mark phase of proactive eviction was done
    if (markedBytes > 0) {
      memoryManager.notifyProactiveEvictionMark();
    }

    time = System.currentTimeMillis() - time;

    if (LOG.isDebugEnabled()) {
      StringBuilder sb = new StringBuilder();
      sb.append(markedBytes).append(" bytes marked for eviction from LLAP cache buffers that belong to table(s): ");
      for (String table : request.getEntities().get(request.getSingleDbName()).keySet()) {
        sb.append(table).append(" ");
      }
      sb.append(" Duration: ").append(time).append(" ms");
      LOG.debug(sb.toString());
    }
    return markedBytes;
  }

  @Override
  public InputFormat<NullWritable, VectorizedRowBatch> getInputFormat(
      InputFormat<?, ?> sourceInputFormat, Deserializer sourceSerDe) {
    ColumnVectorProducer cvp = genericCvp;
    if (sourceInputFormat instanceof OrcInputFormat) {
      cvp = orcCvp; // Special-case for ORC.
    } else if (cvp == null) {
      LOG.warn("LLAP encode is disabled; cannot use for " + sourceInputFormat.getClass());
      return null;
    }
    return new LlapInputFormat(sourceInputFormat, sourceSerDe, cvp, executor, daemonConf);
  }

  @Override
  public void close() {
    LOG.info("Closing LlapIoImpl..");
    if (buddyAllocatorMXBean != null) {
      MBeans.unregister(buddyAllocatorMXBean);
      buddyAllocatorMXBean = null;
    }
    executor.shutdownNow();
    if (encodeExecutor != null) {
      encodeExecutor.shutdownNow();
    }
  }

  @Override
  public void initCacheOnlyInputFormat(InputFormat<?, ?> inputFormat) {
    LlapCacheOnlyInputFormatInterface cacheIf = (LlapCacheOnlyInputFormatInterface)inputFormat;
    cacheIf.injectCaches(fileMetadataCache,
        new GenericDataCache(dataCache, bufferManager), daemonConf);
  }

  private class GenericDataCache implements DataCache, BufferObjectFactory {
    private final LowLevelCache lowLevelCache;
    private final BufferUsageManager bufferManager;

    public GenericDataCache(LowLevelCache lowLevelCache, BufferUsageManager bufferManager) {
      this.lowLevelCache = lowLevelCache;
      this.bufferManager = bufferManager;
    }

    @Override
    public DiskRangeList getFileData(Object fileKey, DiskRangeList range,
        long baseOffset, DiskRangeListFactory factory, BooleanRef gotAllData) {
      // TODO: we currently pass null counters because this doesn't use LlapRecordReader.
      //       Create counters for non-elevator-using fragments also?
      return lowLevelCache.getFileData(fileKey, range, baseOffset, factory, null, gotAllData);
    }

    @Override
    public long[] putFileData(Object fileKey, DiskRange[] ranges,
        MemoryBuffer[] data, long baseOffset) {
      return putFileData(fileKey, ranges, data, baseOffset, null);
    }

    @Override
    public long[] putFileData(Object fileKey, DiskRange[] ranges,
        MemoryBuffer[] data, long baseOffset, CacheTag tag) {
      return lowLevelCache.putFileData(
          fileKey, ranges, data, baseOffset, Priority.NORMAL, null, tag);
    }

    @Override
    public void releaseBuffer(MemoryBuffer buffer) {
      bufferManager.decRefBuffer(buffer);
    }

    @Override
    public void reuseBuffer(MemoryBuffer buffer) {
      boolean isReused = bufferManager.incRefBuffer(buffer);
      assert isReused;
    }

    @Override
    public Allocator getAllocator() {
      return bufferManager.getAllocator();
    }

    @Override
    public BufferObjectFactory getDataBufferFactory() {
      return this;
    }

    @Override
    public MemoryBuffer create() {
      return new LlapDataBuffer();
    }
  }

  @Override
  public void debugDumpShort(StringBuilder sb) {
    for (LlapIoDebugDump child : debugDumpComponents) {
      child.debugDumpShort(sb);
    }
  }

  @Override
  public OrcTail getOrcTailFromCache(Path path, Configuration jobConf, CacheTag tag, Object fileKey)
      throws IOException {
    return OrcEncodedDataReader.getOrcTailForPath(path, jobConf, tag, daemonConf, (MetadataCache) fileMetadataCache, fileKey);
  }

  @Override
  public RecordReader<NullWritable, VectorizedRowBatch> llapVectorizedOrcReaderForPath(Object fileKey, Path path, CacheTag tag, List<Integer> tableIncludedCols,
      JobConf conf, long offset, long length) throws IOException {

    OrcTail tail = getOrcTailFromCache(path, conf, tag, fileKey);
    OrcSplit split = new OrcSplit(path, fileKey, offset, length, (String[]) null, tail, false, false,
        Lists.newArrayList(), 0, length, path.getParent(), null);
    try {
      LlapRecordReader rr = LlapRecordReader.create(conf, split, tableIncludedCols, "localhost", orcCvp,
          executor, null, null, null, daemonConf);

      // May happen when attempting with unsupported schema evolution between reader and file schemas
      if (rr == null) {
        return null;
      }

      // This needs to be cleared as no partition values should be added to the result batches as constants.
      rr.setPartitionValues(null);

      // Triggers the IO thread pool to pick up this read job
      rr.start();
      return rr;
    } catch (HiveException e) {
      throw new IOException(e);
    }
  }

  @Override
  public LlapDaemonProtocolProtos.CacheEntryList fetchCachedContentInfo() {
    if (useLowLevelCache) {
      GenericDataCache cache = new GenericDataCache(dataCache, bufferManager);
      LlapCacheMetadataSerializer serializer = new LlapCacheMetadataSerializer(fileMetadataCache, cache, daemonConf,
          pathCache, tracePool, realCachePolicy);
      return serializer.fetchCachedContentInfo();
    } else {
      LOG.warn("Low level cache is disabled.");
      return LlapDaemonProtocolProtos.CacheEntryList.getDefaultInstance();
    }
  }

  @Override
  public void loadDataIntoCache(LlapDaemonProtocolProtos.CacheEntryList metadata) {
    if (useLowLevelCache) {
      GenericDataCache cache = new GenericDataCache(dataCache, bufferManager);
      LlapCacheMetadataSerializer serializer = new LlapCacheMetadataSerializer(fileMetadataCache, cache, daemonConf,
          pathCache, tracePool, realCachePolicy);
      serializer.loadData(metadata);
    } else {
      LOG.warn("Cannot load data into the cache. Low level cache is disabled.");
    }
  }
}

redpajama_set_name: RedPajamaGithub


text:
Q: Issues with Expand All Javascript I am not the best at Javascript yet. I can't figure out why this expand/expand all script isn't working anymore. It was working previously and after a month of not looking at it something happened and it no longer works. It's a page that contains a list of myths and facts that can be expanded to read an answer and collapsed after reading with an expand all button at the top for easy use.
Here is the Code:

expand: function() {
  $('.expand').find('p').hide();

  $('.expandall').click(function() {
    if ($(this).hasClass('closed')) {
      $(this).removeClass('closed');
      $('.expand').each(function() {
        $(this).addClass('expanded');
        $(this).find('p').slideDown();
      });
    } else {
      $(this).addClass('closed');
      $('.expand').each(function() {
        $(this).removeClass('expanded');
        $(this).find('p').slideUp();
      });
    }
  });
  $('.expand').click(function() {
    if ($(this).hasClass('expanded')) {
      $(this).removeClass('expanded');
    } else {
      $(this).addClass('expanded');
    }

    $(this).find('p').slideToggle();
  });
}
};
.main .content {
  width: 68%;
  float: right;
  margin: 12px 0 0 0;
}

.main .content h2 {
  margin: 0;
}

.information {}

.information .expand {
  margin: 0 0 10px 0;
}

.information .expand h4 {
  color: #dd995a;
  background: url(images/expandocons.png) top left no-repeat;
  padding: 0 0 10px 45px;
  display: block;
  cursor: pointer;
  margin: 1em 0 0 0;
  min-height: 38px;
}

.information .expanded h4 {
  color: #a6848d;
  background-position: left -104px;
}

.information .expand p {
  padding: 10px;
  margin: 0 0 0 40px;
  overflow: hidden;
}

.information .expand.expanded p {
  background: #f6f0ea;
}

.information #commit {
  background: url(images/commit.png) center no-repeat;
  width: 216px;
  height: 30px;
  text-indent: -9999px;
  display: block;
  margin: 10px 0;
}

.expandall {
  margin: 2em 0;
  color: #FFF;
  width: 180px;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  padding: 3px 5px;
  background: #b2959d;
  border-radius: 4px;
}

Myths and Facts about Becoming a Foster Family

 Foster parenting is both a challenge and a privilege. It requires dedication, patience, and lots of love. Here are some common myths and facts about being a foster parent in South Dakota.

Expand/Hide All

Myth: Foster parents must be married and must also have children.

Fact: Foster parents do not need to be married or have children.

Myth: Older people cannot be foster parents.

Fact: Foster parents must be at least 21 years old. There are no other age requirements.

Thank you in advance for any help!

A: You don't really need all that code. You can simply toggle between showing/not showing the paragraph elements:

$('.expand').on('click', function() {

  // toggle only the paragraphs in the context of `.expand`
  $('p', this).toggle('show');
});

$('.all').on('click', function () {
  $('p').toggle('show');
});
.expand p {
  display: none;
}

.sbow {
  display: block;
}

  <button class="all">Expand/Hide All</button>

Myth: Foster parents must be married and must also have children.

Fact: Foster parents do not need to be married or have children.

Myth: Older people cannot be foster parents.

Fact: Foster parents must be at least 21 years old. There are no other age requirements.

redpajama_set_name: RedPajamaStackExchange


text:
Mario Batali Found Not Guilty In Sexual Misconduct Trial
BOSTON (WBZ NewsRadio) — Celebrity chef Mario Batali was found not guilty on charges of indecent assault and battery at Boston Municipal Court Tuesday afternoon.
Judge James Stanton issued the verdict after Batali had waived his right to a jury trial when proceedings opened on Monday.
Batali, 61, was accused of kissing and groping a woman without her consent while they were taking a selfie at Towne Stove and Spirits in the Back Bay in 2017.
Batali's accuser took the stand Monday, saying she was "shocked" and "confused" by Batali's actions. On Tuesday, a friend of the accuser testified about text messages they exchanged the morning after the alleged assault.
Batali's lawyers argued that photo and video evidence does not show assault or battery, and that the accusations were financially motivated.
The defense did not call any witnesses to the stand and Batali did not testify in his defense.
In reading his verdict, Judge Stanton said that he found credibility issues with the accusations, and that the Commonwealth did not meet the burden of proving the allegations against Batali beyond a reasonable doubt.
A civil lawsuit against Batali by the accuser seeking unspecified damages for "severe emotional distress" is still pending in Suffolk County Superior Court.
Multiple sexual misconduct accusations against Batali surfaced in 2017, leading the chef and restaurateur to step away from the public eye and cut ties with his restaurant group in 2018.
Last year, Batali settled sexual misconduct cases out of New York for around $600,000.

redpajama_set_name: RedPajamaCommonCrawl


The Bible reveals that God experiences anger and wrath. Many words, both in the Old and New Testaments, express this fact.
The verb chara means "burn" and appears to be more intense than the verb qasap. Its counterpart noun, charon, means "anger" or "burning anger."7 Because the Israelites made an idol to worship, "the Lᴏʀᴅ said to Moses, 'I have seen this people, and indeed it is a stiff–necked people! Now therefore, let Me alone, that My wrath may burn hot against them and I may consume them'" (Ex. 32:9–10).
In contrast with the Hebrew Old Testament, the Greek New Testament has only two words for God's anger or wrath: orge and thumos.
The Bible uses some terms as figurative expressions of the nature of God's anger and wrath but also as literal expressions of ways God's wrath is administered.
Fire. God's anger is "kindled" (Ps. 78:21). Smoke is in His nose, and fire burns there "all the day" (Isa. 65:5). God's name is "burning with His anger," and His tongue is "like a devouring fire" (30:27). His wrath incinerates (9:19). He blows against targets "with the fire" of His wrath (Ezek. 21:31), and His breath is "like a stream of brimstone" (Isa. 30:33).
God used literal fire to consume 250 men who presumed to take upon themselves functions restricted exclusively to the Aaronic priesthood (Num. 16:35). God will use fire and brimstone to destroy the forces of Gog and his allies when they invade Israel in the future (Ezek. 38:21–22).
In the days of Noah God literally caused an unparalleled storm of rain for 40 days and nights in order to destroy the wicked people of the earth (Gen. 7:4).
Pouring. Because the rulers of Judah were evil, God declared, "I will pour out My wrath on them like water" (Hos. 5:10). After asking who can endure the fierceness of God's anger, Nahum asserted, "His fury is poured out like fire" (Nah. 1:6).
In the future, seven angels will be given "seven golden bowls full of the wrath of God who lives forever and ever"; and a loud voice from the heavenly Temple will tell the angels, "Go and pour out the bowls of the wrath of God on the earth" (Rev. 15:7; 16:1).
Drinking. The Bible uses the metaphor of people, cities, and nations being forced to drink God's wrath. Job referred to a person drinking "of the wrath of the Almighty" (Job 21:20). Psalm 75:8 states, "in the hand of the Lᴏʀᴅ there is a cup, and the wine is red; it is fully mixed, and He pours it out; surely its dregs shall all the wicked of the earth drain and drink down." God commanded the prophet Jeremiah, "Take this wine cup of fury from My hand, and cause all the nations, to whom I send you, to drink it" (Jer. 25:15). Drinking was "to make them a desolation, an astonishment, a hissing, and a curse" (v. 18).
Isaiah 51:17 declared that Jerusalem had "drunk at the hand of the Lᴏʀᴅ the cup of His fury; you have drunk the dregs of the cup of trembling, and drained it out." The consequence of the city drinking God's wrath was "desolation and destruction, famine and sword" (v. 19; see also v. 22).
In the future, the great city Babylon will be remembered before God "to give her the cup of the wine of the fierceness of His wrath" (16:19). "All the nations" will "have drunk of the wine of the wrath of" that great city's "fornication" (18:3; cf. 19:15).
Winepress of Wrath. In the future an angel will "thrust his sickle into the earth" and gather "the vine of the earth," and throw it "into the great winepress of the wrath of God" (Rev. 14:19). The winepress will be "trampled outside the city," and blood will come from it "up to the horses' bridles, for one thousand six hundred furlongs [200 miles]" (v. 20). When Jesus Christ will come from heaven in His Second Coming, He Himself will crush Satan and his rule of the world system by treading "the winepress of the fierceness and wrath of Almighty God" (19:15).
A Rod. As Jeremiah witnessed the Babylonian destruction of Jerusalem, he lamented, "I am the man who has seen affliction by the rod of His wrath" (Lam. 3:1).
Casting. Concerning the plagues that God inflicted on Egypt, the psalmist stated, "He cast on them the fierceness of His anger, wrath, indignation, and trouble, by sending angels of destruction" (Ps. 78:49).
Marching. God "marched through the land in indignation" (Hab. 3:12).
Johannes Fichtner, "orge," Theological Dictionary of the New Testament (hereafter cited as TDNT), ed. Gerhard Friedrich, trans./ed. Geoffrey W. Bromiley, translated from Theologisches Worterbuch zum Neuen Testament (Grand Rapids, MI: Eerdmans,1967), 5:395.
D. Schunck, "chemah," Theological Dictionary of the Old Testament (hereafter cited as TDOT), ed. G. Johannes Botterweck and Helmer Ringgren, trans. David E. Green, translated from Theologisches Worterbuch zum Alten Testament (Grand Rapids, MI: Eerdmans, 1980), 4:464.
Oskar Grether, Johannes Fichtner, "orge," TDNT, 5:391.
V. Reiterer, "qasap, qesep," TDOT, ed. G. Johannes Botterweck, Helmer Ringgren, and Heinz-Josef Fabry, trans. David E. Green, translated from Theologisches Worterbuch zum Alten Testament (Grand Rapids, MI: Eerdmans, 2004), 13:89.
N. Freedman, J. R. Lundbom, "chara, charon," TDOT, ed. G. Johannes Botterweck and Helmer Ringgren, trans. David E. Green, translated from Theologisches Worterbuch zum Alten Testament (Grand Rapids, MI: Eerdmans, 1986), 5:171–172.
D. Schunck, "ebra, abar," TDOT, ed. G. Johannes Botterweck, Helmer Ringgren, and Heinz-Josef Fabry, trans. Douglas W. Stott, translated from Theologisches Worterbuch zum Alten Testament (Grand Rapids, MI: Eerdmans, 1999), 10:426.
Friedrich Buchsel, "thumos," TDNT, Gerhard Kittel, trans./ed. Geoffrey W. Bromiley, translated from Theologisches Worterbuch zum Neuen Testament (Grand Rapids: Eerdmans, 1965), 3:167.
W. E. Vine, An Expository Dictionary of New Testament Words (Old Tappan, NJ: Revell, 1966), 55–56.


This is an ancient art that has been modified over the years for current use as needed by practitioners and spa therapists. This is a simple yet powerful technique that you can integrate into almost any massage that you currently use. It greatly enhances any type of body treatment and body work that you utilize.
Cupping is usually performed by heating a glass cup or similar object and placing it on the skin. The vacuum through the suction created will increase blood circulation to the local area, relaxes muscle tissue and releases the factors causing pain. The popular method today in Canada is to withdraw air from inside the cup with a hand suction pump.
Traditionally, cupping is used to move vital energy and correct internal imbalance. It will also clear the effects of exogenous elements like wind and cold as well as clearing the effects of external injuries.
Certification: Given upon successful completion of class, exam and case studies.


In honor of the anniversary of Rosa Parks' refusal to move on the bus on December 1, 1955, thus setting off the chain of events that became the Civil Rights Movement, I thought it would be nice to pay a little homage to her and those who fought (and still fight) so bravely for the rights of African Americans in our country. Here is a fantastic title for middle-grade readers.
Where and why: I got this book out of my local library. It was assigned reading for my children's literature class.
This is the story of the brave freedom fighters in Montgomery, Alabama that spearheaded the Civil Rights Movement in 1960s America. It starts even before Rosa Parks played her pivotal role by refusing to give up her seat to a white man. After a brief introduction giving readers context of what it meant to be black during the 1950s, Freedman then begins with a lesser-known figure in history, Jo Ann Robinson, a professor at the all-black university Alabama State who, after being kicked off a bus for sitting too far toward the front, dedicated much of her time and life to changing the bus laws in the South.
Throughout the book, Freedman continues to put the spotlight on forgotten and overlooked players that led to such a monumental shift in American history, along with well-recognized and essential names like Martin Luther King, Jr. and Rosa Parks. Freedman leaves nothing out in this history--everything is detailed, and he does not shy away from including the horrific murders that occurred before and after the boycott.
Rosa Parks had not expected to resist on that December evening. And she did not want to put her family at risk. But she was no longer willing to accept the indignities of bus segregation, a system that dehumanized all black people. 'I decided that I would have to know once and for all what rights I had as a human being and a citizen, even in Montgomery, Alabama' [she said].
Short paragraphs, often broken up by black-and-white photographs that help tell the story, make it easier for younger readers to stay focused, yet it's not so simple that it would bore them. Quotes and the aforementioned photographs are woven into the text, both of which enhance the telling and give a sense of realness to it that would have been lost otherwise; as a result, the reader is transported back in time.
All in all, this is an inspiring chapter in American history that Freedman tells eloquently, simply, and brilliantly.
This looks like a good one. I feel like it's so hard to write a good, honest account about such a tumultuous time in American history that younger readers will understand. I feel some texts hold back soo much and don't portray the horrible injustices that were going on and then some just go WAY above the understanding of these younger readers. Sounds like you get to read some good books for class!
Ditto what Jaime said -- and excellent review!
Thanks! I did read some fantastic ones, though not a whole lot of nonfiction. This one was by far the best nonfiction one we read. I've recently found some more supposedly good titles about this era, so maybe I'll pick those up and see if they live up to their hype (from professional sources, I should say, not just us bloggers ;)).


The holiday season is upon us and in the spirit of Thanksgiving, The Steve Harvey Morning Show and us are taking steps to help less fortunate families in East Texas. This year we are giving away 100 turkeys to families who could use a bird for Thanksgiving. So East Texans, we need your help! If you would like to nominate a family who could use a helping hand, scroll down and tell us a little bit about them. You can also nominate your own family.
Don't wait! Thanksgiving is right around the corner and Hot 107-3 Jamz wants to make sure our special East Texas families receive their turkey in time to enjoy a nice holiday meal.
Nominate a family you think could use a Turkey this Thanksgiving.
In 107 words, tell us a little about them.
We'll be reaching out to winners and giving them away on Tuesday, November 21, 2017. Happy Holidays from The Steve Harvey Morning Show and Hot 107-3 Jamz!


text:
Q: How to work with calculations in rails I have a view with a table of products, where each product has values for cost and price. I want to calculate and display the sales margin for each product and above the table put an average margin for all products.
Where do I put the calculations? And how do you handle calculations that are cross-referenced and repeated, should I store these values somehow?

A: Put the calculated values in your model as methods:
def margin
  price - cost
end

Then you can just use the margin value directly in the view.

A: It depends on whether you use these calculations in views only or not. If they are representing business logic that is used anywhere else - model is a right place. If not - helper would be a better place (or consider using Decorators/Presenters)


text:
Jewish and Chinese Immigration
Dec 10, 2020 in Analysis
The United States is widely recognized as a nation of immigrants. Historically, immigration has become a major tool for the formation of the American nation. From ancient times, America has become a symbol of political and religious freedom, as well as the country of boundless economic opportunities. Until the first half of the XIX century, immigration was encouraged, as it met the main tasks of the state colonization of vast territories and the development of industry and agriculture. However, in the second half of the XIX century, the growth of social tension forced authorities to make a number of limitations in the field of immigration policy and infringement of the rights of immigrants. Nowadays, Jews and Chinese minorities constitute a great part of the US population with their culture and traditions combining with the culture of the USA. The paper is devoted to the study of the role and place of the Chinese and Jews ethnic minorities in the United States, revealing the characteristics of Jews and Chinese immigration to the United States throughout its history.
Jews in New York
Nowadays New York is a city with the largest number of Jewish residents. The beginning of Jewish New York laid in 1654. In September 1654, twenty-three Jewish refugees from Brazil stepped ashore in the Dutch colony of New Amsterdam. The following year, another group of Jewish immigrants came to New York from Holland. The governor of the city did not like this fact. Nevertheless, the West India Company came to the defense of the Jews, and they stayed. In the first years of their stay in the city, Jews were greatly limited in their rights. For example, Jews were forbidden to engage in peddling (a petty trade from the tray), have land plots in their possession or join the military service. It was replaced by a tax. It was also forbidden to build the synagogues, although Jews were allowed to perform ceremonies at home.
In 1657, many restrictions were abolished, when local Jews received basic civil rights, and the ability to own land and engage in petty trade. In 1664, New Amsterdam was taken by the British and was soon renamed in New York. At that time, the city had a resident population of about a thousand people. In 1686, the Jews of New York acquired the right to conduct worship services in public. No later than 1695, in the city, there was the first synagogue. Since 1700, the townspeople-Jews began to use the voting rights. At that time, there were about one hundred Jews from 17 families Most of the Jewish population of New York was Sephardim. After the War of Independence, the New York Jews received even more opportunities. They were able to engage in the legal profession. The Jews were among the founders of the New York Stock Exchange.
The first half of the XIX century was marked by wars and revolutions in Europe. It caused the increase of Jewish immigrants arriving in New York. In 1847, the Jewish population of the city reached 15 thousand people. In 1860, there were almost 40 thousand people about 4% of the population of New York. In the first half of the XIX century, in the city, there were various institutions of Jewry. Many of which exist to this day. The Jews of New York were mainly involved in trade and crafts. Some of them owned small shops and stores. Moreover, among the Jews, prominent businessmen and financiers appeared.
In 1878, in the city, 60 thousand Jews lived. In the 80 years of the XIX century, the mass immigration of Jews from Eastern Europe began. It had a strong influence on demographics, culture and the way of life of the Jews in New York and throughout North America. In 1920, the Jewish population reached nearly one-third of the population of New York. At that time, the Jews of New York were the largest ethnic group of the urban population, as well as 45% of the total Jewish population of the United States. The Jewish population of New York continued to increase until the early 50-s of XX century. However, gradually, it began to decline, as the post-war economic growth allowed many Jewish families to leave the crowded areas of New York to the suburbs or to other states.
Nowadays, the Jews constitute the largest ethnic group in New York and play a decisive role in the citys political and social life. The most of Orthodox Jews are among the inhabitants of the district of Brooklyn. New York is a major center of American and world Hasidism.
Nevertheless, some sociologists affirm that the level of life of the Jewish population in New York in not extremely high. In 2012, a quarter of New York Jews lived below the poverty line. The problem of poverty is most prevalent among the ultra-Orthodox Jews because of the large number of children in families. Some people believe that as long as some families will not focus on the financial well-being but religious education, the poverty situation will only get worse. Anti-Semitism is also a big problem for the Jewish people. In 2010, anti-Semitism increased in the city, especially among Muslim and African-American population. After the terrorist attack in Toulouse in 2012, the city administration of New York allocated additional 100 patrols to protect synagogues and Jewish clubs. Jewish youth organized for self-defense.
Chinese in California
The United States is widely recognized as a nation of immigrants while China is the largest center of emigration. The Chinese community is considered the largest in the world, in spite of the difficulties faced in the process of assimilation of Huaqiao in the new society. In contrast to the Jews ethical minority, Chinese people were the only ethnic minority that experienced the effect of the Exceptional Law completely banning them from entering the territory of America. Whereas, the Jews population constantly increased, the number of Chinese Diaspora almost reduced by half reaching its historic minimum for a half-century of the Exceptional Law. However, after its cancelation, half a century later, it managed to become the most numerous Asian minority of the Unites States.
At present, there are no reliable data on exactly when the first Chinese immigrants came to the land of the North American continent. At the beginning of the XIX century, representatives of the higher strata of the population of China could afford to study abroad. However, it is assumed that the gold rush in California became the cause of the first wave of mass emigration from China to the United States. It falls at the end of 1840 - the beginning of the 1850s. Since that time, immigration of Chinese people began. One of the Chinese immigrants located in California wrote to a friend in Guangdong that gold was discovered there. The news of Californias wealth spread internationally and Chinese settlers began to establish fishing camps along the Pacific coast as early as 1853.
Transportation of immigrants was a very profitable business for the US Navy. For the transportation of people, it received more than all export supplies of the United States. However, already at that time, the racist sentiments within American society forced the authorities to restrict the number of Chinese immigration to the United States.
At the beginning of the 1950s, arrangement of Chinese settlements in the territory of the ore zone began. These villages are the prototypes of modern Chinatowns. With the development of the mining industry in California, the number of Chinese origin working in the field of production increased. Gradually, the Chinese population in California increased. In addition to work on the railroads and mines, they gradually penetrated into the manufactory industry and agriculture. In 1880, about 70% of seasonal agricultural workers in California were Chinese immigrants. They often worked as household servants distinguished by their submission and terse. By the beginning of XX century, in California, the Chinese bourgeoisie was already formed. For example, the founders of the Bank of California, whose assets by 1920 amounted to $ 5 million, were the Chinese born in the United States.
Chinese people in California, as well as Jews in New York, experienced the hostility of white Americans. According to American scientists, a hidden motive of the racial hostility was the clash of economic interests. Racial hostility was caused by increased competition, which was created by the Chinese in the labor market and declining wages of white workers. In addition, the Americans were irritated not only by the unique working capacity of the Chinese, but also their incomprehensible language, clothing and excessive desire for isolation. From the American government, there were various initiatives actually directed against the American Chinese. In California, rights of the Chinese population were extremely suppressed. Nowadays, the situation has changed. Chinese people do not experience Anti-Semitism manifestations. Today, the Chinese Diaspora has a membership of more than 4 million people. It plays an important role in the economic and political life of the United States.
The US population has always been distinguished by the diversity of its members combining different ethnic groups. They are the main source of population growth and cultural change in the United States. There are a great number of the Jews and Chinese ethical minorities, which migrated to America in search of a better life.


text:
St. Johns Business Monthly
The Only Newspaper Focused Only on Doing Business in St. Johns County
Nocatee
NW St. Johns
St. Augustine Beach
St. Johns County
Checks disbursed to local business impacted by Hurricane Matthew
MarketInsight | What Would Tiger Do?
By Scott Grant | ScottGrant@StJohnsBusinessMonthly.com | January 2, 2019
A Jacksonville legend passed away recently. His name was Rogers Baldwin "Tiger" Holmes. Holmes was a World War II veteran. He served in the Army Air Corps and retired, years later, as a colonel in the Air Force Reserve. Tiger flew planes. He wrote an account of his service entitled "The World's Greatest Pilot," something he admitted he was not, although it was his firm aspiration. After the war, Holmes owned a local hardware store. He was very successful.
Tiger is best known for swimming. He is a member of the University of Florida Sports Hall of Fame. He set swimming records throughout a long lifetime. In his 90s, Holmes and three other buddies with a combined age of more than 360 years were still setting records. Tiger loved the water and he was responsible for teaching more than 1,200 Jacksonville youths to swim.
I had the good fortune to interview Tiger earlier this year. His apartment was festooned with pictures of his accomplishments, both in and out of the water, including pictures of himself with five presidents. He told me a bunch of interesting stories, including the story I had come to hear. Tiger was on the beach the night that the U-123 sank the Gulfamerica a few miles off our coast in the spring of 1942. That was the story I wanted, the others were a bonus.
According to Tiger, he was working at the Inn & Club as a Cabana boy on that fateful Friday night in 1942. He was in the locker room, having finished work, when someone came in and announced, "The ocean is on fire." Of course, they all ran out to look. When they got there, they found a man in his underwear, obviously a little inebriated. The man was from the North and on his honeymoon. He kept saying how he couldn't just stand there and watch those poor men dying and not do something. He convinced the boys to help him drag a row boat from the lagoon to the surf. He then paddled out toward the burning wreck.
The ill-fated rescue went awry. His new bride was scared to death and more than a little angry. She consoled herself with room service gin and tonics. When her husband finally came home the next day, he was sunburnt and sore. Five days after the event, the local paper of record identified that man as R. McCollum, a "Winter visitor…with more gallantry than wisdom." According to the reports, he was rescued 20 miles out to sea after noon of the next day, some 14 or 15 hours after setting out.
I guess that the moral of the story is that when you find yourself in troubled waters, just keep swimming (or rowing if that is the case.) When Gertrude Ederle was swimming across the English Channel, the waves kicked up. Someone in the chase boat suggested she get out of the water. Her classic response: "What for?" It takes some grit to keep going. The market has turned choppy and many of us might be getting a little seasick. The best advice is to stick to your plan and keep going. I'd like to think that's what Tiger would do.
Scott A. Grant is President of Standfast Asset Management in Ponte Vedra Beach. He welcomes your comments or questions at scottg@standfastic.com.
MarketInsight Comments Off on MarketInsight | What Would Tiger Do? Print this News
« MarketInsight | Amendments, we can agree on (Previous News)
(Next News) Fountains at St. Johns announced for 210 corridor »
MarketInsight | Fear itself
Franklin Delano Roosevelt famously remarked in his first inaugural address that "the only thing weRead More
MarketInsight | Where there's a will, there's a fight!
By Scott Grant ScottGrant@StJohnsBusinessMonthly.com One of the most lurid and obscene documents you will everRead More
MarketInsight | Karl Lagerfeld's Cat
MarketInsight | The Customer's Man
MarketInsight | Your Money or Your Life
MarketInsight | Amendments, we can agree on
MarketInsight | The right tool for the job
MarketInsight | Why we invest
MarketInsight | Acres of Diamonds
North Business Council members learn about conservation projects
MarketInsight
Tweets by StJohnsEOC
Galleries Page
News Partners
Florida NewsLine
Florida Sun Printing
Local Community News, Inc.
© 2016: St. Johns Business Monthly, All Rights Reserved | NewsPress Theme by: D5 Creation | Powered by: WordPress


How can students bring awareness to others on the issue of violations of human rights in Sudan? How can students become defenders of human rights? GRADE LEVEL: 6-12.
Understand the widespread lack of clean drinking water and health care in the world today, especially in Haiti. GRADE LEVEL: 6-12.
What does it mean to live in poverty? What are poverty's far-reaching effects? How can we make poverty a thing of the past? GRADE LEVEL: 6-8.
What are the goals and purpose of the Green Belt Movement? How is Wangari Maathai a courageous person? How does deforestation affect my life and the lives of all human beings? GRADE LEVEL: 6-8.
Why does child labor exist? How can I make a difference in ending child labor? What examples of child labor can I find closest to my community? GRADE LEVEL: 6-8.


text:
Unearthing the Cause of Mass Extinction
Dr Henrik Svensen reveals what craters in Africa can tell us and if the cause for mass extinction can be unearthed by looking at what lies beneath our feet......
Henrik Svensen, Physics of Geological Processes, Department of Physics, University of Oslo
Part of the show Naked in Norway
Askja.jpg
CC0 - USGS/Michael Ryan
Henrik - Let me bring you back 10 years or 15 years when my colleague discovered some amazing structures from seismic data in offshore Norway, almost like big volcano structures and you can see them on seismic reflection data extending perhaps 4 or 5 km down into the seafloor. He was really intrigued about this and wanted to understand what they were.
Chris - How big are they then in terms of cross-section because obviously, that's very tall, but what about across?
Henrik - Up to 10 km across. It's a really big kind of crater structure and to make the long story short, I started doing this work in South Africa to look at fairly similar type of structures exposed on land to really get a better feeling for what this could be. What I found was really amazing - from big structures, big craters filled with crushed rocks - but I didn't find any volcanic rocks. So, my conclusion was that, these structures were formed by gas release, explosive gas release from the Earth's crust and that the gas release was triggered by the action of igneous rocks, melted in the Earth's crust.
Chris - Why did they form where they formed then?
Henrik - They formed because in the subsurface, 183 million years ago, that part of South Africa was intruded by melt and the melt triggered gas formation and that led to overpressure and then blow out structures almost like volcanic structures releasing the gas to the atmosphere.
Chris - It's like an exhaust pipe for a volcano.
Henrik - Yes, that's a fairly good description.
Chris - And what would be the effect of these things? What would come up through them? For how long? And what would be the local environment?
Henrik - That's been our subject of research for many years and we have different approaches to this. We do the field work, we look at the minerals inside these pipe structures, and we also do a theoretical modelling to understand what's coming out of these pipes. And in conclusion, the gas composition that's coming out is related to what type of rocks are heated in the subsurface. So if you heat sand with pour fluids, with water, you form watervapour. If you heat shells which are rich in organic matter, you might form methane or CO2. But for the case of South Africa, the main gas component we think was methane and then of course, things started to get interesting because methane is a greenhouse gas and we're trying to quantify the volumes of gas release and it's definitely within the range that it would've created global warming if it was erupted fast enough.
Chris - Gosh! So how long would these things have remained active do you think?
Henrik - That's a question which is extremely difficult to answer. We're doing the best we can with the best available methods and we can say that everything happened within half a million years.
Chris - That's quite short, isn't it? What sort of volume of gas are we talking about?
Henrik - Billions of tonnes of gas.
Chris - Gosh! So that's going to be quite a few degrees potentially of global temperature change if all that sort of gets burped out in one convulsive release.
Henrik - That's right and if you look at what happened on Earth at the same time as these pipe structures formed, there was indeed a global warming episode in the early Jurassic. So we think that perhaps these two were linked together. The main challenge today however, is to find that direct link, not only to say that this happened at the same time but actually to say that they were linked process wise and that's really difficult.
Chris - So what are the outstanding questions? Where are you thinking this needs to go next to try and resolve this?
Henrik - I think we need to understand extinction mechanisms and what can actually lead to the demise of life on Earth, and at the moment, there is really a big confusion about process.
Previous Tooling around with Chimpanzees
Next Fighting Cancer Cell Resistance to Radiotherapy
Medicine | Technology
How many Africans have a mobile phone?
Overcoming Treatment Resistant Tumours
How to reach zero carbon
Coal Mining Dangers
Chemistry | Earth Science
How do greenhouse gases warm the planet?


Former President Jimmy Carter in a new interview said he regrets putting an end to playing "Hail to the Chief" whenever the president enters the room.
"I went too far in -- because I did -- I did away with all the ruffles and flourishes and that sort of thing for a little while. But it was so unpopular with the American public -- because they wanted to show reverence to the president that I undid it," Carter told MSNBC's Chris Matthews in a new interview on Sunday.
The conversation with Carter, 94, is part of an MSNBC special, "Headliners," featuring Carter, who is the oldest living ex-U.S. president.
Matthews, 72, served under Carter as a speechwriter and subsequently worked as chief of staff to former Democratic House Speaker Tip O'Neill for six years before eventually becoming a fixture in Washington political media.
Carter won the Nobel Peace Prize in 2002 "for his decades of untiring effort to find peaceful solutions to international conflicts, to advance democracy and human rights, and to promote economic and social development."
The interview will air on MSNBC at 9:00 p.m. EDT Sunday night.


text:
Not Just Books: November 2018
Netflix Show: "Daredevil" Season 3
I've been pretty diligent with my Marvel Netflix show watching. That said, there have been some definite misses of late and I had started getting lazy. Truth time: I didn't even finish the second season of Luke Cage. And honestly, given that it was cancelled shortly after, I count this as a lucky miss. But I've always loved "Daredevil" and "Jessica Jones." Both had stellar first seasons and second seasons that dragged a bit but were still good quality. So this is the first (and maybe last with all of the cancellations?!) of the Marvel Netflix shows to get a third season. And man, if this one is evidence of anything, it's that some series can get even stronger as they go! This was not only the best season for this show in particular but vies for a tie with my ultimate favorite in "Jessica Jones" season 1. It's also one of the few shows that fully takes advantage of its 13 episode format and doesn't ever succumb to filler plot lines. I love the intense look into Matt's Catholic faith that comes to the forefront in this season, as well as the payoff in such a well-defined villain as Kingpin has become. It ties things up quite nicely, but I can't help but wish for a fourth season if this is the quality we can expect!
TV Show: "Survivor" Season 38
It's time once again for me to remind readers that yes, I still watch this long-running reality TV show and yes, I love it enough to post it publicly on this blog. Look, it's not that I love reality TV in general, but I have weaknesses towards certain things and other than cooking contest shows (my other main reality TV fare), "Survivor" hits on them all. Drama, but not stupid, relationship drama. Outdoorsy survival situations. And physical competitions. There's no denying that it's pretty impressive that a show that started in what, 2000, is still on today. And it speaks to the lasting appeal of the concept. I mean, who doesn't have fun watching others willing place themselves into situations where it's pretty much ongoing suffering and betrayal? Beyond that, it's always thrilling to see the players who truly excel, and this season has a great cast of characters, many of whom I'd be happy to see win. Of course, this means they will all lose, since it's been a while since my ultimate favorite has won. But I can hope anew each season!
Documentary: "The Tigers of Scotland"
Yes, that looks like a regular, old tabby cat in the picture. But guess what?! It's not! It's a Scottish Wildcat, the only wild "big cat" in the UK. I had never heard of these cats before, but when I saw this documentary floating around Netflix, of course I jumped on it. I mean, cats…need I say more? The hour-long documentary discusses the fragile state of the Scottish Wildcat, noting that there are perhaps only less than 100 living wild in Scotland today. Conservation efforts, challenges, and the unique makeup that marks the Scottish Wildcat as a distinct species are all covered. Plus, it's just gorgeous and there are a lot of shots of adorable cats. I can attest to the fact that the show is only improved when watched with one's own feline companion sleeping on one's lap.
Podcast: "Casefile"
As a true crime aficionado and true crime obsessive, I'm always on the look out for true crime podcasts that can keep me sated until the next episode of "Last Podcast on the Left" or "My Favorite Murder" is released. One that I have recently started listening to is "Casefile", a podcast from Australia. Like "Last Pod" and "MFM", "Casefile covers a litany of true crimes from all over the world, but unlike the previous two it is far more 'just the facts' without the humorous commentary. The host is an anonymous Australian man who tells the stories with a serious tone, and the cases range from murder to The Dark Web Silk Road to theft to fraud. For those of you who want accuracy, the research is impeccable. If you like true crime but aren't comfortable with the shows that combine as such with black humor, "Casefile" might be a good fit for you! I've found it very informative and fascinating.
TV Series: "The Good Place"
I'm not horribly late to this show, as I did watch Season 1 on and off earlier this year, but it wasn't until I got my husband into it that I really dove headfirst into "The Good Place". This incredibly hilarious and also supremely heart felt show not only explores day to day ethics and philosophy, but it showcases a stellar cast whose chemistry is off the charts. Everyone is cast perfectly, and the plot lines are whimsical as well as dark. And even though there is something of a surprise ending to Season 1, Season 2 is able to roll with some interesting changes and upheavals. We've been enjoying unwinding with this show this month, as it really does know how to make the viewer feel pretty good as well as think deeply about philosophical hypotheticals.
Video Game: "Red Dead Redemption 2"
I never played "Red Dead Redemption" back when it came out, but like many popular games it had been in my husband's library. I had heard a lot of buzz about "Red Dead Redemption 2", and was already interested in it because of what I'd heard. Then I decided to give it a whirl, and boy am I glad that I did. I'm not big into Westerns, but this game definitely has a lot of themes within it that I do enjoy: loyalty, morality, justice, and just plain out being an outlaw. I'm not very good at it (shooting games are really tough for me mechanics wise), but there are enough side missions and open world sandbox aspects that I can just pet my horse, fish, and wander around to my heart's content, helping people along the way. And yeah, screwing others over is pretty fun too.
Author thelibraryladiesmnPosted on November 26, 2018 November 19, 2018 Categories Not Just BooksTags Lists
Previous Previous post: Serena's Review: "Dragonshadow"
Next Next post: Kate's Review: "Harley & Ivy Meet Betty & Veronica"


text:
«Принц Адальберт»  був броньованим  паровим тараном Прусського, а пізніше Імператорського флоту Німеччини.

Конструкція

Загальна характеристика і рушій
Корпус  «Принца Адальберта»  був побудований з поперечних каркасів і поєднував у конструкції залізо, так і дерево. Корпус був обшитий міддю, щоб захистити його від  обростання, і він помітно звужувався до верху. Німці вважали корабель недостатньо морехідним. Через таран при русі він підіймав багато води. Однак корабель добре реагував на команди штурвала і мав дуже малий радіус повороту.

Силова установка  «Принца Адальберта», поставлена  компанією Mazeline з Гавра. Корабель мав два двоциліндрових парових двигунів одного розширення, кожен з яких приводив в рух чотирилопатевий гвинт. Двигуни були розміщені в єдиному машинному відділенні. Два магістральні котли, також в одній котельні, постачали пару до двигунів при  тискові у 150 кілоПаскалів.  Два стерна були встановлені поруч, щоб керувати судном і забезпечувати хорошу маневреність, заадля використання тарану. Корабель також оснащувався вітрилами за схемою брига, щоб доповнити парові двигуни, проте згодом вітрила дещо зменшеної площі оснастили за схемою шхуни.

Озброєння та броня
При побудові  «Принц Адальберт» був озброєний основною батареєю з трьох нарізних 36-фунтових дульнозарядних гармат. Одна був розміщений у стаціонарному носовому казематі з п'ятьма гарматними портами, тоді як дві інших були розташовані у баштоподібній (але неспроможній обертатися) структурі на міделі, яка мала два порти. Гармати були на рухомих поворотних кріпленнях, щоб вони могли вести вогонь через різні порти. Після доставки в 1865 році французькі гармати були замінені гарматами виробництва Круппа: 210 мм  гармата L/19 була розміщена в носовій частині і дві 170-мм гармати L/25 в центральній батареї. Передня гармата мала 76 зарядів, а центральні гармати мали по 71 заряду. «Принц Адальберт» був броньований кованим залізом, яке було встановлено на дерев'яному корпусі.

«Принц Адальберт» був побудований під ім'ям «Хеопс» разом із однотипним  «Сфінксом» на французькій верфі братів Арман у Бордо. Формально вони будувалися для ВМС Єгипту, але насправді були призначені для продажу Конфедеративним Штатам Америки. Французький імператор Наполеон III втрутився і наказав братам Арманам негайно продати обидва броненосці іншому покупцеві. На початку 1864 року під час Другої Шлезвізької війни між пруссько-австрійським альянсом і Данією прусський і данський флоти шукали кораблі, які можна було б придбати за кордоном. 31 березня Данія уклала контракт на «Сфінкс», але «Хеопс» був проданий Пруссії 25 травня. Доставка була відкладена через війну, і пруссаки ненадовго скасували замовлення, перш ніж відновити його в січні 1865 року. Корабель було нарешті доставлено в жовтні, і він був введено в експлуатацію 29 числа того місяця як «Принц Адальберт».

Разом з баштовим броненосцем «Армініус», «Принц Адальберт» був одним з перших броньованих кораблів, придбаних прусським флотом.  Корабель був названий на честь принца Адальберта Прусського, одного з творців флоту.  Було виявлено, що корабель перебував у поганому стані на момент вступу на службу, а під час проведення випробувань біля Данії в червні 1865 року корабель сів на мілину.  Під час австро-прусської війни в 1866 році «Принц Адальберт» був мобілізований у Кілі під командуванням віце-адмірала Едуарда фон Яхмана, але через відсутність супротивників у Північному та Балтійському морях корабель залишився в Балтійських водах на весь час війни.

Корабель не прослужив довго через погану конструкцію, дефекти броньового листа. Він не міг належним чином використовувати вітрила, а його корпус сильно протікав. Однією з основних причин було використанні низькоякісної деревини в конструкції його корпусу. Ці проблеми вимагали значної модернізації, яка була проведена на військово-морському депо в Гестемюнде в 1868–1869 роках. Його броню довелося зняти та встановити наново, хвилеріз встановили на кормовій частині корабля, а грот-щоглу довелося перемістити. Під час цього ремонту корабель переоснастили на на шхуну. Незважаючи на ремонт, «Принц Адальберт» продовжував страждати від серйозних протікань протягом своєї короткої кар'єри, і він залишився поганим вітрильником.

У травні 1870 року «Принц Адальберт» приєднався до трьох броньованих фрегатів «Фрідріх Карл», «Кронпринц» і «Коніг Вільгельм» для візиту до Британії, хоча «Фрідріх Карл» був пошкоджений після того, як сів на мілину в Великому Бельті. Решта кораблів продовжили шлях до Плімута, а «Фрідріх Карл» повернувся до Кіля для ремонту. Потім цей броненосець приєднався до решти кораблів, і 1 липня вони вирушили в навчальний круїз до Фаяла на Азорських островах. На той час зросла напруга у відносинах з Францією через кандидатуру Гогенцоллернів на вакантний іспанський престол. Поки ескадра курсувала на схід через Ла-Манш, її командування дізналися про зростаючу ймовірність війни, і  відрядило «Принц Адальберт» до Дартмута, щоб бути в курсі подій. Решта ескадри приєдналася до нього 13 липня, і оскільки війна, здавалося, була неминучою, ескадра повернулася і повернулися додому. «Кронпринц» був змушений взяти «Принц Адальберта» на буксир для подорожі через недстатню швидкість останнього.

Кораблі прибули назад у Вільгельмсгафен 16 липня, за три дні до того, як Франція оголосила війну Пруссії через Емську депешу, поклавши початок франко-прусській війні 1870–1871 років. Значно менший за чисельністю прусський флот лише протидіяв морській блокаді, здійснюваної французьким флотом. Під час конфлікту «Принц Адальберт» служив охороняв гавань у Гамбурзі.  У 1871 році було виявлено, що його дерев'яний корпус значно пошкоджено, що змусило його вивести з експлуатації.  Корабель вивели з активного складу флоту 23 жовтня 1871 року та роззброїли в 1875–1876 роках. Корабель було офіційно вилучено з військово-морського обліку 28 травня 1878 року. Того року його утилізували у Вільгельмсгафені, а її двигуни зняли та використали повторно.

Примітки

Кораблі 1864
Броненосці Німеччини
Парові тарани

redpajama_set_name: RedPajamaWikipedia


When sending shared links from the Syncplicity desktop client, users can set the expiration of the shared link.
Users can view their total, available and consumed storage from desktop clients.
Ability to share folders directly from the Online File Browser.


Kent, Kuykendall & Co., P.C.
In February of 1956 "Kent and Snow" was selected by Ted Kent and Lambert Snow as the partnership name for their Oregon City, Oregon firm of Certified Public Accountants. Mr. Kent purchased his partnership interest from Don Bauer who had originally founded the firm in 1948 and formed a partnership with Mr. Snow in 1956. Kent and Snow occupied the Poe Building next to the Oregon City municipal elevator for over 12 years. In May of 1968 Kent and Snow moved three blocks down the street from the Poe Building into the then brand new Promenade Building, where it remained for 29 years. In August of 1997 Kent and Snow, P.C. moved to South Ridge Center, into the heart of Oregon City's new business district.
Through many years and changes we are now known as Kent, Kuykendall & Company P.C. and we are still located in the heart of Oregon City Business district at the Mountain View Professional Building located at 1001 Molalla Avenue.
Kent, Kuykendall & Co., P.C. is proud to have been a part of the Oregon City community for over 50 years and is looking forward to continuing to serve in the community for years to come.


A Scandinavian interior design is based on minimalism, clean lines, functionality, and simplicity. The colour tone tends to be muted, creating a warm and relaxing environment. Building on these fundamentals, you would be able to explore endless possibilites of Scandinavian interior designs.
These crisp white walls go perfectly with the grey accents, black borders, and bare concrete floorings in the home. The scandinavian look is completed with clever selections of wooden accents and furnitures and clean light fixtures.
The white walls and floor created a big canvas space for them to play around with. This home is layered with a varitety of designs, combining retro furnishing with industrial touches and pop of colours around.
This home has made use of the contrast between its solid white walls and statement pieces furnitures, like the red sofa and dark electrical fixtures on the ceilings.
This home is a perfect example of how scandinavian style does not always have to be in black and white. In this apartment, colours are as much a part of the look as the neutrals. Colours are integrated through accents and furnishings, to create a simple yet interesting look.
The use of the woods on floors and even wall surfaces can really transform a home. This home used dark wood panels on the walls and pale wood floorings. Despite using a range of furniture styles, the home looks put together due to the consistent usage of wooden surfaces. Wood also helped create a warm and welcoming feel to the home.
This classic Scandinavian space engaged white walls coupled with wooden floorings. The clever use of contemporary furniture and fittings helped enhanced the sleek modern look.
There are plenty of ways to approach a scandinavian interior design. Be bold with your creativity, have fun, and create a home that best suit your personality!


text:
Farah Ann Hadi shines gold
She started gymnastics at the age of three, but after years of training, injuries, and collecting medals, she's finally on her way to the Olympics!
As an active child, this Malay-Canadian born beauty, Farah Ann Abdul Hadi, was encouraged to pursue sport by her parents. Making her debut at Sukma Games, she then made her first international appearance at the 2010 Commonwealth Games in New Delhi.
But it wasn't until the 2014 Artistic Celtic Cup-Commonwealth Invitational in Perth, Scotland that she finally stood out from the crowd. She took home a bronze medal, and since then, she has travelled around the world competing alongside gymnastic champions and making Malaysia proud.
Farah Ann stepped into the gymnastic scene when she was three years old, and she had dreamed about making it to the Olympics since she was eight.
Now, at the age of 25, she has finally booked a place at the Tokyo Olympics 2020. It has taken her over 20 years to achieve this breakthrough.
She got hurt multiple times, but she soldiered on
Farah Ann had a chance to perform at the Rio Olympics 2016, but she encountered a major setback when she was deemed unqualified.
Throughout it all, her journey to be crowned Malaysia's gymnastic queen hasn't been easy either, and not for lack of trying.
At the age of eleven, Farah Ann fell during a tournament and hurt her knee. After a year's break, she got back into the sport.
Fast forward to 2010 right before Malacca Sukma games, Farah Ann injured her spine. She pushed through until the following year, when she fell and fractured her shoulder at the 2011 World Championships.
She thought about quitting the sport, but she carried on with the full support from her sister Katrina Ann, the national swimmer, until she was injured again in 2013. This time she was forced to take a break, before making a comeback in April 2014.
What didn't kill her, has made her stronger.
The Olympic medals drought
For years, Malaysians have mainly focused on badminton when it comes to the Olympics. Without the legend Lee Chong Wei, Malaysia's future in the Olympics looks bleak.
Even in talks of Malaysia's spot at the Tokyo Olympics, other sports mentioned as having potential to bring back medals are diving, cycling, and hockey.
No one has paid enough attention to gymnastics because the last time the Jalur Gemilang was seen on the mat, Ng Shu Wai was representing the men's category at the 2004 Athens Olympics. Before that, Alexina Au Li Yen performed at the 2000 Sydney Olympics.
Farah Ann as photographed by Glam.
The bar is set extremely high, and for Farah Ann, not giving up hope and staying positive are her best practices to earn a place at the biggest game in the world. She has become the first Malaysian female artistic gymnast to make it to the Olympics after 20 years.
Other than excelling gymnastics, Farah Ann is also blessed with a pretty face which has made her features on Glam's cover girl and Gillette Venus's ambassador a sight for sore eyes.
This gold-medal gymnast aspires to be an inspiration for younger girls who dream to make it as an athlete.
"You have to be very, very passionate about what you want to pursue. If it's gymnastics, if it's diving, if it's swimming, or any types of sport, you need to believe in yourself. You need to believe in the goals that you set for yourself." – Farah Ann Abdul Hadi
Want More Story From Us?


The fashion industry is notoriously demanding, but model Karlie Kloss recently talked about an experience that shows just how demanding it can be.
During a Monday event at the Cannes Lions International Festival of Creativity, Kloss spoke about her struggle to please casting agents—specifically when it came to the size of her body. "I was called both too fat and too thin by a casting agent on the same day," Kloss shared, according to Page Six. This goes without saying, but that's absurd.
Kloss explained that despite the clearly ridiculous and contradictory standards set by the industry—or perhaps because of them—she has shifted her focus from her weight to her health and strength. "I don't want to please anyone but myself," she said.
Kloss went on to talk about the other ways she prioritizes health from the inside out—like through her coding and computer science classes. "At my core, I am totally a nerd. I love understanding how things work," she said. "I am so passionate about [computer science], genuine[ly]."
Kloss, who started her "Kode With Klossy" computer science summer camps for young girls last year, has never been one to hide her inner geek. She joined scientist Bill Nye on his Netflix show Bill Nye Saves the World as a special correspondent, where she helped explain climate change to celebrity guests. And last year, she told W she wanted "a trip to space" for Christmas—as well as the more practical Nintendo NES Classic.
She's got the right idea: Learning to code and traveling to space will undoubtedly serve international supermodel Kloss much better than bending to every whim of every fickle, body-shaming casting director.


Wire plays a huge part in creating jewellery pieces. May it be for stringing, wrapping or creating individual pieces just from wire, there is a vast choice of different wires on the market today. But which wire goes best with what idea? We thought we would try to shed some light on the maze that is beading wire. Our info will include some details on wire sizes, wire types, their suitability, tools and some jewellery making techniques.
WHAT SIZE WIRE DO I USE?
Wire measurements can be in either mm or gauge (American denomination) whereby the smaller the number for mm the higher the number for gauge. Just to confuse us even more.
Wires up to 0.5mm (24 gauge) – They are great for wrapping and threading. Perfect for wrapping around gemstones, for threading on beads or for intricate wire work as the wire is easy to work with and can be manipulated. But of course the higher you go within this size range the stronger your design will be.
Wires between 0.5mm – 1.5mm (17 gauge) – Ideal for creating your own findings and larger wire shapes.
Wires between 1.5mm – 3mm (11 gauge) – Good for making your own rings, bracelets and bangles or for framing and structured wire designs.
Wires between 3mm – 4mm (8 gauge) – Good for bangles or cuffs and perfect for chunky statement jewellery. To note though is that this wire is rather strong and it can be quite tough to work with. So it will require some getting used-to and some elbow grease.
DOES WIRE COME IN DIFFERENT SHAPES?
The answer is YES. Wire can have different shapes. Here we have listed the most common ones.
Round wire is THE most commonly used wire shape and it is available in many sizes. It's popular due to its versatility as you can pretty much use it for anything. A lot of jewellery making techniques are based on it and you can also use it perfectly for making own findings.
Square wire is almost equally as versatile as round wire and it is commonly used for making bangles and rings. However it is stronger that its round counterpart and therefore preferred when a thicker, sturdier frame is required.
This wire is ideal for stacked rings and creating your own jewellery findings. It will also add a nice touch to designs that require silver-smithing, for example to set a decorative accent around a bezel.
This wire is a favourite for projects involving silver-smithing and for making your own rings and bangles.
Now this is the part where it gets tricky as the chosen wire will have a monumental effect on your design. Here is a little list of different wire varieties.
Perfect if working with a flame as this wire will not stain when heated. Fine silver is softer than sterling silver, so people often use it for wire wrapping designs.
Precious metal wire adds value to your designs and it has a lasting quality. This will also be reflected in the price when you buy this wire. We would therefore recommend to practice with standard wire first before you start using this precious metal.
Eco Silver is a round wire made from recycled Sterling Silver. It works and feels just the same as the above precious metal, but it is kind to our environment.
Plated wire consists of a copper core with a high level plated coating. Plated wire will give your designs the look of real Silver or Gold for the fraction of the price. This wire is easy to work with, however it is a little stronger than wire made of Sterling Silver as that wire has been softened.
Copper wire has a lovely rich red tone and works perfectly with colourful designs. As it is probably the most cost effective of all wires we would recommend you start with it on your path to wire design perfection.
Brass wire has a wonderful deep golden colour and works beautifully in many designs. Brass is a little stiffer than other wires and a little harder to work with. However, it does give designs a glorious finish.
SilverSilk is a uniquely knitted chain made of 99.9% pure enamelled copper wires that are almost as thin as a human hair. The chain is soft to the touch, light as a feather and incredibly durable.
To see our vast selection of all things wire please see HERE.
Plated, Copper and Brass Wires are metal-based and may tarnish over time. Do not expose the wire or finished design to creams, perfumes or any factors that could potentially start the tarnishing process. Most wires will be labelled as Tarnish-Resistant which in other words means the wire will hold on for as long as it can before it will succumb to changing its colour. Try to go for the Non-Tarnish option. However, do not fret! You can get an acrylic lacquer which, when applied to your design, forms a clear barrier and protects the wire from tarnishing.
It's always useful to have a good selection of tools that will help you to make the creation of your wire design easier. Here is a list of tools that any wire worker should have.
A must-have! Use these for rounding wire, making loops, creating jump rings and individual findings.
Use these for bending metal sheets and wire. Their clamps are conically shaped and some even have a tilted peak which helps to close jump rings in tight spots.
Ideal for gripping wider surfaces, bending wire at an angle and holding small beads.
These are amazing as they will not damage, mark or scratch the wire surface. They are particularly useful for straightening out kinks in wire.
They are essential for cutting and trimming with minimal effort.
To view all of our pliers and wire cutters for jewellery making click HERE.
There are also some little helpers that you can use for manipulating your wire into certain designs.
THING-A-MA JIG: Allows you to form your own elaborate wire designs by placing pegs within slots and wrapping your wire around them for the desired effect.
ARTISTIC WIRE 3D BRACELET JIG: Similar to the Thing-A-Majig, you can create a bracelet with a creative wire design by placing pegs around the bracelet jig and wrapping your wire around them.
ARTISTIC WIRE STRAIGHTENER: As the name says, this little tool will help you even out even the most stubborn of wire kinks.
If you would like to use a thicker wire when working with beads but the holes are not big enough, a bead reamer is a great tool to easily enlarge bead holes. To view our bead reamers click HERE.
Now that you know more about sizes, wires types and tools we will list the most frequently used wire techniques.
Wire wrapping refers to a technique that involves wrapping objects such as stones and components into part of a design. This can be done by wrapping the wire fully around the object in the sense of creating a cage and/or wrapping it around the object in a way as to create a bail. It is also a technique used to make connections and findings.
Wire weaving is when a thinner piece of wire is woven in between at least two thicker pieces of wire or components. Weaving gives designs new dimensions and it has a beautiful smooth texture. Make sure that the wire you weave with is fairly soft so you can manipulate it easily.
Coiling is kind of a mix between wrapping and weaving. Soft wire is wrapped around a strong wire frame. It can be used to add loops or it can be a feature within the design. Coiling in a design can have a stunning effect and it is often used together with wire weaving.
These are only a few of popular techniques, but the list goes still on as you can use wire also for Stringing, Looming, Chain Maille, Knotting, Kumihimo and Crochet.
We ourselves have tried to get creative with wire and put together for you a DIY creative idea for our sparkling Alice Band which will add extra sparkle to any occasion and designed a kit for a set of gorgeous ear hoops.
You can also find some books that will introduce the art of wire wrapping and Chain Maille to you – please click HERE.
Now go and get all wired up!