text:
<?php
/**
 * Created by PhpStorm.
 * User: wuBin
 * Date: 2016/7/13 0013
 * Time: 10:48
 */
namespace app\service;
abstract class WebSocket2{

    protected $maxBufferSize;
    protected $master;
    protected $sockets = array();
    protected $users = array();
    protected $heldMessages = array();
    protected $interactive = true;
    protected $headerOriginRequired = false;
    protected $headerSecWebSocketProtocolRequired = false;
    protected $headerSecWebSocketExtensionsRequired = false;

    function __construct($addr, $port, $bufferLength = 2048){
        $this->maxBufferSize = $bufferLength;
        $this->master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Failed: socket_create()");
        socket_set_option($this->master, SOL_SOCKET, SO_REUSEADDR, 1) or die("Failed: socket_option()");
        socket_bind($this->master, $addr, $port) or die("Failed: socket_bind()");
        socket_listen($this->master, 20) or die("Failed: socket_listen()");
        $this->sockets['m'] = $this->master;
        $this->stdout("Server started\nListening on: $addr:$port\nMaster socket: ".$this->master);
    }

    abstract protected function process($user, $message); // Called immediately when the data is recieved.

    abstract protected function connected($user);        // Called after the handshake response is sent to the client.

    abstract protected function closed($user);           // Called after the connection is closed.

    protected function connecting($user){
        // Override to handle a connecting user, after the instance of the User is created, but before
        // the handshake has completed.
    }

    protected function send($user, $message){
        if($user->handshake){
            $message = $this->frame($message, $user);
            $result = @socket_write($user->socket, $message, strlen($message));
        }else{
            // User has not yet performed their handshake.  Store for sending later.
            $holdingMessage = array('user' => $user, 'message' => $message);
            $this->heldMessages[] = $holdingMessage;
        }
    }

    protected function tick(){
        // Override this for any process that should happen periodically.  Will happen at least once
        // per second, but possibly more often.
    }

    protected function _tick(){
        // Core maintenance processes, such as retrying failed messages.
        foreach($this->heldMessages as $key => $hm){
            $found = false;
            foreach($this->users as $currentUser){
                if($hm['user']->socket == $currentUser->socket){
                    $found = true;
                    if($currentUser->handshake){
                        unset($this->heldMessages[$key]);
                        $this->send($currentUser, $hm['message']);
                    }
                }
            }
            if(!$found){
                // If they're no longer in the list of connected users, drop the message.
                unset($this->heldMessages[$key]);
            }
        }
    }

    /**
     * Main processing loop
     */
    public function run(){
        while(true){
            if(empty($this->sockets)){
                $this->sockets['m'] = $this->master;
            }
            $read = $this->sockets;
            $write = $except = NULL;
            array_push($this->heldMessages,array('message'=>1));
            $this->_tick();
            $this->tick();
            @socket_select($read, $write, $except, 1);
            foreach($read as $socket){
                if($socket == $this->master){
                    $client = socket_accept($socket);
                    if($client < 0){
                        $this->stderr("Failed: socket_accept()");
                        continue;
                    }else{
                        $this->connect($client);
                        $this->stdout("Client connected. ".$client);
                    }
                }else{
                    $numBytes = @socket_recv($socket, $buffer, $this->maxBufferSize, 0);
                    if($numBytes === false){
                        $sockErrNo = socket_last_error($socket);
                        switch($sockErrNo){
                            case 102: // ENETRESET    -- Network dropped connection because of reset
                            case 103: // ECONNABORTED -- Software caused connection abort
                            case 104: // ECONNRESET   -- Connection reset by peer
                            case 108: // ESHUTDOWN    -- Cannot send after transport endpoint shutdown -- probably more of an error on our part, if we're trying to write after the socket is closed.  Probably not a critical error, though.
                            case 110: // ETIMEDOUT    -- Connection timed out
                            case 111: // ECONNREFUSED -- Connection refused -- We shouldn't see this one, since we're listening... Still not a critical error.
                            case 112: // EHOSTDOWN    -- Host is down -- Again, we shouldn't see this, and again, not critical because it's just one connection and we still want to listen to/for others.
                            case 113: // EHOSTUNREACH -- No route to host
                            case 121: // EREMOTEIO    -- Rempte I/O error -- Their hard drive just blew up.
                            case 125: // ECANCELED    -- Operation canceled
                                $this->stderr("Unusual disconnect on socket ".$socket);
                                $this->disconnect($socket, true,
                                                  $sockErrNo); // disconnect before clearing error, in case someone with their own implementation wants to check for error conditions on the socket.
                                break;
                            default:
                                $this->stderr('Socket error: '.socket_strerror($sockErrNo));
                        }
                    }elseif($numBytes == 0){
                        $this->disconnect($socket);
                        $this->stderr("Client disconnected. TCP connection lost: ".$socket);
                    }else{
                        $user = $this->getUserBySocket($socket);
                        if(!$user->handshake){
                            $tmp = str_replace("\r", '', $buffer);
                            if(strpos($tmp, "\n\n") === false){
                                continue; // If the client has not finished sending the header, then wait before sending our upgrade response.
                            }
                            $this->doHandshake($user, $buffer);
                        }else{
                            //split packet into frame and send it to deframe
                            $this->split_packet($numBytes, $buffer, $user);
                        }
                    }
                }
            }
        }
    }

    protected function connect($socket){
        $user = new WebSocketUser(uniqid('u'), $socket);
        $this->users[$user->id] = $user;
        $this->sockets[$user->id] = $socket;
        $this->connecting($user);
    }

    protected function disconnect($socket, $triggerClosed = true, $sockErrNo = NULL){
        $disconnectedUser = $this->getUserBySocket($socket);
        if($disconnectedUser !== NULL){
            unset($this->users[$disconnectedUser->id]);
            if(array_key_exists($disconnectedUser->id, $this->sockets)){
                unset($this->sockets[$disconnectedUser->id]);
            }
            if(!is_null($sockErrNo)){
                socket_clear_error($socket);
            }
            if($triggerClosed){
                $this->stdout("Client disconnected. ".$disconnectedUser->socket);
                $this->closed($disconnectedUser);
                socket_close($disconnectedUser->socket);
            }else{
                $message = $this->frame('', $disconnectedUser, 'close');
                @socket_write($disconnectedUser->socket, $message, strlen($message));
            }
        }
    }

    protected function doHandshake($user, $buffer){
        $magicGUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
        $headers = array();
        $lines = explode("\n", $buffer);
        foreach($lines as $line){
            if(strpos($line, ":") !== false){
                $header = explode(":", $line, 2);
                $headers[strtolower(trim($header[0]))] = trim($header[1]);
            }elseif(stripos($line, "get ") !== false){
                preg_match("/GET (.*) HTTP/i", $buffer, $reqResource);
                $headers['get'] = trim($reqResource[1]);
            }
        }
        if(isset($headers['get'])){
            $user->requestedResource = $headers['get'];
        }else{
            // todo: fail the connection
            $handshakeResponse = "HTTP/1.1 405 Method Not Allowed\r\n\r\n";
        }
        if(!isset($headers['host']) || !$this->checkHost($headers['host'])){
            $handshakeResponse = "HTTP/1.1 400 Bad Request";
        }
        if(!isset($headers['upgrade']) || strtolower($headers['upgrade']) != 'websocket'){
            $handshakeResponse = "HTTP/1.1 400 Bad Request";
        }
        if(!isset($headers['connection']) || strpos(strtolower($headers['connection']), 'upgrade') === false){
            $handshakeResponse = "HTTP/1.1 400 Bad Request";
        }
        if(!isset($headers['sec-websocket-key'])){
            $handshakeResponse = "HTTP/1.1 400 Bad Request";
        }else{
        }
        if(!isset($headers['sec-websocket-version']) || strtolower($headers['sec-websocket-version']) != 13){
            $handshakeResponse = "HTTP/1.1 426 Upgrade Required\r\nSec-WebSocketVersion: 13";
        }
        if(($this->headerOriginRequired && !isset($headers['origin'])) ||
           ($this->headerOriginRequired && !$this->checkOrigin($headers['origin']))
        ){
            $handshakeResponse = "HTTP/1.1 403 Forbidden";
        }
        if(($this->headerSecWebSocketProtocolRequired && !isset($headers['sec-websocket-protocol'])) ||
           ($this->headerSecWebSocketProtocolRequired &&
            !$this->checkWebsocProtocol($headers['sec-websocket-protocol']))
        ){
            $handshakeResponse = "HTTP/1.1 400 Bad Request";
        }
        if(($this->headerSecWebSocketExtensionsRequired && !isset($headers['sec-websocket-extensions'])) ||
           ($this->headerSecWebSocketExtensionsRequired &&
            !$this->checkWebsocExtensions($headers['sec-websocket-extensions']))
        ){
            $handshakeResponse = "HTTP/1.1 400 Bad Request";
        }
        // Done verifying the _required_ headers and optionally required headers.
        if(isset($handshakeResponse)){
            socket_write($user->socket, $handshakeResponse, strlen($handshakeResponse));
            $this->disconnect($user->socket);
            return;
        }
        $user->headers = $headers;
        $user->handshake = $buffer;
        $webSocketKeyHash = sha1($headers['sec-websocket-key'].$magicGUID);
        $rawToken = "";
        for($i = 0; $i < 20; $i++){
            $rawToken .= chr(hexdec(substr($webSocketKeyHash, $i * 2, 2)));
        }
        $handshakeToken = base64_encode($rawToken)."\r\n";
        $subProtocol =
            (isset($headers['sec-websocket-protocol'])) ? $this->processProtocol($headers['sec-websocket-protocol']) :
                "";
        $extensions = (isset($headers['sec-websocket-extensions'])) ?
            $this->processExtensions($headers['sec-websocket-extensions']) : "";
        $handshakeResponse =
            "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: $handshakeToken$subProtocol$extensions\r\n";
        socket_write($user->socket, $handshakeResponse, strlen($handshakeResponse));
        $this->connected($user);
    }

    protected function checkHost($hostName){
        return true; // Override and return false if the host is not one that you would expect.
        // Ex: You only want to accept hosts from the my-domain.com domain,
        // but you receive a host from malicious-site.com instead.
    }

    protected function checkOrigin($origin){
        return true; // Override and return false if the origin is not one that you would expect.
    }

    protected function checkWebsocProtocol($protocol){
        return true; // Override and return false if a protocol is not found that you would expect.
    }

    protected function checkWebsocExtensions($extensions){
        return true; // Override and return false if an extension is not found that you would expect.
    }

    protected function processProtocol($protocol){
        return ""; // return either "Sec-WebSocket-Protocol: SelectedProtocolFromClientList\r\n" or return an empty string.
        // The carriage return/newline combo must appear at the end of a non-empty string, and must not
        // appear at the beginning of the string nor in an otherwise empty string, or it will be considered part of
        // the response body, which will trigger an error in the client as it will not be formatted correctly.
    }

    protected function processExtensions($extensions){
        return ""; // return either "Sec-WebSocket-Extensions: SelectedExtensions\r\n" or return an empty string.
    }

    protected function getUserBySocket($socket){
        foreach($this->users as $user){
            if($user->socket == $socket){
                return $user;
            }
        }
        return NULL;
    }

    public function stdout($message){
        if($this->interactive){
            echo "$message\n";
        }
    }

    public function stderr($message){
        if($this->interactive){
            echo "$message\n";
        }
    }

    protected function frame($message, $user, $messageType = 'text', $messageContinues = false){
        switch($messageType){
            case 'continuous':
                $b1 = 0;
                break;
            case 'text':
                $b1 = ($user->sendingContinuous) ? 0 : 1;
                break;
            case 'binary':
                $b1 = ($user->sendingContinuous) ? 0 : 2;
                break;
            case 'close':
                $b1 = 8;
                break;
            case 'ping':
                $b1 = 9;
                break;
            case 'pong':
                $b1 = 10;
                break;
        }
        if($messageContinues){
            $user->sendingContinuous = true;
        }else{
            $b1 += 128;
            $user->sendingContinuous = false;
        }
        $length = strlen($message);
        $lengthField = "";
        if($length < 126){
            $b2 = $length;
        }elseif($length < 65536){
            $b2 = 126;
            $hexLength = dechex($length);
            //$this->stdout("Hex Length: $hexLength");
            if(strlen($hexLength) % 2 == 1){
                $hexLength = '0'.$hexLength;
            }
            $n = strlen($hexLength) - 2;
            for($i = $n; $i >= 0; $i = $i - 2){
                $lengthField = chr(hexdec(substr($hexLength, $i, 2))).$lengthField;
            }
            while(strlen($lengthField) < 2){
                $lengthField = chr(0).$lengthField;
            }
        }else{
            $b2 = 127;
            $hexLength = dechex($length);
            if(strlen($hexLength) % 2 == 1){
                $hexLength = '0'.$hexLength;
            }
            $n = strlen($hexLength) - 2;
            for($i = $n; $i >= 0; $i = $i - 2){
                $lengthField = chr(hexdec(substr($hexLength, $i, 2))).$lengthField;
            }
            while(strlen($lengthField) < 8){
                $lengthField = chr(0).$lengthField;
            }
        }
        return chr($b1).chr($b2).$lengthField.$message;
    }

    //check packet if he have more than one frame and process each frame individually
    protected function split_packet($length, $packet, $user){
        //add PartialPacket and calculate the new $length
        if($user->handlingPartialPacket){
            $packet = $user->partialBuffer.$packet;
            $user->handlingPartialPacket = false;
            $length = strlen($packet);
        }
        $fullpacket = $packet;
        $frame_pos = 0;
        $frame_id = 1;
        while($frame_pos < $length){
            $headers = $this->extractHeaders($packet);
            $headers_size = $this->calcoffset($headers);
            $framesize = $headers['length'] + $headers_size;
            //split frame from packet and process it
            $frame = substr($fullpacket, $frame_pos, $framesize);
            if(($message = $this->deframe($frame, $user, $headers)) !== false){
                if($user->hasSentClose){
                    $this->disconnect($user->socket);
                }else{
                    if((preg_match('//u', $message)) || ($headers['opcode'] == 2)){
                        //$this->stdout("Text msg encoded UTF-8 or Binary msg\n".$message);
                        $this->process($user, $message);
                    }else{
                        $this->stderr("not UTF-8\n");
                    }
                }
            }
            //get the new position also modify packet data
            $frame_pos += $framesize;
            $packet = substr($fullpacket, $frame_pos);
            $frame_id++;
        }
    }

    protected function calcoffset($headers){
        $offset = 2;
        if($headers['hasmask']){
            $offset += 4;
        }
        if($headers['length'] > 65535){
            $offset += 8;
        }elseif($headers['length'] > 125){
            $offset += 2;
        }
        return $offset;
    }

    protected function deframe($message, &$user){
        //echo $this->strtohex($message);
        $headers = $this->extractHeaders($message);
        $pongReply = false;
        $willClose = false;
        switch($headers['opcode']){
            case 0:
            case 1:
            case 2:
                break;
            case 8:
                // todo: close the connection
                $user->hasSentClose = true;
                return "";
            case 9:
                $pongReply = true;
            case 10:
                break;
            default:
                //$this->disconnect($user); // todo: fail connection
                $willClose = true;
                break;
        }
        /* Deal by split_packet() as now deframe() do only one frame at a time.
        if ($user->handlingPartialPacket) {
          $message = $user->partialBuffer . $message;
          $user->handlingPartialPacket = false;
          return $this->deframe($message, $user);
        }
        */
        if($this->checkRSVBits($headers, $user)){
            return false;
        }
        if($willClose){
            // todo: fail the connection
            return false;
        }
        $payload = $user->partialMessage.$this->extractPayload($message, $headers);
        if($pongReply){
            $reply = $this->frame($payload, $user, 'pong');
            socket_write($user->socket, $reply, strlen($reply));
            return false;
        }
        if($headers['length'] > strlen($this->applyMask($headers, $payload))){
            $user->handlingPartialPacket = true;
            $user->partialBuffer = $message;
            return false;
        }
        $payload = $this->applyMask($headers, $payload);
        if($headers['fin']){
            $user->partialMessage = "";
            return $payload;
        }
        $user->partialMessage = $payload;
        return false;
    }

    protected function extractHeaders($message){
        $header = array(
            'fin' => $message[0] & chr(128),
            'rsv1' => $message[0] & chr(64),
            'rsv2' => $message[0] & chr(32),
            'rsv3' => $message[0] & chr(16),
            'opcode' => ord($message[0]) & 15,
            'hasmask' => $message[1] & chr(128),
            'length' => 0,
            'mask' => ""
        );
        $header['length'] = (ord($message[1]) >= 128) ? ord($message[1]) - 128 : ord($message[1]);
        if($header['length'] == 126){
            if($header['hasmask']){
                $header['mask'] = $message[4].$message[5].$message[6].$message[7];
            }
            $header['length'] = ord($message[2]) * 256 + ord($message[3]);
        }elseif($header['length'] == 127){
            if($header['hasmask']){
                $header['mask'] = $message[10].$message[11].$message[12].$message[13];
            }
            $header['length'] =
                ord($message[2]) * 65536 * 65536 * 65536 * 256 + ord($message[3]) * 65536 * 65536 * 65536 +
                ord($message[4]) * 65536 * 65536 * 256 + ord($message[5]) * 65536 * 65536 +
                ord($message[6]) * 65536 * 256 + ord($message[7]) * 65536 + ord($message[8]) * 256 + ord($message[9]);
        }elseif($header['hasmask']){
            $header['mask'] = $message[2].$message[3].$message[4].$message[5];
        }
        //echo $this->strtohex($message);
        //$this->printHeaders($header);
        return $header;
    }

    protected function extractPayload($message, $headers){
        $offset = 2;
        if($headers['hasmask']){
            $offset += 4;
        }
        if($headers['length'] > 65535){
            $offset += 8;
        }elseif($headers['length'] > 125){
            $offset += 2;
        }
        return substr($message, $offset);
    }

    protected function applyMask($headers, $payload){
        $effectiveMask = "";
        if($headers['hasmask']){
            $mask = $headers['mask'];
        }else{
            return $payload;
        }
        while(strlen($effectiveMask) < strlen($payload)){
            $effectiveMask .= $mask;
        }
        while(strlen($effectiveMask) > strlen($payload)){
            $effectiveMask = substr($effectiveMask, 0, -1);
        }
        return $effectiveMask ^ $payload;
    }

    protected function checkRSVBits($headers,
                                    $user){ // override this method if you are using an extension where the RSV bits are used.
        if(ord($headers['rsv1']) + ord($headers['rsv2']) + ord($headers['rsv3']) > 0){
            //$this->disconnect($user); // todo: fail connection
            return true;
        }
        return false;
    }

    protected function strtohex($str){
        $strout = "";
        for($i = 0; $i < strlen($str); $i++){
            $strout .= (ord($str[$i]) < 16) ? "0".dechex(ord($str[$i])) : dechex(ord($str[$i]));
            $strout .= " ";
            if($i % 32 == 7){
                $strout .= ": ";
            }
            if($i % 32 == 15){
                $strout .= ": ";
            }
            if($i % 32 == 23){
                $strout .= ": ";
            }
            if($i % 32 == 31){
                $strout .= "\n";
            }
        }
        return $strout."\n";
    }

    protected function printHeaders($headers){
        echo "Array\n(\n";
        foreach($headers as $key => $value){
            if($key == 'length' || $key == 'opcode'){
                echo "\t[$key] => $value\n\n";
            }else{
                echo "\t[$key] => ".$this->strtohex($value)."\n";
            }
        }
        echo ")\n";
    }
}


UAB "4 Big Group" is a young and vibrant company that has highly-qualified scaffolders whose knowledge and experience in the field of scaffolding help the company to succeed in achieving its goals.
The company is mainly engaged in erection and dismantling of scaffolds. We work in the field where time and high quality are greatly appreciated. The employees of the company are able to adapt to dynamically changing risk conditions, are flexible and creative in making the necessary decisions. The company has strict quality requirements for its employees.
Our vision is to become an international, generally recognized company providing high-quality and reliable business services to its partners.


The demands of modern workers are changing. No longer is the office simply a place where they clock in hours at work, but increasingly, employees want something a little extra. Given the amount of time spent in offices — a Ministry of Manpower survey showed Singaporeans spent an average of 45.8 hours at work in 2018 — workers have in recent years demanded not just more amenities, but a meaningful experience at work and play that is made possible by a vibrant, connected community.
For businesses, having that community not only builds staff engagement and social cohesion, but also boosts worker productivity and talent retention. "A vibrant community makes the workplace attractive and effective for employees. They put in their best work when they are engaged and happy," said Mr Kevin Chee, Chief Executive Officer of CapitaLand Commercial Trust (CCT) Management Limited.
"A vibrant community makes the workplace attractive and effective for employees. They put in their best work when they are engaged and happy."
There's a slew of activities, including signature events like the annual CCT Gifts of Joy, which brings tenants together to help the underprivileged. To unite tenants in support of the environment, CCT has a range of green initiatives, including the E-Waste Collection and Management to help them recycle unwanted electronic devices such as laptops and printers. Tenants who are truly passionate about climate change can also participate in the annual Earth Hour by joining CapitaLand in powering down their indoor lighting on the occasion.
And if keeping healthy is a priority but you do not like working out on your own, you can join in on the range of weekly workout events with fellow tenants, made possible by CapitaLand and the Health Promotion Board's Healthy Workplace Ecosystem.
Other initiatives to encourage bonding, partnership and creativity include workshop sessions and talks by industry experts, as well as movie screenings and live performances for after-office-hours fun. CCT will also seek to create partnerships with tenants that may not have the resources to plan or implement activities — such as teambonding or volunteering events — on their own.
It's not just about playing well together, but also working seamlessly as a team with your colleagues. To facilitate this, CapitaLand has created spaces where co-workers can congregate, interact, socialise and collaborate. These include flexible spaces on Level 9 of Capital Tower, which is home to a movie theatre, meeting rooms and a wellness hub. In addition, the new Innovation Hub, managed and run by coworking space operator The Work Project and located on Level 24 of Capital Tower, will bring you project rooms and breakout spaces where your team can gather to brainstorm and build your next novel concept.
For business leaders who wish to network in style, CapitaLand has, in conjunction with The Work Project, also launched the exclusive, members-only business club MARK, where tenants can host private events and book state-of-the-art private rooms for important meetings.
To further encourage community engagement, CCT has launched CapitaStar@Work, a mobile app designed to connect tenants. Piloted late last year at Capital Tower, the app is an easy way for users to find like-minded individuals who share in their interests, register for activities happening in their building, as well as book shared amenities and spaces. CapitaStar@Work will be rolled out progressively to other properties.
"The app is a great way for us to keep in touch with our building's community and contact building management on questions and concerns," said a user, Mr Tan Choon Tat of GIC, Capital Tower.
How can tenants contribute to and participate in this vibrant, connected community? The easiest option is to subscribe to your M.I.X, a bi-monthly listing of the latest activities at CCT buildings. Companies may also share their upcoming activities here and invite other tenants to their events. By having the wider CCT community over for activities like a blood donation drive or a TGIF party in your office, you can better establish new connections and partnerships with fellow tenants.


Voltas washing machine repair service centre in Sanganer.
Voltas washing machine repair service center in Sanganer.
Fully automatic Voltas washing machine repairing in Sanganer.
Voltas washing machine repair services in Sanganer.
Voltas washing machine repairs in Sanganer.
Voltas refrigerator service centre Sanganer .
Bottom mount Voltas refrigerator service centre Sanganer .
Top mount Voltas refrigerator service centre Sanganer .
Side by side Voltas refrigerator service centre Sanganer .
Double Door Voltas refrigerator service centre Sanganer .
Voltas Fridge service centre Sanganer .
Bottom mount Voltas Fridge service centre Sanganer .
Top mount Voltas Fridge service centre Sanganer .
Side by side Voltas Fridge service centre Sanganer .
Double Door Voltas Fridge service centre Sanganer .
Welcome to Voltas TV service centre in Sanganer.We service & repair all types of Voltas TVs.We service & repair Voltas TV,LCD Voltas TV,LED Voltas TV,smart Voltas TV,Plasma Voltas TV,HD Voltas TV,3D Voltas TV,4UK Voltas TV and many More in Sanganerand all over Rajasthan.
Voltas Electronics TV Service Center in Sanganer.
Voltas TV Service Center in Sanganer.
Voltas TV Service Centre in Sanganer.
• Voltas TV service centre Sanganer.
• Voltas TV service and repair centre Sanganer.
• Voltas TV installation Sanganer.
• LED Voltas TV service centre Sanganer.
• smart Voltas TV service centre Sanganer.
• LCD Voltas TV service centre Sanganer.
• Voltas TV service center Sanganer.
• Voltas TV service repair centre Sanganer.
• LCD Voltas TV servicve centre Sanganer.
• Videocon Voltas TV service centre Sanganer.
• Voltas TV repairing service centre Sanganer.
• Voltas TV installation service centre Sanganer.
• LCD/Led Voltas TV service centre Sanganer.
Voltas Ac service centre Sanganer .
window Voltas Ac service centre Sanganer .
split Voltas Ac service centre Sanganer .
portable Voltas Ac Service centre Sanganer .
Voltas Ac service & repairing centre Sanganer .
split out door unit Voltas Ac service centre Sanganer .
split portable Voltas Ac Service centre Sanganer .


This necklace has 2 layers of blue teardrops with gold bead accents and matching blue teardrop earrings.
The necklace measure approximately 19" L + the extension. The earrings measure approximately 1.25" L x 0.75" W.


text:
What do we do when Valentino Rossi retires?
It's a question that needs to be considered. Despite the fact that we were all treated to a vintage masterclass in Rossi getting it just right at exactly the right time yesterday, he can't carry on forever. More's the pity.
When Bridgepoint (*) merged Infront (WSB) with Dorna (MotoGP) in 2011, it forced us to think about the future for both championships. In the red corner we have WSB. A bona fida world championship, packed with the kind of talent that can't be questioned (this piece isn't about lap times) but one that is indirectly linked to production bikes and therefore global sports bike sales. They might be showing signs of life, but in general, sports bike sales are tough. In the blue corner we have MotoGP. Bigger, better in everyway and showing little sign of slowing down anytime soon, it's clear for all to see that MotoGP is the cherry on the Dorna cake.
Bridgepoint is an international private equity group. It is their job to turn large piles of cash into even larger piles of cash. It's simple business. That simple business principle was the reason why within 12 months of Bridgepoint buying Infront and WSB for an undisclosed sum and merging it with Dorna, it had sold a 39% stake in Dorna to the Canada Pension Plan Investment Board. Another large investment group whose job is to turn large piles of cash into even larger piles of cash.
Men in suits are working flat out to protect their investments. They're constantly studying form, looking to be able to predict trends and capitalize, or minimize risk for their clients by selling up and realizing a return. Like we said, simple business. If you were a betting man (which we're not), what would you say is the next big thing that is going to happen in MotoGP? Jack Miller finding his form? Marco Melandri bagging a competitive ride? Bradley Smith sticking one on the top step? Aside from hoping that all these things happen, we doubt they'll have much of a long-term impact on business at Dorna. For us, the next big thing that Bridgepoint must be trying to nail a date to is the one where Valentino Rossi retires from the sport. Regardless of whether you're a fan, his value to the business of MotoGP is obvious. With a net worth reputed to be over $125m, Valentino Rossi is the highest earning two wheeled motorsport athlete on the planet. In business terms, he has his own gravitational field. Sure Marc Marquez might be the next big thing on track, but which do you think will have more of an impact on the sport, Marquez winning more or Rossi packing up his leathers and leaving?
With every investment there has to be a timeline. You buy, you build and then you sell at the best possible moment. When Rossi leaves, so too will some of the value in Dorna. Obviously Bridgepoint could sell Dorna to another private equity group and we might not even feel the difference. But what if we did? What if Rossi fans stop watching when he retires and this has an impact on the value of Dorna, what happens then? When Rossi was out injured in 2010, Auditel TV viewing figures in Italy alone showed that nearly half of them couldn't be arsed to watch if the Goat wasn't on track. That's three million people in one country out of many, choosing not to watch the racing just because of one guy. When he came back, so did the viewers. The whole point of private investment groups is managing the growth of investments, as well as minimizing the risk of those investments along the way. With Rossi competitive this year, it's hard to imagine him hanging up his leathers this season. But what about next year or the year after? As long as there are two motorbikes on the planet then we'll have racing, but without Rossi, is it worth paying for? With rumours abound that Casey Stoner could make a return in 2016 with HRC or even Ducati, we can only hope that for now at least, both Rossi and the moneymen can see the value in him sticking around.
* We did call Bridgepoint to discuss this over a week ago, the nice lady said somebody would be back to us as soon as possible.
Words: Johnatsuperbike Image: Yamaharacing
Comments on What do we do when Valentino Rossi retires?

redpajama_set_name: RedPajamaCommonCrawl


Not sure whether any thread exists already as I could not find anyting in memories of yester years and hence prompted me to create.
there will be flavour of honey on his songs..
"Vasandha kaala nadhigaliley.. vaira mani neeralaigal" in Moondru mudichu by MSV.
"Amudho thamizhil ezhuthum kavitahai".. by MSV in Maduraiyai Meeta Sundarapandiyan, may be the only song he sung for MGR.
"Chithira Sevvaanam sirikka kanden" and "Oru vaanavil poley.. en vaazhviley vandhaai" are two great hits from Kaatriniley varum Geetham by IR.
"Thendralathu unnidathil solli vaitha sethi ennavo"
Ilaiyaraja gave him all songs in 'Vaidhehi Kaathirundhaal', all are super hit.
All songs from V..K were hits.
Indraikku een intha aananthame .. is sung in a happy mood and hearing the song makes us cheerful.
The realization of happiness happens only after experience of pain.
Then we must learn the art of adjusting our life with the thorns!
it will start with ... Sapthaswara devi unarooo..
the main song was by VJ the great.
like.. "Raja poNNu adi vaadiyamma" from Ore mutham.
his first song " Ponnenna poovenna kaNNE" from AlaigaL.
"thirumurugan aruginilE vaLLi kuRathi" with VJ in Mayor meenakshi..
'Raja ponnu adai vaadiyammaa'...has two version. First one happy in day effect, and the second one in night effect, where Sumithra lost her to Jaiganesh.
It came before Vaidehi kaathirundhaal's "Rasaathi unnai kaanaatha nenju".
Many fans told it is like "Raja ponnu" of Orey Muththam. But when "Rasaathi onne" became a great hit, then "Raja Ponnu" was forgotten (both by IR).
"Vara vendum vaazhkaiyil vasandham" in Mayangugiraal Oru Maadhu.
This song I think is from KJY !! ??
I posted with doubt only.
I think somebody will confirm it whether KJY or JC.
HI Balaji and Saradha !
varavendum is by Yesudas !
I sang this song myself ... like KJY .. and got the answer .... !!
I doubt whether Amudha thamizil ezudhum kavidhai is by JC ??
Or that also by KJY only ??
I think in Madurai meeta sundara Pandian... "thenralil Adum koondhalai kaNdEn" is by KJY and VJ. But "amudha thamizhil" is by JC and VJ only.


text:
Ben Enwonwu es un pintor y escultor nigeriano nacido en 1917 y fallecido en 1994. Influyente a nivel nacional e internacional, se le suele considerar el padre del modernismo nigeriano.

Biografía

Infancia y formación
Ben Enwonwu nació en una familia de la etnia Igbo; su padre era escultor. Su nombre de nacimiento completo es Odinigwe Benedict Chukwukadibia Enwonwu. Realizó estudios avanzados, primero en Nigeria y luego en el Reino Unido (Londres y Oxford) en el campo de las bellas artes; completó esta formación con una licenciatura en antropología obtenida en 1949.

Carrera
En 1977, expuso en el FESTAC 77, un festival de culturas y artes negras y africanas celebrado en Lagos (Nigeria), que reunió a casi 60 países.

Estilo e influencias
Políticamente cercano a la corriente panafricanista y anticolonialista del siglo XX, Enwonwu es a menudo considerado el padre del modernismo nigeriano. Una gran exposición sobre los modernistas tuvo lugar en París en el Museo de Arte Moderno en 1946, en la que participó. 1 En 1949, la revista TIME lo nombró el artista más importante del continente africano. En la década de 1970, desarrolló representaciones artísticas del concepto de negritud.

Obras
Además de sus pinturas y esculturas, Ben Enwonwu también es conocido por sus escritos y críticas de arte.

Es más conocido por su retrato de 1974 de una princesa yoruba. Este retrato, titulado Tutu, es una de las obras de arte más importantes y conocidas de Nigeria. La pintura, que fue encontrada en Londres en 2018 después de haber desaparecido durante casi 40 años, se vendió en una subasta por más de 1,2 millones de libras. Otro retrato de una mujer, Christine, se vendió por 1,1 millones de libras en 2019.

Pinturas

 Christine, 1971.
 Tutu, 1974.
 Negritude on Red.

Esculturas
 Estatua de la Reina Isabel II, 1956.

Homenajes y condecoraciones
Ben Enwonwu fue condecorado con la Orden del Imperio Británico (MBE) por la reina Isabel II en 1955. Fue nombrado Oficial de la Orden Nacional de la República del Senegal en 1971. También fue condecorado con la Orden Nacional al Mérito de Nigeria en 1980 por su contribución al campo del arte y la cultura.

Uno de los «jóvenes» cráteres "jóvenes" del planeta Mercurio se llama Enwonwu en su honor.

Referencias

Bibliografía

Enlaces externos

Pintores de Nigeria
Escultores de Nigeria
Miembros de la Orden del Imperio Británico

redpajama_set_name: RedPajamaWikipedia


President Donald Trump suggested Tuesday that he trusted his "gut" over the "brains" of experts, as he delivered his harshest rebuke yet of his Federal Reserve chairman.
Trump, speaking in an interview with The Washington Post, blamed declines in the stock market and General Motors' announcement the previous day of shutting multiple plants and laying off more than 14,000 workers in North America on high interest rates. GM has cited fears of an economic downturn and Trump's tariffs for the decision.
Trump then called out the Fed chairman he nominated, Jerome "Jay" Powell.
Trump has long claimed that he is more knowledgeable than experts on a range of issues that he has no training in. He has also repeatedly said that he does not need to read up on issues because he has such a strong regard for his instincts.
In the same Washington Post interview Tuesday, Trump also continued to dispute the consensus of 97 percent or more of climate scientists that climate-warming trends are extremely likely down to human activities.
Trump's comments came following the release of a climate change report produced by his own administration that detailed disastrous impacts for the United States in the coming decades.


What is the third berth number of PNR no. 8504593806?
My ticket is confirmed by the date 8th may and before that day this train is can't day by day what's the reason?
What is the coach position of B3 for train no.12141?


On Tuesday night, former children's television host and scientist Bill Nye debated creationist and best-selling Christian author Ken Ham.
The debate was streamed live on YouTube.
Who emerged as the winner?
Christian Today is "an independent and inter-denominational Christian media company serving the worldwide church with the latest Christian news," according to a general mission statement on the website.


text:
Jeff Williams Art Prints
Leisurely Cruise
Jeff Williams
32" x 27" Fine Art Print
Powder Puff
Dames du la Soiree
Eye on the Ladies
Ladies at Lunch
Raining Day in Paris
Lady You Can't Say No To
Paris Rendezvous
Chapeaux de Derby
Dancing 'til Dawn
Martinis Over Manhattan
Jeff, a native Georgian, began painting as a child and knew at an early age that art would be his life's work. After graduating from the Art Institute of Atlanta in 1989, he formed a commercial and graphics art firm, Integrated Images. Despite the company's success, painting has remained his first love. While Williams' paintings are typically colorful and full of character, his most recent work has begun to evolve in a new direction. His use of metal, texture and found objects has broken the plane of the canvas and added new dimension to his paintings. As is evident in his work, Williams is very drawn to and inspired by the Art Deco period of the 1920's and 30's. Perhaps his attraction to the era can be attributed to his personal connection to the spirit of the times, a "Happy Celebration of Life". It is his hope that his work will evoke a similar sense of joy in his audience.


NASA image by Norman Kuring, NASA's Ocean Color web. Caption by Mike Carlowicz, with assistance from Norman Kuring.
Phytoplankton are the grass of the sea. They are floating, drifting, plant-like organisms that harness the energy of the Sun, mix it with carbon dioxide that they take from the atmosphere, and turn it into carbohydrates and oxygen. Phytoplankton are critical to the marine food web, being the primary producers of food for the oceanic food web, from zooplankton to fish and shellfish to whales.
Like plants and trees on land, phytoplankton give us a lot more than food. Scientists estimate that at least 50 percent of the oxygen in our atmosphere has been produced by phytoplankton. At the same time, they are responsible for drawing down significant portions of the carbon dioxide from the air. The tiniest of living organisms exert an outsized influence on the planet.
In mid-summer 2016 in the Southern Hemisphere, they took up an outsized parcel of real estate in the Southern Ocean, as shown in the image above. On January 13, 2016, the Visible Infrared Imaging Radiometer Suite (VIIRS) on the Suomi NPP satellite captured this view of extensive phytoplankton blooms stretching from the tip of South America across to the Antarctic Peninsula. The image was built with data from the red, green, and blue wavelength bands on VIIRS, plus chlorophyll data. A series of image-processing steps highlighted the color differences and more subtle features, such as nearly a dozen eddies of varying sizes.
The parcel of blooming ocean—at least that part visible through the break in the clouds—stretched from 56° to 68° South latitude; that is roughly 720 nautical miles or 1300 kilometers from top to bottom. At the widest point, the plankton-rich waters spread from 78° to 93° West longitude, or roughly 480 miles (770 kilometers). Of course, these measurements only account for what we can see between the clouds.
The blooms in this image formed just west of the Drake Passage, one of the most turbulent mixing regions in the ocean. Winds and water currents are steady and strong, and the ocean and atmosphere exchange a lot of heat, water, and other natural chemicals. With abundant summer sunshine and lots of nutrients being churned up, the waters can become a factory for the creation of oxygen.
The Southern Ocean has been an area of intense study and educated speculation in recent years. Modeling by researchers at the University of Tasmania recently suggested that the growth of phytoplankton in the Southern Ocean, particularly diatoms, might double by 2100. Other research led by the University of Washington has suggested that blooms in the far southern waters alter the cloud cover of the region by releasing chemicals (such as dimethyl sulfide) and by becoming airborne seeds for clouds (when picked up by winds). A third group from the University of Sheffield examined ocean color imagery and found that icebergs often create phytoplankton-rich wakes that can drawn down carbon dioxide from the atmosphere for as long as a month.
Antarctic Climate & Ecosystems Cooperative Research Centre (2015, October 6) Southern Ocean phytoplankton growth set to double by 2100. Accessed February 5, 2016.
EarthSky (2015, June 8) How much do oceans add to world's oxygen? Accessed February 5, 2016.
NASA (2015, July 24) Marine Plankton Brighten Clouds over Southern Ocean. Accessed February 5, 2016.
The University of Sheffield (2016, January 11) Giant icebergs play key role in removing CO2 from the atmosphere. Accessed February 5, 2016.


text:
Cuomo: Sandy cost N.Y. $32B in damage and loss
Brian Tumulty, Gannett Washington Bureau
Sandy caused more damage in New York than Katrina
New York, New Jersey requests for aid total $71.3 billion
228,000 people have filed claims with FEMA after Sandy
WASHINGTON — New York is requesting $32 billion in federal aid to repair damage caused by Superstorm Sandy and to prevent similar damage in the future, New York Gov. Andrew Cuomo announced Monday.
Cuomo's announcement came three days after New Jersey Gov. Chris Christie released his initial $29.4 billion estimate of the damage done to his state.
Their combined $71.3 billion in requests comes as Congress reconvenes this week for a lame-duck session in which lawmakers are negotiating how to avoid the "fiscal cliff" of across-the-board spending cuts and tax increases set to take effect Jan. 1.
New York Democratic Sens. Chuck Schumer and Kirsten Gillibrand pledged Monday to quickly pursue a supplemental spending bill to finance the reconstruction despite the difficult political environment.
"Make no mistake, this will not be an easy task, particularly given the impending fiscal cliff and a Congress that has been much less friendly to disaster relief than in the past,'' Schumer said. "This will be an effort that lasts not weeks but many months."
Democratic Rep. Nita Lowey of Harrison, N.Y., a senior member of the House Appropriations Committee, said she and other members of the delegation have been in touch with the White House Office of Management and Budget to ask the administration to initiate a disaster aid request to Congress as soon as this week.
"We suggested that the governor work closely with the governor of New Jersey,'' Lowey said, adding that the members of Congress stressed the importance of making the request for money a bipartisan effort.
Gillibrand expects a united effort by New York officials.
"The federal government has a clear responsibility to commit all of the necessary resources to help us rebuild,'' she said.
Cuomo outlined his request after a meeting in his Manhattan office with members of the state's congressional delegation, New York City Mayor Michael Bloomberg and county executives from Long Island and the Hudson Valley, where the storm damage was the greatest.
The cost of repair and rebuilding is estimated at $32.8 billion. An additional $9.1 billion is needed for mitigation work to prevent similar damage in the future.
Among municipal governments, New York would get the most — $15 billion — followed by $6.6 billion for Nassau County, $1.8 billion for Suffolk County, $528 million for Westchester County and $144 million for Rockland County.
The state estimates an additional $707 million is needed to repair state roads, state parks and health facilities.
The Metropolitan Transportation Authority estimates it suffered more than $5 billion in damage, and the Port Authority of New York and New Jersey estimates its damage at $841 million. The cost of repairing utility lines is estimated at an additional $1.5 billion.
"It's a conservative estimate at this time,'' Cuomo told reporters at a news conference.
He noted that damage estimates will grow over time, as they did after Hurricane Katrina in 2005.
Sandy caused more damage in New York alone than Hurricane Katrina caused when it hit the Gulf region. Katrina resulted in a federal response of $146 billion for rebuilding and repairs spread out among six different supplemental spending bills, Cuomo said.
Katrina damaged 214,000 homes, compared with more than 300,000 damaged by Sandy. And Katrina hit 18,000 businesses compared with 265,000 private businesses impacted by Sandy.
In Manhattan alone, an estimated 22 million square feet of commercial office space was temporarily vacated because of Sandy.
"It could be another month before some of those buildings come back online,'' Cuomo said.
In another measure of Sandy's impact:
— 46,000 unemployment claims were filed the first week after the storm.
— 228,000 people have filed claims with the Federal Emergency Management Agency.
Republican Reps. Peter King of Long Island and Michael Grimm of Staten Island attended the meeting with Cuomo, but other Republicans in the state's House delegation did not.
Republican Rep. Tom Reed of upstate Corning said he was unaware of any invitation to meet with the governor.
However, Reed expressed support for supplemental disaster aid for New York.
"We will make sure we are there for New Yorkers," he told reporters in a conference call.
Democratic Rep. Eliot Engel of the Bronx, whose current congressional district includes parts of Westchester and Rockland counties that are part of the disaster area, also did not attend.
Lowey said Cuomo apologized to the participants for calling the meeting on short notice.
Previous governors generally have met with members of the state's congressional delegation in Washington when the House and Senate were in session, but Cuomo has not done that.
Cuomo, however, said he will to travel to Washington to lobby for federal aid if members of the delegation advise him to.
A Senate committee has scheduled a Thursday hearing on the potential cost of repairing the damage caused by Sandy.


Cities are socio-technical systems, precariously integral, capable of growing as well as becoming smaller and fragmented but still functioning. Even though they have a resilient inherent quality, many cities around the world are witnessing slow death. The reasons could be many – environmental and social degradation, diminishing opportunities for the young population, shifting economic centers, poor governance, loss of character, etc. The dying city is reflected in everything thereafter, in its form, function, and most important the functionaries – the city dwellers. The first sign of decay is visible in the urban form, which instead of undergoing a constant transformation, stops in time and becomes redundant.
The smart city concept brought out by the current government in India, urges planners to design innovative future cities to address the urban transition India is experiencing. In 1900, around 15% of world's population lived in cities where as in 2015 more than 55% lived in cities. By 2050 it is estimated that 70% of world's population will be living in cities. According to United Nations, Cities are using only 2% of the entire planet's land mass and 75% of the world's natural resources, accounting for approximately 80% of the planet's greenhouse gas emissions. The challenge ahead for city planners is to accommodate the 70% population which will be living in cities by 2050 in the 2% of land available to them.
Improved access to global markets, rapid advances in technology, as well as rising expectations of citizens is fueling the growth engines of urbanization. Cities around the world are embracing a smart agenda. There are several definitions of what it means to be a "smart city," thus giving an opportunity to governments to define their own programs, policies and procedures, responding to their own unique priorities and needs. Famously, the word SMART as an acronym stands for specific, measurable, achievable, relevant and time-based goals. Most of smart city frameworks in the developing world comprise projects and programs that feature smart grids, smart buildings, clean technology and smart governance. However, apart from meeting basic needs, smart cities need to also improve livability, give its citizen a sense of pride, ownership, identity and belonging.
Every city has a peculiar character, represented by elements such as smell, form, colour, texture, sound and culture, commonly described as the urban fabric. A smooth texture, a ragged landscape, a dense weave, a focal point, an intriguing maze, etc., all represent the city's unique character. Thus, just like a fabric, a city also has a print, a pattern and a colour and when it evolves with time, more often than not, it changes these inherent characteristics. In other words, by accommodating migrant population, welcoming new cultures and traditions, the city voluntarily or involuntarily absorbs elements – and loses its basic essence for better or worse.
Delhi is a historic city, between 3000 B.C. and the 17th century A.D seven different cities came into existence in its location. The remnants of each of these seven cities can be seen today in structures such as Gates, Tombs, Water Bodies, Economic Activities and Streetscape, though most features have lost their fervor with time. An organic city by nature, Delhi has seen drastic changes in its urban form. Several rulers conquered Delhi and adorned it with their symbols, Turk introducing Minar, Mughal Domes, Persian coloured tiles, Maratha's shikhars and British Bungalows with Gardens.
However, in modern times, the urban design is not dependent on rulers and thus before a city involuntarily transform we need to plan the inevitably transformation. The launch of four flagship Missions (Smart City, AMRUT, HRIDAY and Swachch Bharat Mission) by Ministry of Urban Development, Government of India represents a realization of a paradigm shift which is taking place in addressing the challenges this evolving unplanned urban transition. These interlinked Missions built on broad overarching objective of creating clean, sanitized, healthy, livable, economically vibrant and responsive cities propagate 'Planning' as a fundamental tool for providing realistic direction and cohesive development.
The question however still remains – will smart cities revive the decaying urban fabric? The cities of today need a renaissance movement to make them more inviting, sustainable and vibrant. Art can be instrumental in renewing the look of the city and thus the new trend of using graffiti in portraying emotions, conveying messages and giving dimension to the otherwise plain façade is an idea which is fast catching up in cities around the world. An individual's expression, graffiti – triggers different reactions from onlookers. Where, many relate to them, some also find these obscure and obstructing. Besides, igniting different feelings amongst people they are being welcomed more and more as part of the urban form. In addition to urban features like, street furniture, signage, kiosks and structures; art and colour are becoming popular urban elements reversing the slow death a city is prone to undergo.
Art on the walls of houses, schools and community spaces is not new to India. Women have been painting their homes from outside by drawing specific geometric patterns. Folk art and strings of mystical stories are common illustrations found in villages with lined mud houses, helping to differentiate the otherwise similar looking brown facades.
Photo 3: Traditional paintings on the walls of Rural India.
Continuing with this tradition, Delhi has recently endorsed graffiti on its vertical frame changing the streetscape altogether. One of the first public intervention adopted by the residents of Lodhi Colony in Delhi has helped convert their residential area into an art district. Several Art Volunteers from across the globe have been tasked to reform the plain walls of the residential blocks into masterpieces. The art portrays – mythology, technology, nature, Indian ethnic patterns, future but above all it portrays pride. Pride which every citizen needs to feel for their larger abode – the city in which they live to respect and to protect the space.
Daljeet Kaur is Associate Director – Knowledge Management with IPE Center for Knowledge and Development (http://ipeckd.com/ipeckd). IPE CKD is the knowledge management arm of IPE Global Limited (www.ipeglobal.com), which was established in 2013 to extend the frontiers of knowledge and promote experimentation for innovative solutions to global development challenges. Alongside her work, Daljeet pursues her passion of painting, sketching and drawing under the banner madhURBANi.
Walking along the Regents Canal at the end of last year, this Tasmanian Tiger caught my eye. As Londoners, life can be fast-paced, and not in the least stressful – everything happens at 100 miles per hour, and if it's not, then you're probably not doing it right. Or at least, it certainly feels that way… And yet, this encounter made me stop and pause and look and reflect.
The Tasmanian Tiger is extinct, and amongst the bleak backdrop of greying sky and murky canal water – I couldn't help but wonder if it had been worth it? Did the person who placed this up want me to reflect on the Tasmanian Tiger (okay, not indigenous to London) but on the wider disappearance of the natural world within our very urban existence?
A quick Google search revealed that the artist behind these eulogy-style pieces is Indiana and The Extinction Project, "my work has focused on the idea of wilderness and freedom, in escaping from the current modern society and moving to the country. This society steals most of our time in exchange for money that we spend on things we do not need, and in the process we are destroying what we really belong to: the nature and the world".
Walking the streets of many cities around the world, I've often come across artistic interventions from people having taken to the streets and scribbled, scratched, pasted, created beautiful murals or one-word retorts. While the expanse of what can be described as street art is huge, I define it as the act of taking to the streets and inscribing on the walls artistic, but also a political, social and environmental responses to the state of the world from a very personal perspective.
Over the last few years, I've researched urban street art as a tool for social transformation. The world has an infinite depth of artists, writers, and creative individuals marking their place in the world. Street art is a powerful tool in reflecting the experience of the urban, provoking an engagement of urbanites with their environment.
As a global artistic and social movement, it repurposes space through experimental interventions and challenging the dominant visual culture (an unending stream of advertising, commodity, industrialisation, consumption and alienation), it provides alternatives to this vision. Encounters with urban street art within the everyday create social interstices, opening up ways of seeing and feeling the world differently.
Through its lens, we reconnect within an increasingly urban existence, one we had forgotten the natural and social entanglements that make up the fabric of the urban context. With urban street art disrupting the mainstream experience of the urban, the spectator is provided with an alternative vision of the world at play.
As a result, at the crossroads between urban street art and everyday life, the spectator evolves from a passive to an active participant. By awakening new understandings and raising consciousness, engaged urban street art provokes a re-engagement of urbanites with the environment, acting as a catalyst for transformative social change.
So, that's the theory. But in practice? To move beyond the topical and speculative to the practical act of catalysing transformative social change, there needs a more grounded understanding of the cultural effect of urban street art itself: Who are the spectators? How does it make them feel? What do they take away from the encounter? Do they change their routine because of it? How can we understand more fully the role of the active participant?
The same question started rolling itself in my head: "How does urban street art open up new ways of seeing and feeling the world around us?" I began to ask around, artists and academics, everyday encounters and in-depth research. These interviews are part of a wider project around documenting these encounters around the city.
In very different ways, illegal and legal street art play a role in the shaping of public spaces; an interplay for confrontation, awareness, beautification, response, anger, activity. It is this activity, which allows people to participate and take responsibility for their public spaces. There is a dualistic role between the counter-culture and anti-capitalist retorts of illegal pieces as there is a desire and need for legal wall spaces, carefully chosen to brighten and breath life into others.
This is not an either/or. The beauty of what is called urban street art today, will be called something different tomorrow, but the act of taking to the street and inscribing on the walls is nothing new.
What we should hold onto are the messages; the powerful voices which interlace personal with political, social, and environmental, which momentarily occupy the space on the walls and between the streets as well as living on beyond, once documented online. I would tread carefully in describing urban street art as a subculture, as it has been expunged by the mainstream attempts to monetise it.
Yet, there remain many artists who continue to use the streets, both illegally and legally, to speak about issues they hold important, some of whose notoriety is spread across the timelessness of the internet, and others who remain faceless scribbles.
All of whom, nevertheless, play a part of this artistic and social movement. I would more easily call myself a researcher and an urban planner before an artist, but I strongly believe that one of the greatest attributes of urban street art in creating social transformation is that it awakens a dormant creativity within us all, and with it, a refreshed curiosity in how we shape, create and impact our everyday.
So, the next time you Instagram that piece that caught your eye, ask yourself: what just woke up inside me?
Claire is a DPU MSc Environment & Sustainable Development alumna. Since graduating in 2012, she continues to research the role of urban street art in re-naturing urban imaginations and experiences. She is applying for a PhD to begin in 2015 on urban street art in West Africa and the effect of marking surfaces in public spaces, however her interests are rather more interdisciplinary, lying at the cross-sections of; community engagement, urban street art, public interest design, sustainable development, town planning, creative cities, art psychotherapy, mental health, the psychodynamics of public spaces, and their impact on place making in the city.
She will be publishing a fuller version of the account above as a DPU working paper in the coming months entitled "The power of urban street art in re-naturing urban imaginations and experiences".


text:
Q: I'm having a hard time launching my IntellijIDEA 2019.2 I tried running the idea batch file from the bin folder and it worked.  but i wouldn't like to have to open through the batch file.

A: Welcome to Stack Overflow.
Please ensure that JAVA_HOME variable is defined in Environment Variables. Seems like currently your JAVA_HOME points to IntelliJ IDEA directory, but it should point at Java installation directory.
For example, my JAVA_HOME is defined as: C:\Program Files\Java\jdk1.8.0_221

A: First, make sure you have(or download) a 64-bit version of the JDK.
Then follow this tutorial to set up the JAVA_HOME variable:
https://www.google.com/amp/s/javatutorial.net/set-java-home-windows-10/amp

redpajama_set_name: RedPajamaStackExchange


If an eight-game slate wasn't enough for you on Friday night, how about a jam-packed 10-game feast on Saturday?
If you aren't a Swift Current Broncos fan, you're probably getting sick of hearing his name. If you are a Broncos fan, chances are pretty good you can't get enough. Aleksi Heponiemi was at it once again, adding another two points to his WHL-leading pre-season point total, which now stands at 12.
Kootenay ICE top prospect Peyton Krebs found the back of the net for the second consecutive game, while Kirby Dach, second overall pick of the Saskatoon Blades, tallied his first two WHL pre-season markers.
In Kamloops, former Blazer Jake Kryski registered two goals and four points to help the Kelowna Rockets to victory.
In Regina, it was Sam Steel scoring twice, including the overtime winner, as the Pats avenged a Friday loss to the Tigers.
There was a deep dose of two-goal scorers around the league, as Alex Overhardt, Brandon Hagel, Kryski, Steel, Austin Wagner, Dach, Kaden Elder and Morgan Geekie all tickled twine twice for their respective clubs. We'll have more on each in their respective capsule.
With that being said, let's dig in.
Kootenay ICE 2 vs. Portland Winterhawks 6 – Kennewick, Wash.
Winterhawks veteran Alex Overhardt scored twice to pace Portland, who also received scoring from Ryan Hughes, Evan Weinger, Lane Gilliss and Matthew Quigley over the course of the afternoon.
Krebs scored his second short-handed tally of the pre-season 5:49 into the third period, cutting the Winterhawks lead to 3-2, but it was all Portland from there as Weinger, Gilliss and Quigley all scored in a span of 2:39 to kill any comeback hopes for the young ICE.
Zak Zborosky registered the other goal for Kootenay, with Krebs assisting. The 20-year-old Zborosky returned the favour on Krebs' short-handed effort.
Despite Krebs' short-handed goal, special teams downed the ICE Saturday, as the Winterhawks went 3-for-6 with the man advantage, while Overhardt's second came while down a man.
Jakob Walter turned aside 14 of 17 shots as he got the start for the ICE, while Declan Hobbs made 15 saves.
For the Winterhawks, Cole Kehler and Michael Bullion combined to make 23 saves.
The Winterhawks finish the WHL pre-season with a near-perfect record of 5-0-1, having not lost in regulation.
The ICE fell to 0-1-2 with the loss and return north of the border to take on the Lethbridge Hurricanes on Sept. 15 (7 p.m. MDT) in Crowsnest Pass, Alta.
Giants left winger James Malm and Royals right winger Ethan Price provided all the regulation scoring before the game was halfway through before Gunnar Wegleitner and Jack Walker tallied the only shootout goals to boost Victoria to a 2-1 triumph.
The Giants went 0-for-8 with the man advantage, while the Royals were 0-for-5 on the afternoon.
In net, Griffen Outhouse was good on 39 of 40 shots and perfect in the shootout to backstop Victoria, while Ryan Kubic turned aside 31 of 32 in a losing effort.
The Royals moved to 3-1-0 with the win and head to the mainland to face the Giants on Sunday (2 p.m. PDT) in in Ladner, B.C.
Meanwhile, the Giants faltered to 0-2-1 in pre-season action will head home to host the Royals on Sunday.
Red Deer Rebels 4 vs. Spokane Chiefs 1 – Kennewick, Wash.
Brandon Hagel beat Jayden Sittler twice in the first period and that's all the scoring the Rebels needed Saturday afternoon.
Austin Pratt and Brandon Cutler added second period markers to give Red Deer a commanding 4-0 advantage and it wasn't until midway through the third period that Pavel Kousal got the Chiefs on the board.
After the Rebels staked out a 4-0 lead, the contest turned into a penalty-filled affair as the two teams combined for 90 penalty minutes before the final buzzer sounded.
Chiefs defenceman Jordan Henderson and Rebels forward Taden Rattie were tossed for fighting midway through the second period. Moments later, Chiefs centre Riley McKay and Rebels defenceman Austin Strand saw their days end early due to fighting majors.
Neither team was able to cash in on any power play, as the Rebels went 0-for-2 and the Chiefs finished 0-for-6.
Sittler took the loos for the Chiefs, allowing four goals on 17 shots before giving way to Matt Berlin, who blocked all 13 pucks sent his way.
Riley Lamb went the distance for Red Deer, making 29 saves.
The Rebels now sit 3-1-0 and return north to take on the Medicine Hat Tigers on Sept. 16 (7 p.m. MDT) in Ralston, Alta.
The Chiefs find themselves 2-3-0 and will visit the Tri-City Americans on Sept. 16 (7:05 p.m. PDT).
The Oil Kings jumped out to a 4-1 lead before the midpoint of the second period and weathered a furious third-period push for the Hitmen to claim a 4-3 win.
Jakob Stukel pulled the Hitmen within two goals with less than five minutes remaining in the third before Jake Bean tallied with only 22 seconds left in regulation to make it a one-goal game.
Oil Kings centre Scott Atkinson and Hitmen centre Beck Malenstyn exchanged first-period goals. In the second period, Oil Kings 2015 first round pick Ethan Cap registered his first pre-season marker before Nicholas Bowman and Davis Murray rounded out the scoring.
The Hitmen finished the night 1-for-5 with the power play, while the Oil Kings went 0-for-4.
Liam Hughes made 25 saves to claim the win in net for Edmonton, while Nik Amundrud surrendered four goals on 20 shots before handing the crease over the Cody Porter.
The Oil Kings drew even at 2-2-0 in pre-season action and will host the Saskatoon Blades in St. Albert, Alta., on Sept. 17 (7 p.m. MDT) to close the exhibition season.
The Hitmen pulled to 2-2-0 and head to Crowsnest Pass, Alta., to play the Lethbridge Hurricanes on Sept. 16 (7 p.m. MDT).
Friday night, the Rockets and Blazers combined to score one goal in Kelowna. Saturday night in Kamloops was a different story as the two teams combined for nine tallies.
Former Blazer Jake Kryski got the last laugh on his old team, scoring twice and adding two assists to boost the Rockets.
Braydyn Chizen, Kole Lind and Kryski all scored in the first period to get the Rockets ahead early before import Rudolfs Balcers got the Blazers going 7:29 into the second period.
The Blazers didn't muster much momentum from the 19-year-old Latvian's second goal of the pre-season as Tate Coughlin and Tanner Wishnowski scored 71 seconds apart and only 68 seconds after Balcers.
Kryski added a power-play tally for good measure to make it 6-1 before Travis Walton and Matt Revel rounded out the scoring for Kamloops.
Three power-play goals weren't enough to fuel the Blazers, while the Rockets went 1-for-6 with the man advantage.
In the blue paint, Brodan Salmond made 32 saves to backstop Kelowna while new Blazer Carter Phair was victimized five times on 28 shots before Dylan Ferguson took over and made nine saves on 10 shots.
Kamloops dropped to 1-3-0 in pre-season play and will visit Prince George on Sept. 16 (7 p.m. PDT) to wrap up the slate.
Kelowna soared to 3-1-0 with the win and finishes exhibition action on Sept. 16 (7:05 p.m. PDT) by hosting the Vancouver Giants.
Tanner Jeannot and Brett Howden each collected a goal and an assist as the Warriors topped the Wheat Kings on Saturday.
Warriors right winger Ryan Bowen opened the scoring in the first period before Wheat Kings veteran Reid Duke knotted the game 1-1 midway through the second.
Less than a minute after Duke tied the game, Brayden Watts put Moose Jaw ahead for good and Jeannot followed up 35 seconds later to provide the insurance. Howden added one more for good measure in the third period.
The Wheat Kings went 0-for-6 on the power play, while the Warriors were also blanked, going 0-for-7.
In net, Zach Sawchenko was a rock, making 32 saves for the win. At the other end, Hunter Arps faced 39 shots, making 35 saves for the Wheat Kings.
The loss leaves the Wheat Kings (0-2-0) winless in pre-season play. Brandon will look to burst the bubble on Sept. 14 (1 p.m. CDT) when they play the Regina Pats in Ochapowace, Sask.
The Warriors rolled to 3-2-0 and will visit the Prince Albert Raiders on Sept. 15 (7 p.m. CDT).
The Tigers and Pats exchanged goals from start to finish before Anaheim Ducks prospect Sam Steel struck on a power play in overtime to give Regina a 5-4 victory.
Steel finished the night with two goals, having also opened the scoring in the first period.
Austin Wagner also struck twice for the Pats, while Adam Brooks and Riley Woods added two helpers apiece.
For the Tigers, it was import John Dahlstrom doing some heavy lifting as he notched a goal and an assist.
Veteran Tyler Brown went start to finish for the Pats, making 34 saves for the win. At the other end, Duncan McGovern started for the Tigers, turning aside 21 of 24 before Nick Schneider came on to stop 15 of 17 pucks sent his way.
Regina improved to 3-2-0 with the victory and will play the Brandon Wheat Kings on Sept. 14 (1 p.m. CDT) in Ochapowace, Sask.
The loss dropped Medicine Hat to 2-2-0 to this point in the pre-season. The Tigers will aim to get back in the win column on Sept. 16 (7 p.m. MDT) when they play the Red Deer Rebels in Ralston, Alta.
Prince Albert Raiders 7 vs. Saskatoon Blades 5 – Warman, Sask.
Kirby Dach was the first star of the game, tallying two goals and an assist, but it wasn't enough for the Blades to emerge victorious, as Kelly Parker responded with a three-point effort of his own and Kolten Olynek registered the game-winning goal for the Raiders.
Sean Montgomery kickstarted a four-goal third period for the Raiders, with Spencer Moe piling on before Olynek scored the game-winner with 5:57 to play. Tim Vanstone scored into the empty net to ice the win for Prince Albert.
Both clubs went 2-for-7 on the man advantage.
Veteran Rylan Parenteau made 27 saves to guide the Raiders home, while Brock Hamm was victimized six times on 33 shots.
Prince Albert improved to 2-1-0 in pre-season play and will host the Moose Jaw Warriors on Sept. 15 (7 p.m. CDT).
Saskatoon fell to 2-3-0 and will look to get back to .500 in their pre-season finale on Sept. 17 (7 p.m. MDT) when they play the Edmonton Oil Kings in St. Albert, Alta.
Broncos import Aleksi Heponiemi didn't find the back of the net Saturday, but that didn't matter. He's characterized himself as a playmaker anyways and make plays is what he did, collecting two assists to boost his league-leading point total to 12 and spur Swift Current to a 5-2 triumph.
Logan Barlage, 2016 fourth overall pick of the Broncos, notched the game-winning goal midway through the second period, while Kaden Elder (twice), Tyler Steenburgen and Arthur Miller provided the support.
Ryan Vandervlis and Tyler Wong responded for the Hurricanes, but it wasn't enough.
Rookie Adam Swan gave up four goals on 30 shots for the Hurricanes, while Taz Burman blocked 20 of 22 for the Broncos.
The loss puts the Hurricanes at 1-3-0 with a date against the Kootenay ICE next up on Sept. 15 (7 p.m. MDT) in Crowsnest Pass, Alta.
The Broncos sit atop the East Division at 4-1-1 and will host the Prince Albert Raiders Sept. 16 (7 p.m. MDT).
A three-goal third period lifted the Americans to a 4-2 triumph over the Thunderbirds in the finale of the Red Lion Inn Pre-season Tournament Saturday night in Kennewick, Wash.
Americans import defenceman Jusso Valimaki and Thunderbirds defenceman Ethan Bear traded goals over the first 40 minutes of play before Tri-City clicked for three power-play goals in the third period to run away with the win.
Morgan Geekie started the slide for the hosts before Alexander True pulled Seattle even at 2-2.
Parker Wotherspoon notched the game-winning goal with the man advantage at 8:33 of the third and Geekie added an insurance tally, once again on the power play.
When the final buzzer sounded, the Americans had gone 3-for-5 with the extra man, while the Thunderbirds were only 1-for-5.
Nicholas Sanders backstopped the Americans with 18 saves and even managed an assist along the way. At the other end, Logan Flodell took the loss, allowing four goals on 25 shots.
The Americans are now 3-3-0 and will host the Spokane Chiefs on Sept. 16 (7:05 p.m. PDT).
The Thunderbirds stumbled to 3-2-0 and round out their pre-season Sept. 17 (7:05 p.m. PDT) in Everett.
Victoria Royals vs. Vancouver Giants (2 p.m. PDT) — Ladner, B.C.


text:
Ridge Meadows Racers post personal bests at Abbotsford speedskating meet
The Ridge Meadows Racers smashed many of their personal best times at the Matsqui Blades interclub speedskating meet
Feb. 21, 2012 6:00 a.m.
The Ridge Meadows Racers smashed many of their personal best times at the Matsqui Blades interclub speedskating in Abbotsford earlier this month.
Justin Cross led the Racers in Division 4 with a couple of wins, while B.C. Winter Games teammate Annie Russell posted a personal best in her 500-metre and 3,000-metre to take a first and second.
In other Division 4 action, Robert McLennan took home a second- and third-place finish and a personal best in his 3,000-metre while teammate Brianna Utas skated hard to earn a first in the 3,000-metre and took home a couple of second-place finishes.
In Junior action, William McLennan took a first and three second-place finishes in a strong showing while teammates Ian Cross skated to a second and third and Steven Timotius posted two seconds.
Jack Lindsay knocked a second off his time in the 200-metre and took home two firsts and a second in Division 1 L2T action. Brother Cole Lindsay took a whopping eight seconds off his 200-metre time to post a personal best.
In Division 2 action, Shivani Bahadur led the way with a couple of first-place finishes and two seconds. Teammate Annabelle Green shone, taking a second off her personal best in the 200-metre and taking two first-place finishes. Brother Samuel Green also had a great day and notched a couple of firsts, a second and a personal best in the 200-metre.
The Ridge Racers end the season with several big competitions in the coming weeks, including the B.C. Winter Games where Justin Cross and Annie Russell will represent Zone 3. The B.C. Short Track Championships in Kamloops take place in early March.
Pitt Meadows Marauders Air Force win AAA Fraser Valley North final, take No. 1 seed at Fraser Valley finals
Maple Ridge Secondary School wrestlers head to B.C. finals


text:
Mandalay Resources: A Canadian resource company with an international focus
Mining, The Top Line
TSX:MND
Simon Druker Markets Reporter [email protected] 24 October 2022 09:00 (EST)
Mandalay Resources is a Toronto-based natural resource company with an international focus. The precious metals explorer already has producing assets in Australia and Sweden. Its focus remains on furthering growth at both operations, reducing associated costs where it can, and continuing to generate significant positive cash flow.
Part of the company's philosophy is choosing to operate in areas with low political risk and clear legal frameworks for tenure and taxation.
Joining us today to discuss a little more about the company's projects and the world of precious metals is Mandalay Resources CEO, Dominic Duffy.
TMH: So first off, give us some background and tell us a little bit about the company and where your focus lies?
DD: Yeah, so Simon, our main focus, we are a gold-producing company with also a byproduct of antimony in Australia. So we've got our two assets, as you mentioned, the pure gold mine in Northern Sweden. That's a bulk tonnage low-grade mine, but then we have our extremely high-grade narrow-vein underground operation in Victoria, Australia, and that's producing both gold and antimony. Our main focus over the last several years has really been cash generation for the company. So two years ago, the Company was $60 million in net debt, and the board wanted the focus to be on bringing the Company out of debt and generating maximum cash flow from our two assets and really turning the Company around, and we have done that. We are now net debt free. We've been averaging approximately $35 million in free cash flow over the last two years. That's the US also, and when you consider we're only a $160 to $170 million Canadian market cap company, you could really consider that we are relatively undervalued for the cash generation where we are currently earning. Our other main focus is on exploration, in Björkdal, it is to lift the grade so that we can have high production tonnage coming from their mine and in Costerfield, Victoria, it is to extend the mine life. It's already a very profitable operation, and we just want to prolong that.
TMH: You had some promising exploration results last month at your Costerfield operation in Australia. What's the latest there, and what do you expect going into 2023, not just there but across the company as a whole?
DD: Yeah, so that release was focused mainly on the Youle area, and that's where all the production currently is coming from in Costerfield. As I mentioned earlier, it's an extremely high-grade mine, but it's a single vein, the Youle deposit what we have found underneath it is a series of parallel sub-vertical veining called the Shepherd Zone, and that release was just highlighting some of the extremely high grades that we are finding there. What you do see in Shepherd, because it is multiple veins, does have the potential to add extensive mine life to this asset. I did mention that we are trying to grow the mine life here. It's currently approximately five years of life we have in front of us. If we can grow the Shepherd Zone significantly, then we could be adding a lot more years to the Costerfield mine and asking about exploration as a whole with the company.
We also do have a focus on Björkdal. There it is trying to increase the grade of this asset, and we have also had some very good results there as well working towards those aims. We began drilling down to the eastern deeps last year. So this is a very long deposit with many veins, and the geological team came up with the theory that we should start focusing on the eastern extents of the mine, and we have been seeing high-grade results from there. That area of the mine is not currently permitted, but we are in the process of getting it permitted, and the application was submitted in January then we hope to have it near year and this year. If we can start exploring those high grades in the eastern deeps of Björkdal, then we should be growing our production in the mine over the coming years.
TMH: You have just released third-quarter production results, take us through those and your reaction to them.
DD: Yeah. Third quarter results were we produced 27,000 equivalent gold ounces. That was up on the Q2 results, although it was below our expectations for the guidance this year. We have had issues over the course of this year with sick leave. So that's related to COVID, and so I think we've increased at least over 30% in both of our assets and the amount of sick leave that people are taking for any cold or flu, and that's been a pretty big impact in our Australian operations. So we did underproduce for what we are expecting, but the good thing is it's still profitable, that the company's very profitable at those production rates, and we do see Australia coming out of the flu season. So we do expect probably some big lifts coming out of our Costerfield mine in Q4 and the Björkdal mine also continuing to lift. We did update our guidance with the production release, and in line with the production dropping slightly, we did in reinforce that our cost guidance will be remaining constant for this quarter for this year. So we did make a lot of adjustments and some cost-cutting to ensure that the company would still be spending within our unit cost guidance, and we also will be dropping slightly our capital costs this year as well.
TMH: You've had a busy few months. You sold a project in August, you're gearing up for drilling right now in Australia (as we mentioned), take us through the biggest highlights for your shareholders
DD: Yeah, we sold the Challacollo deposit, so that was part of the key focus that we've had over the last two years disposing of non-core assets, Challacollo, Cerro Bayo, re-rehabilitating the Lupin mine in Northern Canada so that we can focus on our two primary assets and the key highlights, it's reiterating again where our focus is on exploration at Costerfield. We're seeing some very good results coming out of that. We are growing the mine life there. We do anticipate that the production profile from that asset will remain constant with our current reserves over the next five years, and we do anticipate it will be growing. So the company will continue to be significantly cash flow generative, and we are a very small market cap company. We do also anticipate that our production will be lifting in Björkdal as we start exploiting the lower levels to the east of that or the eastern side of this mine.
So I think it's only upside for the company going forward, and I haven't touched on business development. So when I became CEO, the guidance from the board was to focus on our two operating assets, make the company cash flow positive and ensure that we are a very stable company with continual growth from those two mines. Now that we're in that position and the company is very stable, we are also searching around to see if there are other assets out there that would work for Mandalay and increase the shareholder value within this company. So it's not just organic growth that we're focusing on at the moment. There is potential that we could have some inorganic growth in the coming future.
TMH: Is there anything else we haven't touched on today that's important to mention for our viewers or your investors?
DD: No, I think it's just reiterating that the company is a very stable company at the current time we will possibly be looking at ways for the shareholders to gain some value from this company through share buybacks or dividends. We'll be looking at that over the course of the next year. We currently do have debt on the books. We will be looking to eliminate that debt over the coming years. At the moment, it's currently just a safety blanket because we are net debt free, but I do anticipate probably the main takeaway is that next year the company will increase its cash holding significantly, and we will increase our production profile.
Thanks again for joining us at The Market Herald today, Dominic, we look forward to keeping an eye on things and chatting with you again soon.
We've been speaking with Dominic Duffy, the CEO of Mandalay Resources. The company trades on the TSX under the ticker symbol MND. You can also visit mandalayresources.com for more information.
Once again, I'd like to thank Dominic for joining us today to learn more about his company's latest developments and sharing his insights with our Top Line audience and his investors.
I'm Simon Druker for The Market Herald. Thanks for watching Top Line, and we'll see you next time.
FULL DISCLOSURE: This is a paid article produced by The Market Herald.


text:
Homeland's Eloff Coal Project Receives Licence
Canada-based Homeland Energy Group has received a mining license for its Eloff Mineral Project, located on the western extremity of the Witbank Coalfield in South Africa. Eloff will be initially licensed for an anticipated production of 500,000t a month for more than 30 years of mine li
Canada-based Homeland Energy Group has received a mining license for its Eloff Mineral Project, located on the western extremity of the Witbank Coalfield in South Africa.
Eloff will be initially licensed for an anticipated production of 500,000t a month for more than 30 years of mine life.
The project contains about 250.3 million tons of measured and indicated coal, and a further 210.5 million tons of inferred resources.
Homeland is on the verge of finishing its pre-feasibility study on Eloff with Exxaro Engineers and is expected to begin a bankable feasibility study on its completion.
The company said it would explore the options for power development from the project.
By staff writer.
Diversified Storage Systems
Bulk-Powder Material Handling and Storage Silos
Applied Measurement Australia
Testing and Measurement Solutions for Mining Applications
True Blue Chemicals
High Performance Disinfectants, Dust Suppression, and Cleaning Solutions for Mining Sector


Vegetarian Meals Available Upon Request (Please advise your reservationist of your request).
Castles open 90-minutes prior to show time. The schedule of show times varies by season and show times also vary from month to month and day to day.


Learning accelerates and deepens when the whole brain gets stimulated. In fact, not just the whole brain but the whole body too.
At TSW we deliver high-energy, high-engagement learning, which is far more effective than learning reliant on PowerPoint presentations and lecture. We encourage learners to get physically active and to use as many senses as possible, getting their mind and body involved in the learning process.
When you work with us, you will see and feel our approach is one of whole-self learning, where you and/or your people will achieve accelerated learning results. Our practical and interactive learning places learners in safe environments that challenge them physically, emotionally, and socially, all to deliver a return on investment for your organisation.
For us, learning design is focused on an end goal where your people emerge from training with new or improved attitudes and capabilities that they implement in the real world. We design learning interventions to get results, aimed at making people more able to reach their full potential and have a positive impact on the job.
We are different to many providers because we design a stronger, more effective bridge from learning (training) to business impact.
We partner with our customers to foster an environment that will translate learning into bottom-line results (return on investment), whilst avoiding the many pitfalls that all too often cause learning and training to fail.
To maximise training impact and assure clients of their return on investment TSW adopts well researched tools and techniques for learning, including principles for Accelerated Learning and the 70 20 10 model.
We partner with our clients to support the learning process, from initial learner engagement through to the embedding process that follows a formal workshop/intervention.


Country French home designs, or French Country homes originated in the rural French countryside and began appearing in residential architecture in the United States in the late 19th century. Ranging from charming cottage style homes to large estates, the exterior of French country style homes is characterized by the use of brick, stone, or stucco and steep hip roof lines. Inside these homes, the entries are usually topped with arched openings, and ceilings may have wood beams for a rustic feel. Exuding warmth and charm, they are now a popular choice nationwide. Country French style homes deliver a relaxing, rustic lifestyle associated with the country style home.
1604 Sq. Ft., Width 35'-0", Depth 50'-0"
2124 Sq. Ft., Width 50'-0", Depth 47'-6"
2296 Sq. Ft., Width 50'-0", Depth 52'-6"
Discover French country home designs that feature beautiful interior spaces and stylish floor plans that makes this style have a custom feel. This collection of homes has beautiful curb appeal thanks to the many details on their exterior that often include, wood, stone and stucco.


text:
#GLOBALGOALS - The OSCE and the Sustainable Development Goals
Home Stories Freedom of religion in Central Asia
OSCE Office for Democratic Institutions and Human Rights, OSCE Programme Office in Nur-Sultan, OSCE Programme Office in Bishkek, OSCE Project Co-ordinator in Uzbekistan
Human rights, Tolerance and non-discrimination
Freedom of religion in Central Asia
Education on gender equality, minority rights and tolerance is crucial for cultivating societies where human rights for all are upheld.
(OSCE/Batir Samatov)
Participants of an OSCE conference on freedom of belief in Central Asia call for tolerance, dialogue between governments and religious groups and religious education as ways of tackling extremism.
Root causes of terrorism
It has become increasingly apparent that terrorists gain advocates in countries where human rights are denied and civil liberties are repressed.
Denial of individuals' basic right to worship and to follow a religion of their choice, for example, can destabilize a society.
If discriminated against, misguided, and alienated, practising and devout believers can also be driven to violence.
To address these issues, the OSCE organized a conference on freedom of belief and expression in Jalal-Abad, southern Kyrgyzstan, on 15 and 16 February 2002.
A pressing issue
The break-up of the Soviet Union has seen a significant growth in religious life in Central Asia, both traditional and non-traditional, missionary activities.
Governments in the region, however, have sought to suppress any religious activity that is not approved by government-appointed religious administrative bodies established in the Soviet era.
In Uzbekistan, more than 2,000 people are believed to have been arrested and convicted since 1999 for participation in banned Islamic groups, particularly the Hizb ut-Tahrir, an Islamic fundamentalist party. In Tajikistan, more than 105 members of the group were arrested in 2001, and 117 in Kyrgyzstan.
Seeds of fundamentalism
The conference also highlighted other concerns. Despite the increase in religious activity, religious learning is still low among the population in general and, as a result, people are easily converted to extremist movements.
This is exacerbated by the worsening economic situation during the transition years.
"Many poor people here are waiting for a miracle and Hizb-ut-Tahrir supporters are promising miracles. They claim that the State doesn't care and they promise paradise," said one participant.
Addressing extremism
As a way forward, participants called for tolerance, dialogue between religious communities and governments and better education.
They also appealed to States to "ensure that, in their efforts to prevent dangerous actions and groups, they do not infringe on the rights of people to hold religious or non-religious beliefs." (read the appeal and plan of action).
"Too often in the past the dialogue has been based on statements of positions, not viewpoints," observed Jeremy Gunn, a member of the OSCE Advisory Panel on Freedom of Religion or Belief.
"Bringing the parties together - religious leaders, representatives of government and non-government organizations, diplomats and scholars - encouraged greater understanding on one of the most pressing issues in Central Asia: the relationship between the state and religion. Much still needs to be done, but the conference was a very welcome step."
Laws affecting the structuring of religious communities (ODIHR Background Paper September 1999)
Conference / meeting document
Appeal of the Jalal-Abad Conference on Freedom of Belief
Plan of Action proposed by the Jalal-Abad Conference on Freedom of Belief
View stories by
Joint Consultative Group
Open Skies Consultative Commission
OSCE Presence in Albania
OSCE Centre in Ashgabat
OSCE Programme Office in Nur-Sultan
OSCE Programme Office in Bishkek
OSCE Mission to Bosnia and Herzegovina
OSCE Mission to Montenegro
OSCE Mission to Moldova
OSCE Mission to Serbia
OSCE Mission to Skopje
OSCE Programme Office in Dushanbe
OSCE Project Co-ordinator in Ukraine
OSCE Special Monitoring Mission to Ukraine
OSCE Project Co-ordinator in Uzbekistan
OSCE High Commissioner on National Minorities
OSCE Office for Democratic Institutions and Human Rights
OSCE Representative on Freedom of the Media
OSCE Secretariat
Subscribe to OSCE


Harborside is located in south Maine. Harborside is part of Hancock County. On average, the public school district that covers Harborside is better than the state average in quality. The Harborside area code is 207.