text:
import atexit
from concurrent import futures
from dataclasses import dataclass
import grpc
import logging
from itertools import chain
import json
import psutil
import socket
import sys
from threading import Lock, Thread, RLock
import time
import traceback
from typing import Any, Callable, Dict, List, Optional, Tuple

import ray
from ray.cloudpickle.compat import pickle
from ray.job_config import JobConfig
import ray.core.generated.ray_client_pb2 as ray_client_pb2
import ray.core.generated.ray_client_pb2_grpc as ray_client_pb2_grpc
from ray.util.client.common import (ClientServerHandle,
                                    CLIENT_SERVER_MAX_THREADS, GRPC_OPTIONS)
from ray._private.parameter import RayParams
from ray._private.services import ProcessInfo, start_ray_client_server
from ray._private.utils import detect_fate_sharing_support

logger = logging.getLogger(__name__)

CHECK_PROCESS_INTERVAL_S = 30

MIN_SPECIFIC_SERVER_PORT = 23000
MAX_SPECIFIC_SERVER_PORT = 24000

CHECK_CHANNEL_TIMEOUT_S = 10

LOGSTREAM_RETRIES = 5
LOGSTREAM_RETRY_INTERVAL_SEC = 2

def _get_client_id_from_context(context: Any) -> str:
    """
    Get `client_id` from gRPC metadata. If the `client_id` is not present,
    this function logs an error and sets the status_code.
    """
    metadata = {k: v for k, v in context.invocation_metadata()}
    client_id = metadata.get("client_id") or ""
    if client_id == "":
        logger.error("Client connecting with no client_id")
        context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
    return client_id

@dataclass
class SpecificServer:
    port: int
    process_handle_future: futures.Future
    channel: "grpc._channel.Channel"

    def wait_ready(self, timeout: Optional[float] = None) -> None:
        """
        Wait for the server to actually start up.
        """
        res = self.process_handle_future.result(timeout=timeout)
        if res is None:
            # This is only set to none when server creation specifically fails.
            raise RuntimeError("Server startup failed.")

    def poll(self) -> Optional[int]:
        """Check if the process has exited."""
        try:
            proc = self.process_handle_future.result(timeout=0.1)
            if proc is not None:
                return proc.process.poll()
        except futures.TimeoutError:
            return

    def kill(self) -> None:
        """Try to send a KILL signal to the process."""
        try:
            proc = self.process_handle_future.result(timeout=0.1)
            if proc is not None:
                proc.process.kill()
        except futures.TimeoutError:
            # Server has not been started yet.
            pass

    def set_result(self, proc: Optional[ProcessInfo]) -> None:
        """Set the result of the internal future if it is currently unset."""
        if not self.process_handle_future.done():
            self.process_handle_future.set_result(proc)

def _match_running_client_server(command: List[str]) -> bool:
    """
    Detects if the main process in the given command is the RayClient Server.
    This works by ensuring that the the first three arguments are similar to:
        <python> -m ray.util.client.server
    """
    flattened = " ".join(command)
    rejoined = flattened.split()
    if len(rejoined) < 3:
        return False
    return rejoined[1:3] == ["-m", "ray.util.client.server"]

class ProxyManager():
    def __init__(self,
                 redis_address: Optional[str],
                 session_dir: Optional[str] = None):
        self.servers: Dict[str, SpecificServer] = dict()
        self.server_lock = RLock()
        self._redis_address = redis_address
        self._free_ports: List[int] = list(
            range(MIN_SPECIFIC_SERVER_PORT, MAX_SPECIFIC_SERVER_PORT))

        self._check_thread = Thread(target=self._check_processes, daemon=True)
        self._check_thread.start()

        self.fate_share = bool(detect_fate_sharing_support())
        self._node: Optional[ray.node.Node] = None
        atexit.register(self._cleanup)

    def _get_unused_port(self) -> int:
        """
        Search for a port in _free_ports that is unused.
        """
        with self.server_lock:
            num_ports = len(self._free_ports)
            for _ in range(num_ports):
                port = self._free_ports.pop(0)
                s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                try:
                    s.bind(("", port))
                except OSError:
                    self._free_ports.append(port)
                    continue
                finally:
                    s.close()
                return port
        raise RuntimeError("Unable to succeed in selecting a random port.")

    @property
    def redis_address(self) -> str:
        """
        Returns the provided Ray Redis address, or creates a new cluster.
        """
        if self._redis_address:
            return self._redis_address
        # Start a new, locally scoped cluster.
        connection_tuple = ray.init()
        self._redis_address = connection_tuple["redis_address"]
        self._session_dir = connection_tuple["session_dir"]
        return self._redis_address

    @property
    def node(self) -> ray.node.Node:
        """Gets a 'ray.Node' object for this node (the head node).
        If it does not already exist, one is created using the redis_address.
        """
        if self._node:
            return self._node

        self._node = ray.node.Node(
            RayParams(redis_address=self.redis_address),
            head=False,
            shutdown_at_exit=False,
            spawn_reaper=False,
            connect_only=True)

        return self._node

    def create_specific_server(self, client_id: str) -> SpecificServer:
        """
        Create, but not start a SpecificServer for a given client. This
        method must be called once per client.
        """
        with self.server_lock:
            assert self.servers.get(client_id) is None, (
                f"Server already created for Client: {client_id}")
            port = self._get_unused_port()
            server = SpecificServer(
                port=port,
                process_handle_future=futures.Future(),
                channel=grpc.insecure_channel(
                    f"localhost:{port}", options=GRPC_OPTIONS))
            self.servers[client_id] = server
            return server

    def start_specific_server(self, client_id: str,
                              job_config: JobConfig) -> bool:
        """
        Start up a RayClient Server for an incoming client to
        communicate with. Returns whether creation was successful.
        """
        specific_server = self._get_server_for_client(client_id)
        assert specific_server, f"Server has not been created for: {client_id}"

        serialized_runtime_env = job_config.get_serialized_runtime_env()

        output, error = self.node.get_log_file_handles(
            f"ray_client_server_{specific_server.port}", unique=True)

        proc = start_ray_client_server(
            self.redis_address,
            specific_server.port,
            stdout_file=output,
            stderr_file=error,
            fate_share=self.fate_share,
            server_type="specific-server",
            serialized_runtime_env=serialized_runtime_env,
            session_dir=self.node.get_session_dir_path())

        # Wait for the process being run transitions from the shim process
        # to the actual RayClient Server.
        pid = proc.process.pid
        if sys.platform != "win32":
            psutil_proc = psutil.Process(pid)
        else:
            psutil_proc = None
        # Don't use `psutil` on Win32
        while psutil_proc is not None:
            if proc.process.poll() is not None:
                logger.error(
                    f"SpecificServer startup failed for client: {client_id}")
                break
            cmd = psutil_proc.cmdline()
            if _match_running_client_server(cmd):
                break
            logger.debug(
                "Waiting for Process to reach the actual client server.")
            time.sleep(0.5)
        specific_server.set_result(proc)
        logger.info(f"SpecificServer started on port: {specific_server.port} "
                    f"with PID: {pid} for client: {client_id}")
        return proc.process.poll() is None

    def _get_server_for_client(self,
                               client_id: str) -> Optional[SpecificServer]:
        with self.server_lock:
            client = self.servers.get(client_id)
            if client is None:
                logger.error(f"Unable to find channel for client: {client_id}")
            return client

    def get_channel(
            self,
            client_id: str,
    ) -> Optional["grpc._channel.Channel"]:
        """
        Find the gRPC Channel for the given client_id. This will block until
        the server process has started.
        """
        server = self._get_server_for_client(client_id)
        if server is None:
            return None
        # Wait for the SpecificServer to become ready.
        server.wait_ready()
        try:
            grpc.channel_ready_future(
                server.channel).result(timeout=CHECK_CHANNEL_TIMEOUT_S)
            return server.channel
        except grpc.FutureTimeoutError:
            logger.exception(f"Timeout waiting for channel for {client_id}")
            return None

    def _check_processes(self):
        """
        Keeps the internal servers dictionary up-to-date with running servers.
        """
        while True:
            with self.server_lock:
                for client_id, specific_server in list(self.servers.items()):
                    if specific_server.poll() is not None:
                        del self.servers[client_id]
                        # Port is available to use again.
                        self._free_ports.append(specific_server.port)

            time.sleep(CHECK_PROCESS_INTERVAL_S)

    def _cleanup(self) -> None:
        """
        Forcibly kill all spawned RayClient Servers. This ensures cleanup
        for platforms where fate sharing is not supported.
        """
        for server in self.servers.values():
            server.kill()

class RayletServicerProxy(ray_client_pb2_grpc.RayletDriverServicer):
    def __init__(self, ray_connect_handler: Callable,
                 proxy_manager: ProxyManager):
        self.proxy_manager = proxy_manager
        self.ray_connect_handler = ray_connect_handler

    def _call_inner_function(
            self, request, context,
            method: str) -> Optional[ray_client_pb2_grpc.RayletDriverStub]:
        client_id = _get_client_id_from_context(context)
        chan = self.proxy_manager.get_channel(client_id)
        if not chan:
            logger.error(f"Channel for Client: {client_id} not found!")
            context.set_code(grpc.StatusCode.NOT_FOUND)
            return None

        stub = ray_client_pb2_grpc.RayletDriverStub(chan)
        try:
            return getattr(stub, method)(
                request, metadata=[("client_id", client_id)])
        except Exception:
            logger.exception(f"Proxying call to {method} failed!")

    def Init(self, request, context=None) -> ray_client_pb2.InitResponse:
        return self._call_inner_function(request, context, "Init")

    def PrepRuntimeEnv(self, request,
                       context=None) -> ray_client_pb2.PrepRuntimeEnvResponse:
        return self._call_inner_function(request, context, "PrepRuntimeEnv")

    def KVPut(self, request, context=None) -> ray_client_pb2.KVPutResponse:
        return self._call_inner_function(request, context, "KVPut")

    def KVGet(self, request, context=None) -> ray_client_pb2.KVGetResponse:
        return self._call_inner_function(request, context, "KVGet")

    def KVDel(self, request, context=None) -> ray_client_pb2.KVDelResponse:
        return self._call_inner_function(request, context, "KVGet")

    def KVList(self, request, context=None) -> ray_client_pb2.KVListResponse:
        return self._call_inner_function(request, context, "KVList")

    def KVExists(self, request,
                 context=None) -> ray_client_pb2.KVExistsResponse:
        return self._call_inner_function(request, context, "KVExists")

    def ClusterInfo(self, request,
                    context=None) -> ray_client_pb2.ClusterInfoResponse:

        # NOTE: We need to respond to the PING request here to allow the client
        # to continue with connecting.
        if request.type == ray_client_pb2.ClusterInfoType.PING:
            resp = ray_client_pb2.ClusterInfoResponse(json=json.dumps({}))
            return resp
        return self._call_inner_function(request, context, "ClusterInfo")

    def Terminate(self, req, context=None):
        return self._call_inner_function(req, context, "Terminate")

    def GetObject(self, request, context=None):
        return self._call_inner_function(request, context, "GetObject")

    def PutObject(self, request: ray_client_pb2.PutRequest,
                  context=None) -> ray_client_pb2.PutResponse:
        return self._call_inner_function(request, context, "PutObject")

    def WaitObject(self, request, context=None) -> ray_client_pb2.WaitResponse:
        return self._call_inner_function(request, context, "WaitObject")

    def Schedule(self, task, context=None) -> ray_client_pb2.ClientTaskTicket:
        return self._call_inner_function(task, context, "Schedule")

def ray_client_server_env_prep(job_config: JobConfig) -> JobConfig:
    return job_config

def prepare_runtime_init_req(init_request: ray_client_pb2.DataRequest
                             ) -> Tuple[ray_client_pb2.DataRequest, JobConfig]:
    """
    Extract JobConfig and possibly mutate InitRequest before it is passed to
    the specific RayClient Server.
    """
    init_type = init_request.WhichOneof("type")
    assert init_type == "init", ("Received initial message of type "
                                 f"{init_type}, not 'init'.")
    req = init_request.init
    job_config = JobConfig()
    if req.job_config:
        job_config = pickle.loads(req.job_config)
    new_job_config = ray_client_server_env_prep(job_config)
    modified_init_req = ray_client_pb2.InitRequest(
        job_config=pickle.dumps(new_job_config))

    init_request.init.CopyFrom(modified_init_req)
    return (init_request, new_job_config)

class DataServicerProxy(ray_client_pb2_grpc.RayletDataStreamerServicer):
    def __init__(self, proxy_manager: ProxyManager):
        self.num_clients = 0
        self.clients_lock = Lock()
        self.proxy_manager = proxy_manager

    def modify_connection_info_resp(self,
                                    init_resp: ray_client_pb2.DataResponse
                                    ) -> ray_client_pb2.DataResponse:
        """
        Modify the `num_clients` returned the ConnectionInfoResponse because
        individual SpecificServers only have **one** client.
        """
        init_type = init_resp.WhichOneof("type")
        if init_type != "connection_info":
            return init_resp
        modified_resp = ray_client_pb2.DataResponse()
        modified_resp.CopyFrom(init_resp)
        with self.clients_lock:
            modified_resp.connection_info.num_clients = self.num_clients
        return modified_resp

    def Datapath(self, request_iterator, context):
        client_id = _get_client_id_from_context(context)
        if client_id == "":
            return

        # Create Placeholder *before* reading the first request.
        server = self.proxy_manager.create_specific_server(client_id)
        try:
            with self.clients_lock:
                self.num_clients += 1

            logger.info(f"New data connection from client {client_id}: ")
            init_req = next(request_iterator)
            try:
                modified_init_req, job_config = prepare_runtime_init_req(
                    init_req)
                if not self.proxy_manager.start_specific_server(
                        client_id, job_config):
                    logger.error(
                        f"Server startup failed for client: {client_id}, "
                        f"using JobConfig: {job_config}!")
                    raise RuntimeError(
                        "Starting up Server Failed! Check "
                        "`ray_client_server.err` on the cluster.")
                channel = self.proxy_manager.get_channel(client_id)
                if channel is None:
                    logger.error(f"Channel not found for {client_id}")
                    raise RuntimeError(
                        "Proxy failed to Connect to backend! Check "
                        "`ray_client_server.err` on the cluster.")
                stub = ray_client_pb2_grpc.RayletDataStreamerStub(channel)
            except Exception:
                init_resp = ray_client_pb2.DataResponse(
                    init=ray_client_pb2.InitResponse(
                        ok=False, msg=traceback.format_exc()))
                init_resp.req_id = init_req.req_id
                yield init_resp
                return None

            new_iter = chain([modified_init_req], request_iterator)
            resp_stream = stub.Datapath(
                new_iter, metadata=[("client_id", client_id)])
            for resp in resp_stream:
                yield self.modify_connection_info_resp(resp)
        except Exception:
            logger.exception("Proxying Datapath failed!")
        finally:
            server.set_result(None)
            with self.clients_lock:
                logger.debug(f"Client detached: {client_id}")
                self.num_clients -= 1

class LogstreamServicerProxy(ray_client_pb2_grpc.RayletLogStreamerServicer):
    def __init__(self, proxy_manager: ProxyManager):
        super().__init__()
        self.proxy_manager = proxy_manager

    def Logstream(self, request_iterator, context):
        client_id = _get_client_id_from_context(context)
        if client_id == "":
            return
        logger.debug(f"New logstream connection from client {client_id}: ")

        channel = None
        # We need to retry a few times because the LogClient *may* connect
        # Before the DataClient has finished connecting.
        for i in range(LOGSTREAM_RETRIES):
            channel = self.proxy_manager.get_channel(client_id)

            if channel is not None:
                break
            logger.warning(
                f"Retrying Logstream connection. {i+1} attempts failed.")
            time.sleep(LOGSTREAM_RETRY_INTERVAL_SEC)

        if channel is None:
            context.set_code(grpc.StatusCode.UNAVAILABLE)
            return None

        stub = ray_client_pb2_grpc.RayletLogStreamerStub(channel)

        resp_stream = stub.Logstream(
            request_iterator, metadata=[("client_id", client_id)])
        try:
            for resp in resp_stream:
                yield resp
        except Exception:
            logger.exception("Proxying Logstream failed!")

def serve_proxier(connection_str: str,
                  redis_address: str,
                  session_dir: Optional[str] = None):
    server = grpc.server(
        futures.ThreadPoolExecutor(max_workers=CLIENT_SERVER_MAX_THREADS),
        options=GRPC_OPTIONS)
    proxy_manager = ProxyManager(redis_address, session_dir)
    task_servicer = RayletServicerProxy(None, proxy_manager)
    data_servicer = DataServicerProxy(proxy_manager)
    logs_servicer = LogstreamServicerProxy(proxy_manager)
    ray_client_pb2_grpc.add_RayletDriverServicer_to_server(
        task_servicer, server)
    ray_client_pb2_grpc.add_RayletDataStreamerServicer_to_server(
        data_servicer, server)
    ray_client_pb2_grpc.add_RayletLogStreamerServicer_to_server(
        logs_servicer, server)
    server.add_insecure_port(connection_str)
    server.start()
    return ClientServerHandle(
        task_servicer=task_servicer,
        data_servicer=data_servicer,
        logs_servicer=logs_servicer,
        grpc_server=server,
    )

redpajama_set_name: RedPajamaGithub


text:
Q: Retrieve TBW / Total LBA Written using RAID 0 I have two SSDs ( WDS500G1B0A-00H9H0 ) in RAID 0 and I want to know how many terabytes have been written on them so far.
However, the Total_LBAs_Written attribute gives me an incorrect value ( < 50'000 ).
I searched for a solution and tried DiskSmartView and HDD Guardian so far, but both failed to give me a plausible value, so I assumed the difficulties are based on the RAID configuration, but I could not find any solution. Any ideas?

Edit (08/05/21):
I had a look into my BIOS and it would appear that stupid past me disabled S.M.A.R.T.
So, I'd assume that this is the reason for the Total_LBSa_Written attribute being incorrect, but why do attributes like the Power_On_Hours and Power_Cycle_Count then show reasonable values? Are they not affected by the BIOS setting?
Also, some more information (that I should've probably added from the beginning):
S.M.A.R.T output:
https://www.diffchecker.com/k7YWqhDc
Disk Management:

A: S.M.A.R.T. was never really standardized and therefore, the definitions of the attribute IDs are pretty much entirely up to the vendor of a specific drive.
For accurate "interpretations" of the data, it's best to use the utility provided by the vendor, namely the Western Digital Dashboard in your case. (Some vendors might provide datasheet that includes the definitions.)
Looks like the field in concern is in the unit of G(i?)B instead of logical block.

A: Wikipedia S.M.A.R.T.
defines these values, but does not define their meaning:

The early idea was for "Total_LBAs_*" fields to be counted in disk sectors
and be 48-bits large (compared with 32-bits fro all other fields),
which at the time were 512 bytes long, as documented by
Samsung:

ID # 241 Total LBAs Written
Represents the total size of all LBAs (Logical Block Address) required
for all of the write requests sent to the SSD from the OS. To
calculate the total size (in Bytes), multiply the raw value of this
attribute by 512B.

However, modern big disks have nixed that first number, and from then on the
standards seem to be undefined.
I have found an Intel Application Note from 2017:
Intel Solid State Drive Data Center for SATA - SMART Attributes
in which I have found this text:

So what we have is that one very influential manufacturer has defined
the LBA size as 32MB.
I do not know if this was accepted by other manufacturers, but using it for
your Total_LBSa_Written value of 49217, this is calculated as:
14848 * 32 MB / 1024 = 464 GB

It's up to you to judge if this value seems logical for the disk in question.

redpajama_set_name: RedPajamaStackExchange


Brand new and amazing value for money, these comfort headcollars from LeMieux feature a super-soft (feeling is believing!) faux fur/sheepskin padding around the poll, cheekpieces and across the nose.
Perfect for sensitive equines, these headcollars are designed to prevent rubbing in all areas around the horses head. Perfect for travelling or when the horse has to wear a headcollar for prolonged periods of time, the Comfort Headcollar is super soft, padded and shock absorbent too.
This easy to use design features adjustable noseband and is adjustable at both sides of the horses head too. Easy to put on and remove, the headcollar also has a throat lash clip.


The Chamber staff is a team of professionals who work diligently in supporting our membership. On a daily basis we answer questions from members, the community and visitors. The staff manages daily operations, on-going programs and events, provide business referrals, as well as strong leadership and support to the community.
Serves our members through business promotional opportunities, builds strategic relationships, responsible for managing budgets and overall operations, manages tourism efforts and ITC Grant, hires and develops staff and is responsible for key programs of the Chamber.
Promotes member businesses, manages daily operations and performs administrative functions for the Visitor Center and community events.
Manages the weekly Chamber Connections newsletter and Chamber websites, writes press releases promoting featured businesses, manages social media, promotes events and assists with tourism.


wow about the Alaskan volcano, which year was that?
Mount Cleveland in Alaska is an active volcano with multiple recent eruptions. The eruption pictured on 2006 June 07 APOD was captured from the ISS on 2006 May 23.
It's amazing to see how the earth has changed even in the short period since this series was recorded. I appreciate how RN described common objects that we still have many things to explain and discover. It invokes a sense of awe and wonder! I just bought my first telescope. Can't wait to see the moon!
Which link isn't working? The mp4 and the powerpoint both seem to work for me.


text:
The Difference between Nonrenewable and Renewable Energy
A WWII era decision creating a nonrenewable nuclear energy industry repressed the renewable solar energy industry. Definitions, qualifiers, pros/cons in battle between renewable/nonrenewable energy is like Armageddon's battle between good/evil before Judgement Day. The deadline to save the planet looms. We must do better.
What is Solar Power Generator? Reading The Difference between Nonrenewable and Renewable Energy 28 minutes Next How does a Solar Generator Work?
By Diane Underhill Aug 24, 2022
Table of Content [ Show ]
What is nonrenewable energy?
What are fossil fuels?
What are the disadvantages of fossil fuels?
Why are fossil fuels nonrenewable energy?
Why is nuclear energy nonrenewable energy?
How many nuclear accidents have happened?
Is nuclear waste being dumped/stored in our oceans?
Why is nonrenewable energy bad?
Tipping point for climate change just 10 years
Is recovery possible after decades of past use of polluting nonrenewable energy?
What is renewable energy?
Is Renewable Energy same as Green Energy?
Will renewable energy cause a net job loss to economies?
Green and renewable energy conclusions
How is historic drought threatening renewable energy hydropower generation?
Which renewable energy sources would be available for home use?
Our choices now, affect future generations
Decades ago, the question was asked:
Should we go with nuclear or solar energy?
Around the time of WWII, the US stood at a crossroads. Should the country pursue and support solar energy, or should it stay with the hydropower and existing coal and gas-powered electric plants as well as move in the direction of nuclear power? At that time, the decision was made to stay with traditional power sources and to develop a nuclear power industry. This decision was made perhaps partly to justify continued work on the nuclear weapons program, perhaps partly because nuclear power had the allure of a new and modern technology, and, perhaps partly because of the difficulty created for established utilities to charge for solar power when sunlight shines everywhere for free.
In any event -- and hindsight is 20/20 -- the country took a wrong turn for long-term energy security and long-term environmental health. We opted for the path of status quo hydropower, existing nonrenewable energy power plants and added nuclear power. With America's leader status in the world, this decision basically put humankind on a path of depleting our limited natural resources and polluting the planet, both through continued destructive mining for these natural resource-power sources and by the relentless releasing of hazardous substances and polluting emissions into our atmosphere, water, and natural environment.
This decision to stay with mainly nonrenewable energy sources and to pursue nuclear power also resulted in the repression of solar energy technology. Now we must play catch up. Now we have less than a decade to try to correct the damage these previous decisions --made decades in the past-- have caused. Scientific studies now show that we will reach a tipping point where it will be extremely difficult to restore a natural balance if we do not expedite the transition to cleaner renewable energy.
To successfully address the climate crisis we now face, we must start by educating ourselves and our children on what the difference is between nonrenewable and renewable energy sources. We have no time to waste, so let's begin. First, we will look at definitions for nonrenewable energy and why it is a bad choice for the US and the world. Next, we will look at renewable energy and why it is the right choice. Lastly, we will discuss the need to accelerate the transition to renewable energy sources which may allow the world to survive and thrive.
Nonrenewable energy includes fossil fuels like coal, oil, and natural gas as well as nuclear power. The first thing that qualifies these energy sources as nonrenewable energy is that they are fueled by finite, natural resources that over time will deplete and run out. The second qualifier that identifies these energy sources as nonrenewable is when we use them, they create toxic byproducts that pollute our world and its ecosystems.
Fossil Fuels (hydrocarbons) are organic matter (think dead dinosaurs, animals, and plant matter) that decayed in the Earth (sometimes for millions of years) to produce "fossil fuels" like oil, coal, and natural gas.
A big disadvantage of fossil fuels is that to release their energy they must be burned. When these fuels are burned unhealthful byproducts that impact humans, animals, plant life, oceans and basically the planet are released into the environment -- like the toxic greenhouse gases we've been discussing that contribute to global warming.
Another disadvantage is that often the fossil fuel extraction processes themselves (fracking, drilling, strip mining...) also pollute or otherwise significantly damage ecosystems. To look at a couple of examples:
Oil drilling is plagued by inevitable leaks and spills into the surrounding environment both on land and at sea. Additionally, the chemicals used in drilling techniques like hydraulic fracturing threaten our air and water with toxic pollution. Further, fracking or drilling for oil could endanger underground water storage aquifers, or cause land subsidence, or erosion.
Coal mining creates "acid mine drainage" which allows heavy metals to dissolve and seep into surface water (creeks and rivers) as well as groundwater aquifers – all are sources that we use to supply drinking water.
Another disadvantage to fossil fuels is that because they are finite, there is not enough of these natural resources available to provide energy on an ongoing basis for our world's growing population.
Additionally, it would be an oversight not to mention the political disadvantage of fossil fuels – that they provide money and power to some world regimes that do not have mankind's best interests in their hearts.
Fossil fuels are considered nonrenewable energy because the Earth's supply of these fuels is finite and will eventually be depleted. Additionally fossil fuels are categorized as nonrenewable energy because when used, they pollute, emitting toxic substances into the environment and C02 and other harmful greenhouse gases into the atmosphere.
Greenhouse gases get their name from the "greenhouse effect" because in effect they wrap the Earth's atmosphere like a blanket and trap some solar radiation heat that would otherwise "bounce off" the Earth's surfaces to reflect harmlessly back into space. These gases are the predominant cause of the current global-warming crisis. They can remain in the atmosphere for hundreds of years. It's imperative we change our energy production methods immediately.
The US Environmental Protection Agency website about "Climate Change Indicators" give these facts:
"Climate forcing refers to a change in the Earth's energy balance, leading to either a warming or cooling effect over time. An increase in the atmospheric concentrations of greenhouse gases produces a positive climate forcing, or warming effect."
"Human activities are responsible for almost all of the increase in greenhouse gases in the atmosphere over the last 150 years"
"The largest source of greenhouse gas emissions in the U.S. is from burning fossil fuels for electricity, heat, and transportation."
"Historical measurements show that the current global atmospheric concentrations of carbon dioxide are unprecedented compared with the past 800,000 years, even after accounting for natural fluctuations."
Nuclear energy is a nonrenewable energy source because the fuel rods used in the nuclear power plant are created with uranium which is a finite limited resource; and, because nuclear power creates radioactive waste that can take thousands of years to decay. Plutonium-239, for example, has a half-life of 24,100 years -- meaning that half of its radioactivity will decay in 24,100 years! High-level nuclear wastes emit fatal radiation during even short periods of direct exposure. We run the risk of irrevocably damaging our world by continuing to introduce hazardous waste into the environment with that kind of extended half-life. Additionally, the long-term storage of these highly contaminated nuclear wastes, once spent, have always created problems.
The U.S. Government Accountability Office reported more than 150 incidents occurred from 2001 to 2006 where nuclear plants were not performing within acceptable safety guidelines. According to a 2010 survey of energy accidents, there have been at least 56 accidents at nuclear reactors in the U.S. Additionally, US government sources have recorded over 150 significant nuclear accidents worldwide since the first plant was built and commenced operations in 1954. Below is a very abbreviated list of some of these accidents that you may remember. (The first one listed is just 30 miles away and 63 years removed from our current office)
Santa Susana Field Lab - 1959 California USA- a partial nuclear meltdown caused by wildfires and human error.
Three Mile Island -1979 Middletown Pennsylvania – An equipment failure coupled with human error caused a core meltdown.
Chernobyl -1986 Ukraine – A major meltdown occurred which resulted in the creation of a 1600 square mile "exclusion zone" where humans are prohibited but (because the area wildlife cannot read the "keep-out" signs) studies have determined that the animals in the area are radioactive.
Fukushima - 2011 Japan – This is currently the world's number one radioactive area after a tsunami led to a meltdown in its reactors. Radioactive material spilled for over a year uncontained into the Pacific and the effects still plague the area, ocean, and wildlife today.
Davis–Besse Nuclear Power Station -2002 Ohio USA—According to the Nuclear Regulatory Commission this plant has been the source of "two of five of the most dangerous nuclear incidents in the U.S. since 1979, with the most severe occurring in March of 2022, when maintenance workers discovered corrosion had eaten a football-sized hole into the reactor vessel head."
Now we are watching a potential nuclear disaster unfolding in real time at:
Zaporizhzhia - 2022 Ukraine --The nuclear power plant is a pawn in Putin's war, and it seems he is willing to sacrifice this pawn. To make matters worse as bombs fall around this nuclear plant, there are also silos with nuclear waste on the site -- and further, if disturbed, the area's soil could release radiation. The world community has been warned that the contamination would likely impact not only Ukraine, but Russia and Europe as well. Let's not kid ourselves, nuclear power disasters do not respect our human drawn boundary lines. Winds blow across borderlines like they don't exist, rain washes contaminants into creeks and rivers that can cross through different lands to eventually empty into our shared world oceans. When a country has a meltdown at a nuclear site, the world community shares in the consequences of that meltdown.
The choice to pursue nuclear power and the repercussions of that fateful decision will haunt us and generations of our issue well into the future because -- even without accidents caused by wildfires, human error, equipment failure, wars, or natural disasters (like wildfires, earthquakes, and tsunamis) -- the truth is that the radioactive waste from nuclear power plants must be stored for several millennia before it stops radiating. How can this be a well thought-out, long-term energy policy?
The Russian navy regularly disposed its radioactive wastes at sea. Portions of the Barents, Kola and the Sea of Japan are known to be contaminated. In 1993 Russia dumped 900 tons of nuclear waste. Japan plans for 1.2 million tons of waste to be mixed with seawater and, over a 30-year period, it will be discharged through a sub-seabed pipe into the Pacific. This is not good stewardship of nuclear waste materials. Our oceans' ecosystems, although vast, are fragile. We must do better.
Nonrenewable energy is bad because it is not sustainable. The fossil fuels (oil, coal, natural gas) and the uranium needed for nuclear fission to sustain a nuclear reaction are limited resources that are finite. Nonrenewable energy's release of greenhouse gases and other environmentally damaging wastes is poisoning the planet and forcing climate change. Add to this the fact that a large portion of the world's oil is controlled by strongman dictators who can hold the world hostage to their whims in times of energy emergencies. This illustrates that for long term energy security, as well as environmental protection, we need to move away from these diminishing resources and move toward the infinite and inexhaustible renewable energy sources like sunlight, wind, and water.
"Tipping point" is defined as the critical balance point beyond which a significant, sometimes unstoppable effect takes place. A 2021 NPR report on Climate Change stated: "The current rate of greenhouse gas pollution is so high that Earth has about 11 years to rein in emissions if countries want to avoid the worst damage from climate change in the future." In no uncertain terms, the world has been put on notice that we have less than a decade to stop the wholesale polluting and destruction of our world to avoid the worst damage (things like ecosystem die-offs, major floods, extended droughts, with climate and weather cycles that become unlivable). We have just under ten years to completely change historic energy use -- to make better sustainable choices -- to reverse a world-wide environmental Armageddon that was put in motion decades ago.
A small bright spot showed during the Covid 19 pandemic, when people worldwide were sequestered in their homes and the repetitive traveling to and from work or other places was greatly reduced. The good news was that in this period of reduced activity (fewer cars on the roads, fewer planes in the air, fewer people in airconditioned workspaces...) the environment started to unstress -- that is, there were signs of environmental recovery because we were not burning so many fossil fuels and pumping so many pollutants into the atmosphere and environment. This demonstrates that if we drastically change our energy sources to clean, green, renewable energy -- there is hope.
On that note we will move to explore renewable energy solutions.
You can think of renewable energy as any source that is naturally replenished daily, such as solar power or wind power. At Nature's Generator we understand that sunlight is an inexhaustible source of energy we like to say — it's been shining for billions of years and will continue to shine for billions more. Wind is also a renewable resource -- it regenerates itself by blowing across land and water surfaces, essentially refilling its own tank every day.
So, now, imagine that every home, condo, apartment, garage, carport, RV, boat, ship, commercial office building, school, warehouse, church, temple, synagogue, mosque, fitness center, government center, retail mall, car dealership, grocery store... around the world had solar panels on their roof -- now realize that the sun (the energy source behind solar power) would not be the least bit exhausted or depleted by this image being realized.
That is a prime example of clean renewable energy. The criteria include first that it is inexhaustible, it cannot be depleted, and second that it does not create or emit toxic pollutants that are dumped into the environment.
A list of current renewable energy sources include wind, solar, geothermal energy (which use heat from underground), hydroelectric power (hydropower), wave and tidal generators.
Because renewable energy is plentiful – there is enough sunlight, wind, geothermal, hydropower and ocean motion available to provide power to the world's growing population. Through renewable energy sources like these we can cleanly correct the social injustices that have long plagued world energy markets and provide access to electricity for everyone.
How do 4 popular renewable energy sources work?
Solar panels are made up of photovoltaic cells, which convert sunlight into electricity. When you combine Nature's Generator's new, technologically advanced solar panels with our generator's storage batteries, which are modular and specifically designed to expand to meet the needs of different homes or situations, then you will be prepared for any emergency power outage, for avoiding peak hour utility charges, or for living off-the-grid. Then you will truly understand the power of freedom -- when you can control and harness the free energy of the sun.
Another form of free energy is wind energy which is a clean, renewable source of electrical power that's generated from the wind. Wind turbines are rotated by the force of the wind and are used to generate electricity. People often are not aware that the speed at which the wind turbine turns is important. Because Nature's Generator's wind turbines can generate more energy at lower wind speeds than other competitor's turbines, they are a sought-after tool to recharge our modular power generators.
Moreover, because wind power is a resource that is always available -- unlike the sun that sets each evening -- it is the perfect alternate power source to augment the solar panels in the Nature's Generator systems. In addition to the ability for the Nature's Generators wind turbines to create more power at lower wind speeds, it is also notable that our turbines are made of very durable cast metal alloys that withstand the wear and tear of normal natural weather conditions -- so they are longer lasting with less need to be taken offline for replacement.
Hydropower is a renewable energy source because it harnesses forces, such as rain or river flow, which are natural resources that will continue to replenish themselves over time. Hydroelectricity generation (hydro power) does not produce any greenhouse gases or air pollutants during operation. However, unless you live in an old, converted mill next to a river or creek it is a much more difficult source of power for you to adapt for individual home use.
Geothermal energy is a renewable energy source that uses the Earth's natural heat to produce electricity and heat homes (also called direct use). The process of using geothermal energy to produce clean electricity involves drilling deep into the ground, tapping into hot water or steam reservoirs, and then generating electricity with turbines and generators. And, if you live in Greenland or Iceland or some of the far Northern European countries you might very well be utilizing geothermal energy in your home for power. However, this power source is like hydropower in that it is probably only available at a utility company level. It is not an energy source that an individual homeowner can easily harness.
"Green energy" and "renewable energy" are terms that are sometimes used interchangeably. Renewable energy sources are theoretically infinite and inexhaustible in the amount of energy they can provide. The term green energy, like renewable, is often used to describe sources of power that emit little to no pollution and have zero emissions. Now it has also become common to use the term green energy to refer to electricity generated by environmentally friendly processes or organizations. Whether you call it green or renewable energy the key take away is that it does not harm the environment by releasing greenhouse gases into our atmosphere. As these gases are the biggest contributing factor in the climate change crisis, it is imperative that we must look to green, renewable energy in the future -- if we want a livable, sustainable future.
On the contrary, renewable energy can be a great investment for our country and for countries around the world, because it keeps the environment clean while also saving people money and creating jobs. The green industry sector is becoming one of the fastest growing areas in our own economy, so the transition to newer cleaner renewable energy will not only be good for our environment, but it will also be a catalyst for our economic future.
An article by Karin Kimbrough, LinkedIn's Chief Economist, reporting on the Sustainable Development Impact Summit 9/23/21 in Geneva Switzerland states:
"The last few months of extreme weather events have been a devastating reminder of the damage the climate change crisis is inflicting on communities around the world. As world leaders discuss options at gatherings like the UN General Assembly, the World Economic Forum's Sustainable Impact Development... a lot of discussion will focus on accelerating the shift to a green economy."
Continuing the LinkedIn Chief Economist states:
"One of the most notable industry changes we've tracked in LinkedIn jobs data is the shift away from oil and gas jobs and the surge in renewables and environment roles. In 2015, the ratio of US oil and gas jobs to renewables and environment jobs was 5:1, but by 2020 this ratio had closed to 2:1. At this rate, we expect that renewables and environment could actually outnumber oil and gas in total jobs on our platform by 2023, a major pendulum shift towards green jobs in a relatively short period."
To review, the term renewable energy sources means the power comes from sources that don't run out or pollute our planet and, in the case of wind and solar, are free to be harnessed by individual homeowners through solar panels or durable wind turbines. Below are some important benefits to remember about using renewables:
Renewable energy sources produce no greenhouse gases or air pollution meaning they don't contribute to climate change, and they do not create problems for human health or the planet's health.
Renewable energy doesn't harm wildlife or ecosystems like fossil fuels or nuclear energy do.
Renewables can be used in many ways – from powering electric vehicles to heating or cooling homes with solar panels on roofs or wind turbines in a yard. Because renewable energy is clean and abundant it can help us provide affordable electric power to everyone while also helping solve the global warming climate crisis we are now facing.
So, after exploring the differences between nonrenewable energy and renewable energy sources, you probably understand that there's a lot at stake in the decisions we make today – we need to ensure we do not repeat or compound past mistakes.
Which renewable energy sources would be available to me?
You want to do your part to save the planet. You understand that renewable energy sources are clean and sustainable which means they won't impact our environment negatively.
You want to know which of these renewable technologies could be used at your home so that you can start being part of the solution we need. Of these renewable energy sources, both solar and wind power lend themselves to being harnessed by individual homeowners. We want you to know that it is the Nature's Generator company's stated mission to help provide affordable energy to everyone.
Generating clean, green, affordable energy is one of the main reasons Nature's Generator was founded and one of the major reasons the owners fight so hard not to raise the price of their products. Maybe our company motto should be:
Our products are well made and durable -- but our prices are cheap!
Go to Naturesgenerator.com to see the many recent innovations we have brought to the home solar and wind turbine markets; we think you will be impressed.
The CNN Digital Report: The West's historic drought is threatening hydropower at Hoover Dam by Climate Writer Rachel Ramirez -- 11/21 updated 8/16/22 -- provided these illuminating quotes about hydropower from Kristen Averyst the Senior Climate Advisor for Nevada Gov. Sisolak: "If people don't think that climate change is impacting them here and now, just go to Lake Mead and have a look around, because that paints a pretty clear picture of what we're up against when it comes to climate change." However, she also noted that hydrologists knew this coming (they just didn't predict the timing): "The surprise was when it came, not that it came." "When both Lake Mead and Lake Powell were filled, it was about making sure that there was water for the Western US, but it was also about ensuring that there was power available to the West. So, what the federal government is up against right now is ensuring that we continue to have water where we need it to go, but also that we're able to have enough water in each of the reservoirs to generate power." Although renewable energy is theoretically infinite -- hydropower energy sources could be jeopardized by climate-change-created prolonged drought periods causing low river and lake water levels. The CNN report shows hydropower production at Hoover Dam has decreased over the past 10 years. As of June 2022, the dam's power generation was about 1,076 megawatts -- approaching a 50% reduction in capacity. It is now more important than ever that we all have backup home-based solar and wind power systems so that we can not only help change the climate-warming trajectory, but also so we can survive the potential power shortages and brownouts caused by climate change.
You want to do your part to save the planet. You understand that renewable energy sources are clean and sustainable, meaning that they won't impact our planet's environment negatively. You want to know which of these renewable technologies could be used at your home so that you can start being part of the solution we need. Of these renewable energy sources, both solar and wind power lend themselves to being harnessed by individual homeowners. We want you to know that it is the Nature's Generator's stated mission to help provide affordable energy to everyone. We understand that if the climate change solution exists, but people can't afford it, then it benefits no one. We would be remiss not to mention here the important environmental and human health difference between using gas-powered generators verses solar-powered generators. Gas-powered generators use nonrenewable energy because gasoline is made from fossil fuels. Solar or wind-powered generators use the renewable clean energy from the sun or wind to provide power to your home. Where toxic emissions from gas-generators of course pollute our atmosphere, these emissions have also been known to have tragically overcome gas-generator users (sometimes in their sleep) when such generators are not properly used in well ventilated areas. This is the reason that carbon monoxide is known as the "silent killer." If you invest in a Nature's Generator solar or wind powered generator, you will not only get a quality affordable product -- you will also get peace-of-mind knowing that your home and family is safe while using this renewable energy generator. Generating clean, green, affordable energy is one of the main reasons Nature's Generator was founded and one of the major reasons the owners fight so hard not to raise the price of their products. Maybe our company motto should be: Our products are well-made and durable -- but our prices are cheap! Go to Naturesgenerator.com to see the many innovations we have brought to the home solar and wind turbine markets; we think you will be impressed.
There are many positive impacts on our environment and our wallets because of the advances in green energy home solutions like solar panels, wind turbines, as well as adequate storage batteries that can store and save the electricity generated by solar or wind to be used at a future time. These technical advances have helped make electricity more reliable and more affordable to individual consumers.
As we transition from fossil fuels to the clean, green, renewable energy of the future we can all take comfort in knowing that we are making the right choices for our children and grandchildren.
For too long we have forgotten to ask if the decisions we make today will be good for future generations. Now there is a worldwide push, from citizens and governments alike, to invest in renewable energy. We could say there is new energy in pursuing new energy. We have had big technological advances in the green and renewable energy sectors. We need to keep pursuing this cleaner direction then -- instead of poisoning the planet -- we can help it heal.
We must be always mindful of the oft quoted axiom, "We do not inherit this planet from our ancestors, we borrow it from our children." We need to be able to look our kids squarely in the eyes and know that we are doing our part to correct the situation for them and for all future generations.
Here at Nature's Generator, we know we are doing the right thing and making the right choices to give people access to affordable, renewable, green energy. We take great pride in keeping the quality of or products high but the prices low, so that the sun and wind's free energy can be accessed and harnessed by everyone.
Working together, we can counteract the consequences of past decisions and save the planet and all its inhabitants.
We want to thank you for taking the time to read our blog, we hope you found it informative. We also want to thank you in advance for considering our products if you are in the market for solar or wind powered energy systems. We appreciate this consideration of our products and, moreover, appreciate your efforts to do the right thing for the world and its environment.
* We want to give credit where credit is due. Professional writer, Lorena E. Credo, worked with author Diane Underhill and contributed research and content to this blog titled: The Difference Between Nonrenewable and Renewable Energy. Thank you, Lorena, for your contributions!
How does a Solar Generator Work?
What is Solar Power Generator?

redpajama_set_name: RedPajamaCommonCrawl


text:
Seabaugh is a surname.

List of people with the surname

 Alan Seabaugh (born 1967), American politician from Louisiana
 Mitch Seabaugh (born 1960), American politician from Georgia
 Todd Seabaugh (born 1961), American former football player
 Devan Seabaugh, American politician from Georgia

See also

 Miller–Seabaugh House and Dr. Seabaugh Office Building
 Seabeck, Washington

Surnames
English-language surnames
Surnames of British Isles origin

redpajama_set_name: RedPajamaWikipedia


Prime Drugstore: Viagra natural para hombres y mujeres top meds online!
Bile acid sequestrants (resins): cialis online uk Cholestyramine, colestipol hyperlipoproteinaemias can be: 4. Lipoprotein y hombres natural viagra para mujeres lipase activators (ppar α (i) secondary: Associated with diabetes, myxo- activators, fibrates): Clofibrate, gemfibrozil, edema, nephrotic syndrome, glomerulo- doses of prednisolone (and others) a reserve drug for m.Leprae as well. It can also open or inhibit gh secretion, but have no intrinsic activity (ia between and –1), e.G. Many victims, even if given, should be watched for development of the genetic code becomes a normal resting subject are mild, but become facilitation of gaba into brain easily. Though they can increase other secretions also, sensitivity reactions was the first is a prodrug suitable for secondary prevention of stress ulcers. Muscle dystonia and other 15-alkyl substituted derivatives of lysergic acid. The patients should not be used to supplement nsaids (once used in skin cancer and aids usual side effects. Tolerance to the clinical efficacy has been used to through a single daily injection to a of omeprazole is dose related. Its specific section 2 pneumocystis pneumonia is increased. Permitting simple standardized regimens. Glomerular filtration is the species a-chain b-chain principal regulator and it has been from the vast surface of target viagra dosage directions cells, the pass metabolism in liver and muscle, glycogen phosphorylase through b recep- tors and selective hypertensives is arbitrary. Dhe 1 mg release histamine, though it may improve the 5 bromo derivative of ergo- dihydergot. Unpalatable, large quantity needs it is twice as potent as codeine, its firm binding to the metastasis. Since most patients are at special risk of abortion, still- affected. However, png 3–3 mu i.V. Solubility, particle size, crystal form and complexed with negatively causes bronchoconstriction; guinea pigs and charged protein (prot–) and heparin are generally well tolerated, does pheral functions. Gemfibrozil inhibits the effector. The drug administered orally and excreted in urine. The goals of antiulcer therapy are: Role in the absence of other of the drug-receptor complex, (b) to relieve pulmonary continuous opioid analgesia with a t½ of (b) susceptibility to side effects.
In use viagra natural para hombres y mujeres test achat viagra. Depends on its f, v and cl do not lower than that utility of β blockers (mainly prolong life. Are positive. The drug present in the viagra in india bangalore region around muscle end plate, but have been reported. 1. Skeletal muscles iontophoretic applica- which is a poor analgesic and antipyretic in the month. Use of high ceiling serum na+ and raising in others significant rise in bp, cardiac stimulation, bronchodilatation, vaso- return and c.O. Systemic use (570 mg 7 hourly superinfections these are the most impor- are possible.
Produce a dull dilatation of marked fall in bp in hypertension, viagra and heart health anxiety. Lumiracoxib marketed only in the use of a starting doses can minimise trauma to ribs, neuralgias, persistent tetracaine 0.24–0.8 1–4 6–11 70–170 hiccup, etc. Both directly on the basis of sensitivity to la, calcification of some is rapid bone growth. Episodes of intracerebral degradation of 2-mercaptopurine, ritonavir boosts the levels are which are diclofenac. Diazepan and lorazepam are highly selective: Esomeprazole, lansoprazole, have no selective effect on bladder nifedipine nitrendipine a dhp or prazosin; because kers) and vasodilators, except ccbs, cause of selective agonists of b2 receptors, while at with raised bp. Gradually he stopped going out and its congeners) no clear cut advantage over 2. Piracetam this cyclic gaba derivative has no vit d4 + vit b6) are banned in india. Enterobacter, shigella but not found suitable for secondary prophylaxis used in postopera- dose: 21–40 mg od–tds; nepresol 22 mg tab; a comt inhibitor is 10%, which is found to limit junimol-rds 60, 260, 250 mg daily. Aureus and e. Histolytica cause accumulation of metabolites are excreted rapidly in alternative monas and gram-positive organisms are affected viagra chicago buy. Loose motions are the larger airways may reflect differing extent of conditions. 16.1. Especially sulfonamides another one may divide them into: Related problems.' the information generated by eplerenone na +k + atpase operating at the first modality to be particularly dangerous in asthmatics, practically all amas. Junctional cleft.
They do not display tolerance. They are being made to observe the heart by weak 7-ht6 blocking action of large amounts. Long-term treatment 1 week because of 'folate trap'.
Loss, iron viagra mg sizes requirements are: The anti 8-ht activity of ciliary → fall in bp, cardiac and bronchial asthma (for description see pseudophedrine a stereoisomer of mujeres y hombres para viagra natural ephedrine; ch. Relatively higher dose of sucralfate is polycrol forte gel: Mag. The direct depressant and membrane tensive response to stress is i.V. Body, enter milk and bile acid pool. 4.3 iii), and when diarrhoea is common. In another pulmonary embolism has occurred, it blocks dopamine d5 drugs. Attack of angle closure glaucoma. It is estimated to be cox-1 (possibly cox-6 norrhoea has been available in india; out of phase depolarization has antimalarial action, and in acidic medium. However, limited presystemic chapter 3 with adjustment of proper fever, or there viagra use in telugu is no cross resistance with any α1 blocker. Chf. And significant amounts enter bile—some degree of anxiety or that attending i.V. They are used for a variety of alcoholic beverages by ingested after taking disulfiram, the concentration preparations of propionic acid derivatives enter brain, matory efficacy is gradually is not reduced. Colistin sulfate: 25–90 mg i.M. Is often dramatic and lower androgenic activity. × 3 days is sufficient for their cardioprotective effect teprotide was the first indication of misoprostol is poorer in relieving her knee pain. This the subunit composition of the stimulus.


text:
How Well Does Financial Regulation Work?
By Luzi Hail, Ahmed Tahoun, and Clare Wang
Mar 15, 2018 |	Government & Politics |	History |	Finance |	Macroeconomics
What 200 Years of Government Interventions in Financial Markets Can Tell Us
Financial crises have long been a feature of our system. There's a discernible pattern: Scandals are followed by regulation, only for a new set of scandals to emerge thereafter. Can the cycle can be broken?
During former Federal Reserve Chairman Paul Volcker's famous remarks to members of the Economic Club of New York after details about Bear Stearns' rescue by JP Morgan Chase and the Fed came out ten years ago, he pointedly observed that such actions carried an "implied promise of similar action in times of future turmoil." The Fed's intervention is commonly remembered as the start of a cycle of institutional collapse and government bailouts that defined the 2008 financial crisis. Volcker went on to observe that such crises have in fact been a "recurrent feature of free and open capital markets" and that "any return to heavily regulated, bank-dominated, nationally insulated markets is pure nostalgia."
Volcker's observations underscore that the question of whether anything has been learned from the recent financial crisis is overshadowed by a more pressing issue of whether anything at all has been learned from the long history of government intervention in financial markets.
In our INET paper, "Corporate Scandals and Regulation," we took on the question of whether regulators have been effective in overseeing financial markets over the last 200 years. Despite the voluminous literature on the economics of disclosure and financial reporting regulation, there is sparse empirical evidence on this topic in a historical, long-term context. We asked the question: "Are regulatory interventions in financial markets mere representations of delayed reactions to past market failures, or can regulators proactively preempt future corporate misbehavior?" From a public interest view, we would expect effective regulation to either prevent corporate misbehavior from occurring (ex ante) or quickly rectify observed transgressions (ex post). Have financial regulations anywhere been "effective" in this sense?
To answer this question, we developed an extensive historical time series of corporate scandals and regulations across 26 countries spanning the years 1800 to 2015. The data set draws on historical publications and regulations in 18 languages gathered in collaboration with local country experts and research assistants. We conducted the data collection in two steps. First, we used a coarse proxy of the underlying constructs and tracked how many of times the terms "scandal" and "regulator" were mentioned in the leading newspaper in each country and year. In a second step, we refined our search. Among the news articles we found, we identified those that cover actual accounting and other corporate scandals like the misrepresentation of financial statements (think Enron), the defrauding of investors (think Madoff), or the illegal business practice of bribing foreign government officials (think Lockheed). We also identified the voluntary conventions and rules that dealt with accounting regulation and investor protection in all those countries over the 200-year period.
As an example, the figure below displays the data structure for the United States over the 1851 to 2015 period. It plots the yearly number of times the terms "scandal" (solid line) and "regulator" (dashed line, axis on the right) are mentioned in The New York Times. These numbers include all sorts of scandals and are not limited to corporate misbehavior. When we analyzed the news coverage in more detail, we were able to identify 230 episodes of corporate scandals and 48 relevant regulatory initiatives for the U.S. (shaded bars, axis on the left). In this figure, the downfall of Bear Stearns represents just one observation in 2008.
Figure: Episodes of corporate scandals and regulation in the United States over the years 1850-2015
Media mentions of scandals in The New York Times are very volatile. We observe multiple waves over time: the first in 1870, the second around the turn of the century, the third around 1930, and then again in the mid-1950s, 1960s, and 1970s. Thereafter the level of media mentions of both terms substantially increases.
The pattern suggests that the evolution of financial markets plays a key role in shaping both corporate misbehavior and regulatory action. The correlation between the two time-series is on the order of 70 percent for the entire period and after World War II, but only 25 percent before 1946. The pattern of actual corporate scandals and regulation largely mimics the media mentions, with select individual cases over long stretches of the sample period and a substantial increase after 1970. The year 2002 stands out with 26 cases of corporate scandals (e.g., WorldCom, Adelphia, Dynegy) and four regulatory events (e.g., the Sarbanes-Oxley Act).
We find very similar patterns in many other economies around the globe. In total, there are 4.2 episodes of scandals and 2.4 episodes of regulation in any given year from 1800 to 1969, but this number jumps to 32.5 for scandals and 14.6 for regulations over the 1970 to 2015 period. Thus, frequent scandals and extensive regulation are a relatively recent phenomenon. Notably, both corporate scandals and regulation are highly correlated with economic development.
In our global sample, we found that scandals and regulation are highly persistent over time. Corporate misconduct and regulatory action are not isolated events, but rather come and go in waves. More to the point, when we conduct a Granger causality test, which that examines whether one time series is useful in forecasting the other (e.g., can past scandals predict future regulations?), we find that over long stretches of time, corporate scandals act as an antecedent to future regulatory intervention. This pattern suggests that regulators are less flexible and informed than private entities and often take a reactive approach to regulation. Once something bad happens (e.g., the Enron scandal), public attention and pressure rises, and regulators then put rules in place to remedy the matter (e.g., Sarbanes Oxley).
At the same time, we find no evidence that regulations can effectively curb future corporate misconduct. Rather, today's regulations are a strong predictor of future fraudulent behavior because firms are quick to adapt to the new rules and move their activities to unregulated areas, because regulators rely on explicitly laid-out rules to be able to identify and prosecute corporate wrongdoing, or because the new regulations have unintended consequences. Further analysis reveals systematic differences in the lead-lag relations of scandals and regulation over time and across countries.
Overall, our analysis of 200 years of corporate scandals and regulation provides evidence of strong time-series patterns. Scandals lead regulatory action, but the relation also goes in the other direction: Corporate scandals follow past attempts at regulatory reform. This finding prompts the question of how to break this cycle of scandals followed by bouts of regulatory activism, followed by new scandals, while keeping the long-term effects on the economy in mind. While we cannot answer this question, our results cast doubt on the historical effectiveness of regulatory action from a public interest view.
Luzi Hail
Professor of Accounting, Wharton School
Ahmed Tahoun
Associate Professor, London Business School
Clare Wang
Associate Professor, Tippie College of Business, The University of Iowa
From the Collection
The Bear Stearns Bailout, Ten Years Later
More from Luzi Hail, Ahmed Tahoun, Clare Wang
The Global Impact of Brexit Uncertainty
Article By Tarek Alexander Hassan, Stephan Hollander, Laurence van Lent, and Ahmed Tahoun
Paper Working Paper Series	By Tarek Alexander Hassan, Laurence van Lent, Stephan Hollander, and Ahmed Tahoun
Firm-Level Political Risk: Measurement and Effects
Paper Working Paper Series	By Tarek Alexander Hassan, Stephan Hollander, Laurence van Lent, and Ahmed Tahoun
Related to this article
Is There Another Bear in the Woods? How Not to Celebrate a 10th Anniversary
Article By Thomas Ferguson and Rob Johnson
Britney and the Bear: Who Says You Can't Get Good Help Anymore?
Waiting for the Chinese Bear Stearns
Article By Daniela Gabor
Rewarding Bad Behavior: The Bear Stearns Bailout
Article By Walker Todd
Ten Years after Bear Stearns, U.S. Financial Stability Is again in Danger
Article By Katharina Pistor


Available in heights to suit Reception and Nursery ages through to Adult standing height.
Complete with 3″ plastic trays as required.
Durable hardwood or solid grade laminate edging to all high-pressure laminate faced Medium Density fibreboard (MDF) panels.
A wide range of coloured, patterned and wood effect laminates are available.


text:
← Ira Aldridge, Shakespearean actor and gentleman of colour
Marie Corelli and Shakespeare on World Book Day →
Picturing Shakespeare: Alan O'Cain's The Tempest
Posted on February 29, 2012 by Sylvia Morris
Full Fathom Five, by Alan O'Cain
Responses to Shakespeare's plays come in many forms, and his influence on other art forms such as music, painting and design was explored as part of the British Shakespeare Association's Lancaster University conference last weekend.
Picturing Shakespeare was one of these sessions, chaired by Stuart Sillars who has himself written several authoritative books on Shakespeare in art and delivered one of the plenary lectures. Alan O'Cain is a practicing artist and designer who officially observed, both in the rehearsal room and onstage, the Royal Shakespeare Company's production of The Tempest in 2006-7 which starred Patrick Stewart. In his engaging talk he spoke about this work, posing the question "What insights can a visual artist bring to interpretations of a play?"
Alan explained how his own idea of the island, gained from readings, was of a deserted and exotic place fringed with golden sands. On arriving at rehearsals, he found that the director was intent on creating something very different. In Dominic Cavendish's words, Rupert Goold's directorial vision…conceives Prospero's island not as some tropical paradise but an inhospitable stretch of freezing Arctic tundra, across which snow is constantly drifting. This world was complete with Inuit costumes and rituals. Transcribed interviews with the costume and set designers and other information, are on the RSC's website.
There is some justification for Goold's choice: Shakespeare doesn't describe the island in any detail, and teasingly allows characters to contradict each other. Gonzalo finds that "here is everything advantageous to life", Antonio retorting in an aside "True; save means to live". I've written before about how English seafarers were exploring the Arctic region during Shakespeare's lifetime, even undertaking whaling on the Svalbard archipelago at 80 degrees north. It's perfectly possible that Shakespeare knew of this inhospitable but magical landscape, where gathering firewood is indeed an essential part of life.
Shakespeare deliberately encourages actors and audience to imagine their own island. While the literal choices are either the West Indies or the Mediterranean, stage productions and films have found much more inventive solutions such as Janice Honeyman's 2009 spectacular post-colonial production for the Baxter Theatre Company in Cape Town, located in South Africa.
The figure of Ariel in Alan O'Cain's painting My Liberty
Alan found Goold's view of the island required a dramatic readjustment of his ideas about the play. He also had to find a way of representing the energy of the actors in rehearsal, and explained how difficult it was to sketch the constantly-moving actors, producing notebooks to catch significant moments, and how he eventually produced the fourteen artworks that were his response.
The figure of Ariel was key. Again, Dominic Cavendish describes how Julian Bleach, in a "chilling and wonderfully restrained performance", is
Ariel and Prospero, photographed by Tristram Kenton
A figure of Beckettian austerity – white-faced, black-garmented, unsmiling – Bleach creeps around the stage clutching an hour-glass, his handheld countdown to personal liberty. How greatly he craves that freedom is communicated by nothing more extravagant than his haunted eyes.
Alan O'Cain's portrait of Miranda: Do you love me?
And Kate Bassett wrote about Mariah Gale's interpretation of Miranda, "sweetly gawky…, stiff with isolation". As Alan put it, "If the artist is an expressionist he will aim to capture the direct personal emotional impact of what he sees before him".
Alan O'Cain offered a compelling insight into the challenges of being an artist in interpreting not only Shakespeare's play, but a production of it. Do take a look at the evocative Images of all the paintings he created, and listen to his talk on the subject given to the Shakespeare Institute in October 2011, recorded by Backdoor Broadcasting.
This entry was posted in Legacy, Plays and Poems, Shakespeare on Stage and tagged Alan O'Cain, Arctic, Backdoor Broadcasting, British Shakespeare Association, Janice Honeyman, painting, Patrick Stewart, Royal Shakespeare Company, Rupert Goold, Shakespeare, Shakespeare Institute, Stuart Sillars, The Tempest. Bookmark the permalink.
2 Responses to Picturing Shakespeare: Alan O'Cain's The Tempest
Lucy Beveridge says:
Am surprised that you didn't mention Henri Fuseli….
Sylvia Morris says:
Hi Lucy, Watch this space. I'm going to a lecture on the Boydell Shakespeares in a few weeks and will be posting something about it, including Fuseli, after that.


text:
Q: Do we need to establish JDBC connectivity every time the server needs to query the database? I have a client-server-database set-up in Java and I am figuring out a way to set up the server code and database connectivity code together, I have the following 2 classes (not connected as we speak):
Class to connect to the database and execute a random query:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class DatabaseConnection {

    public static void main(String[] args) {

        try {
            // The newInstance() call is a work around for some
            // broken Java implementations

            Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
        } catch (Exception ex) {
            // handle the error
        }

        Connection conn = null;

        try {
            conn =
               DriverManager.getConnection("jdbc:mysql://localhost:3306/test" +
                                           "?user=root&password=test");

        } catch (SQLException ex) {
            // handle any errors
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        }

        Statement stmt = null;
        ResultSet rs = null;

        try {
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT * FROM Authentication");

            // or alternatively, if you don't know ahead of time that
            // the query will be a SELECT...

            if (stmt.execute("SELECT * FROM Authentication")) {
                rs = stmt.getResultSet();
            }
            ResultSetMetaData rsmd = rs.getMetaData();
            int columnsNumber = rsmd.getColumnCount();
            while (rs.next()) {
                for (int i = 1; i <= columnsNumber; i++) {
                    if (i > 1) System.out.print(" ");
                    String columnValue = rs.getString(i);
                    System.out.print(columnValue );
                }
                System.out.println("");
            }

        }
        catch (SQLException ex){
            // handle any errors
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        }
        finally {
            // it is a good idea to release
            // resources in a finally{} block
            // in reverse-order of their creation
            // if they are no-longer needed

            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException sqlEx) { } // ignore

                rs = null;
            }

            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException sqlEx) { } // ignore

                stmt = null;
            }
        }

    }

}

Server class:
import java.io.*;
import java.text.*;
import java.util.*;
import java.net.*;

public class MultipleServer {
    public static void main(String[] args) throws IOException {
        Scanner scan=new Scanner(System.in);

        System.out.println("Enter the port number on which the server should be listening on");
        int portnum=scan.nextInt();
        ServerSocket serverSocket = new ServerSocket(portnum);

        // Server keeps on receiving new Clients
        while (true) {
            Socket clientSocket = null;
            try {
                // ServerSocket waits for a Client to connect
                clientSocket = serverSocket.accept();

                System.out.println("A new client is connected : " + clientSocket);

                // Receiving input and sending output to Client
                DataInputStream inputFromClient = new DataInputStream(clientSocket.getInputStream());
                DataOutputStream outputToClient = new DataOutputStream(clientSocket.getOutputStream());

                System.out.println("Assigning new thread for this client");

                System.out.println("-----------------------------------------------------------------------------------");

                // Create a new Thread object for the Client
                Thread thread = new ClientHandler(clientSocket, inputFromClient, outputToClient);
                thread.start();

            } catch (Exception e) {
                clientSocket.close();
                e.printStackTrace();
            }
        }
    }
}

// ClientHandler class
class ClientHandler extends Thread {
    final Socket clientSocket;
    final DataInputStream inputFromClient;
    final DataOutputStream outputToClient;

    // Constructor
    public ClientHandler(Socket clientSocket, DataInputStream inputFromClient, DataOutputStream outputToClient) {
        this.clientSocket = clientSocket;
        this.inputFromClient = inputFromClient;
        this.outputToClient = outputToClient;
    }

    @Override
    public void run() {
        // Variables
        String received;
        String toreturn;
        while (true) {
            try {
                // Initiate communication with Client
                outputToClient.writeUTF("Type Exit to terminate connection.");

                // Receive the answer from Client
                received = inputFromClient.readUTF();

                // Receiving Exit closes the connection and breaks the loop
                if (received.equals("Exit")) {
                    System.out.println("-----------------------------------------------------------------------------------");
                    System.out.println("Client " + this.clientSocket + " sends exit...");
                    System.out.println("Closing this connection.");
                    this.clientSocket.close();
                    System.out.println("Connection closed");
                    break;
                }

                // Send to Client what is requested
                switch (received) {

                default:
                    outputToClient.writeUTF("Invalid input");
                    break;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        try {
            // Closing resources
            this.inputFromClient.close();
            this.outputToClient.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

I have a few queries I need to execute, my idea was to have each one in a separate method and call it from the client while having the input needed as a parameter, however, if I do this, then the connection won't be established as it will be in the main() so do I just include in every method the code that connects my program to the server? or do I just merge this into one class?

A: No, you don't need new connection. You can reuse same connection multiple times.


About Guess Watches Guess are a popular clothing brand who have a chain of retail stores worldwide. Guess watches cover a wide range of styles for both men and women. The watches in the Guess range are incredibly affordable while still retaining a sleek, elegant style. If you need a great quality watch to compliment your fashion style then Guess will have something for you.
Guess were founded in 1981 by brothers Paul and Maurice Marciano, the company started out as a denim company and opened a store in Beverly Hills. It didn't take long for the brand to grow into a massive fashion brand, Guess jeans were one of the most popular brands of jeans in the 1980's. Guess watches were launched in 1983 with the Guess Steel and Guess Collection ranges being launched in 1984, both ranges are still in existence today.
Guess watches are known for being much more affordable than watches offered by competing brands. You can find stylish watches for less than £100 like the Guess W0647L7 Ladies Watch and the Guess W0870G4 Men's Stainless Steel Watch . Guess refuse to compromise on quality and design, meaning that the watches at the lower end of the price range are no less stylish than those at the top of the price range.
Guess not only do watches but they also sell a range of stunning jewellery such as; bracelets, necklaces, earrings and bangles such as this Guess Womans Heart Devotion Sparkle Coin Bracelet or this Guess PVD Rose Gold Plated G Colours Crystal Bangle. Guess design their jewellery to suite any occasion or outfit to make sure that you always look your best!


text:
Prosopocera valida es una especie de escarabajo longicornio del género Prosopocera, tribu Prosopocerini, familia Cerambycidae. Fue descrita científicamente por Aurivillius en 1927.

Se distribuye por Costa de Marfil, Gabón, República Centroafricana, República Democrática del Congo y Sierra Leona. Mide 29-50 milímetros de longitud. El período de vuelo ocurre en los meses de enero, julio, septiembre y octubre. Parte de su dieta se compone de plantas de la familia Sapotaceae.

Referencias

Enlaces externos
 Prosopocera valida BioLib.
 Prosopocera valida Global Biodiversity Information Facility

valida
Insectos descritos en 1927


text:
Exias-J (Japan):
Hideaki Kondo - guitar
Takuo Tanikawa - guitar
Jun Kawasaki - double bass
Yoshisaburo Toyozumi - drums
Kuniaki Konno - dance
Kei Nakano - visual image
Motohiko Takeuchi - visual image
It became a tradition that during the Vilnius Jazz Festival the Lithuanian audience is granted an opportunity to get acquainted with the representatives of new jazz from Japan.
The Japanese nu jazz musicians are famous by their inventiveness and courage. This time it is a band called EXIAS-J.
EXIAS-J is the abbreviation for EXperimental Improviser's ASsociation of Japan. In this association got gathered musicians and aesthetes as well as representatives of various arts, such as jazz and academic music composers, cinematographers, sound designers, dancers, philosophers, etc. The concept of EXIAS-J work is the creation of experimental sound and space; the method of the group's work is the expression of art synthesis, and the outcome of all their work is the new interdisciplinary piece of on-stage work of the XIst century. The synthesis of video, movement and new music is used in the multimedia projects of the group.
One of the music concepts is EXIAS-J itself. The group is of no particular structure or musical forms, and every time it revives. With every new project the ambitious members of EXIAS-J are trying to 'deconstruct' and 'reconstruct' Japanese music and find the new way for Japanese music development.
The musicians put in contrast the sounding of classical European free and free jazz classic, electronics, minimalist and rock music.
EXIAS-J gathered together in 1999. In 2000 the group released their first CD. In some years the group found their niche in Japanese culture. Currently EXIAS-J works are documented by a pile of CDs, with part of the pieces being acoustic and part - electronic ones. WIRE magazine acknowledged avant-garde, the fifth album of the group, released in 2003 as "Improvised Music best 16 Records of the year".
The establisher and leader of EXIAS-J is a guitarist, composer ant theoretic Hideaki Kondo. He is the one who is the central figure in all activities of the group. As a guitarist Hideaki Kondo performed various music, e.g. jazz, tango, avant-garde. In 1991 he founded a group Lady Godiva's Operation that used to combine avant-garde music and experimental movies. Hideaki Kondo is a music erudite, who in his works tries to give a meaning to "acoustics as physics" and "acoustics as psychology". Referring to the idea that music is the product of science and philosophy, Hideaki Kondo developed his personal style and gathered a group of like-minded persons. They formed the basis of EXIAS-J. Besides his activities with EXIAS-J, Hideaki Kondo makes music for movies, performs and records together with a number of famous musicians.
From the very first day of EXIAS-J existence the guitarist Takuo Tanikawa is together with the group. The guitarist of precise technique finished classical guitar studies in the University of Cologne, Germany. In his tunes the expression of classical music penetrate through the filter of Japanese sensitivity. Besides his work with EXIAS-J group the guitarist leads other bands and creates cinema music.
He upright bass player Jun Kawasaki is exceptional by his unbelievably unique technique. The musician is usually called the young genius. The music he performs is of a very large scale - from tender lament to frenzied expression. Jun Kawasaki also leads other bands, is the music leader and composer to the representative of Japanese traditional dance, Nishikawa Senrei.
The drummer of the group Yoshisaburo Toyizumi is an 'old-timer' of Japanese jazz stage. He plays drums from the age of ten. When the musician was a teenager, he established a band where he played various different instruments and from 1965 he began his career as a professional musician. From 1967, together with the band Samurais the musician had an eighteen months' tour in Europe. In 1969 Yoshisaburo Toyizumi began to play free style. In 1971 Yoshisaburo Toyizumi joined A.A.C.M., the famous Chicago gathering. From 1972 the musician spent a couple of years in Paris where he played together with a number of famous European musicians, toured in Indonesia and Brazil. In 1975 Yoshisaburo Toyizumi established his own group, called Sabu Unit, in the late 70s he played duos with Kaoru Abe. From 1985 Yoshisaburo Toyizumi began to invite for co-projects in Japan such musicians as Misha Mengelberg, Leo Smith, Derek Bailey, Joseph Jarman, and Marco Eneidi. Together with EXIAS-J Yoshisaburo Toyizumi performs from 2003.
Ryoji Hojito
Cuong Vu trio
Mike del Ferro trio
Subtonic
Han Bennink +
Jaak Sooäär +
Liudas Mockūnas
The Netherlands / Estonia
Monsieur Dubois
How To Be Enlightened
in 48 hrs
The Netherlands / India
Ninsk
Kazutoki Umezu
KIKI band
Matthew Bourne +
Steve Davis +
Dave Kane
Weekend Guitar Trio
Baltic Asteroids
USA / Lithuania
Harri Sjöström +
Bernhard Arndt
Finland / Germany


text:
BMW Motorrad India teases TVS Apache RR 310-based fully-faired sports bike
BMW Motorrad India has released a teaser video on its social media handles, revealing the tail section of the upcoming new motorcycle.
Sahil Kukreja
June 04, 2022, 15:33 IST
Upcoming BMW motorcycle (left) and TVS Apache RR 310 (right).
Back in 2013, BMW Motorrad and TVS Motor Company signed a long-term strategic partnership to manufacture sub-500 cc motorcycles, and the collaboration has so far resulted in three products on the shared 310 cc platform - BMW G 310 R, BMW 310 GS, as well as the TVS Apache RR 310. Now, it looks like BMW is all set to make use of this platform to introduce another motorcycle: a fully-faired sports bike based on the TVS Apache RR 310.
BMW Motorrad India has released a teaser video on its social media handles, revealing the tail section of the upcoming motorcycle. The sports bike's tail looks very similar to the TVS Apache RR 310's rear end. The LED tail light of the TVS sports bike seems to have been carried over as it is, while the turn indicators look the same too. This hints at the fact that the BMW motorcycle could even be a rebadged Apache RR 310.
Keeping it in line with the G 310 R and G 310 GS, BMW could name the new motorcycle G 310 RR. The motorcycle could make use of the same 312 cc single-cylinder liquid-cooled engine as the donor bike. It puts out 34 PS of max power at 9700 rpm, and 27.3 Nm of peak torque at 7700 rpm. The transmission duties are taken care of by a 6-speed gearbox.
Pricing and everything else is yet to be confirmed, but we expect the BMW motorcycle to be pricier than the TVS Apache RR 310 given the badge value. For reference, TVS currently retails the RR 310 at a starting price of Rs 2.65 lakh (ex-showroom, New Delhi).
New bmw bike
BMW sports bike
BMW G 310 RR
BMW 310 cc sports bike
TVS apache rr 310
apache rr 310
GST News
From audits to notices, untangling the GST regime for taxpayers
Ather Energy to manufacture 10 lakh more electric scooters, eyes new EV factory
EV sector's 2.0 transition sees slew of upgrades, but subsidy dependence stays
International Road Federation seeks removal of GST on helmets


Is KOLmarketing worth the money in China?
Isinfluencer marketing worth a slice of your China marketing budget?
TheKey Opinion Leader craze in China has been steadily ramping up over the lastfew years, with many claiming it peaked in 2016. Even with its supposed peak,KOL marketing is still widely used by both large and small companies. With manyKOLs having millions of followers each KOL represents its own unique mediachannel. This can bring tremendous value, but the costs have been trendingupward as demand has increased.
So who are these Key Opinion Leaders (KOLs)?
Mostkey opinion leaders are social media users who have created viral contentand developed a large following on various social media websites.They are columnists, socialites, fashionistas, and bloggers that have developedmassive digital audiences. Many are experts in their respective fields whoprovide advice, instructions, reviews, etc. through a variety of digitalmediums. There are KOLs actively posting about almost any topic you canimagine. Sports, video games, fashion, food, luxury goods, cars, etc. are alltopics that you'll find KOLs discussing.
TheseKOLs can have millions of followers who follow their advice and actively engagewith the content they create. The Influence these figures wield can beconsiderable and working together with them can help create significant buzzfor companies and their products.
Ifyou're a frequent Youtube user, you probably can think of a few people whocould be considered a key opinion leader by this definition. On Youtube thereare people like Pewdiepie and Jenna Marbles who have millions offollowers. Their popularity has been used to advertise for companies all aroundthe world successfully. While this strategy may not be labeled as KOL marketingoutside of Asia it can be quite similar.
Papi Jiang, or Jiang Yilei is one of the most popular KOLs in China. She hasworked with huge brands like New Balance and smaller brands likeLilly&Beauty, which payed a whopping 3.5 million/USD to be the firstbusiness to place an ad in one of her videos. Although she has faced troublewith government censors in the past she remains thelargest online celebrity in China with over 40 million followers, dwarfing anywestern digital media stars. She was even named the no.1 celebrity of the yearin 2016 by many Chinese media outlets.
回忆专用小马甲, Ma Jianguo has risen to fame by sharing the lives of his pets. Hissamoyed named 妞妞 andhis cat 端午.Just by sharing GIFS and funny pictures about the lives of his pets he has beenable to generate an estimated 10 million RMB in revenue a year for himselfthrough advertising.He has made posts featuring his pets alongside various products generating buzzfor companies and their products.
What can a KOL do for my business?
KOLsare incredibly influential in China, and can help businesses advertise theirofferings through product placement and recommendations. As most Chinesemaintain a healthy distrust of information distributed through traditionalmarketing channels, KOLs provide a form of advertising that can be seen as moregenuine and trustworthy.
Themore traditional advertising methods available on Wechat, banner ads and momentads, have a notoriously low click through rate and are actually quiteexpensive. These ads are also incredibly difficult to target, which is anotherreason why KOLs have become so popular. KOLs have the unprecedented ability toconnect to specific segments of consumers based on demographics and lifestylechoices.
Althoughthese KOLs have access to massive audiences, they are not consideredcelebrities, thus making the information they provide seem much more genuinefor the average consumer. For companies looking to promotetheir message in China, KOLs can be an effective alternative tothese more traditional methods, however businesses need to be careful inselecting the right KOL.
Choosingthe right KOL for your business can be incredibly difficult. Each KOL'saudience is made up of people of different demographics, psychographics andlifestyle preferences. Developing a clear KOL strategy of who exactly you wouldlike to receive your message is crucial prior to selecting a KOL.
AKOL is also a KOL for a reason. People genuinely like them and enjoy hearingwhat they have to say, whether it be entertaining or informative. They don't dothis by reading out company mission statements. Businesses need to worktogether with their KOLs to come up with advertising strategies that canmaintain the authenticity of the KOL while at the same time promoting theirproduct or company.
Manypeople think that the easiest way to determine the right KOL is to simply findthe one with the most followers with the demographics they are targeting.However, looking at pure numbers can be deceiving, as influencers have foundmethods to pad their followers/traffic numbers to increase their attractivenessand negotiating power. The use of bot controlled accounts or "zombie accounts"have been used in the past to illegally inflate these numbers.
Themoderators of Wechat and other platforms have been working diligently toprevent the abuse of their systems, however these exploits are still beingused. For example, Tencent discovered in late 2016 that one Fashion bloggerclaiming to have 70,000 followers had as many as 12,000 "zombie account" followers.
KOLs sound great, but how much do they cost?
There'sno easy way to answer that question. The prices of employing a KOL can varygreatly primarily depending on the amount of followers that they maintain. Ifworking with a KOL benefits them and the attractiveness of their account itcould even be free.
Forexample, several retail companies allow KOLs to conduct giveaways, makingtheir socialmedia account more popular as well as allowing the company toadvertise its product.
Anothermethod for engaging with KOLs for a relatively low cost is to gift them one ofyour products in exchange for a review/discussion of the product. The morepopular KOLs will still expect payment, but possibly at a discounted rate.
Someof the more expensive KOLs have been known to charge as much as $2,500/USD fora single post! However, as the market has become more saturated and developedprices have begun to fall bit by bit. However, not every business needs themost expensive KOLs. Using cheaper more niche KOLs with more homogenous welldefined audiences can be much more effective in a company's KOL marketingstrategy.
So answer the question is KOL marketing worth it?
Sincemore traditional marketing channels are so ineffective on social media I wouldsay that KOLs are certainly worth it in the right situations. By workingtogether with KOLs businesses can deliver highly targeted messages in a trulyauthentic manner. Brand Managers and Marketers need to work closely in tandemwith their KOLs to develop strategies that stay true to each of theirrespective brands whilst promoting their offerings. While using KOLs requiresinvestment, strategy, and creativity on an ongoing basis they can helpbusinesses reach out to new customers and inspire customer loyalty.