text:
Home / Tag Archives: Senator Pervaiz Rashid
Tag Archives: Senator Pervaiz Rashid
Politics of protest, sit-ins to weaken state: Pervaiz Rashid
Lahore : Minister for Information,Broadcasting and National Heritage Senator Pervaiz Rashid on Saturday said Pakistan was facing big challenges and the politics of protest and sit-ins would weaken the state. Rejecting Pakistan Tehreek-e-Insaf's demands over the election of new Prime Minister, he said the culture of agitation and chaotic politics should not be ...	Read More »
Pakistan on path to progress and development : Pervaiz Rashid
Lahore : Senator Pervaiz Rashid Saturday said the government in its first three years had put Pakistan on path to progress and development and it was now moving forward. Pakistan of 2016, he said, was far better than that of 2013 when the PML-N government came into power, and it ...	Read More »
Imran Khan is creating chaos instead of helping the flood-affected people in KP : Senator Pervaiz Rashid
Lahore : Minister for Information, Broadcasting and National Heritage, Senator Pervaiz Rashid Friday said the Pakistan Tehreek-i-Insaf (PTI) chairman Imran Khan was creating chaos instead of helping the flood-affected people in Khyber Pakhtunkhwa (KP). The minister, in a statement, said "People of Khyber Pakhtunkhwa are making calls to rescue them ...	Read More »
Govt successfully addressing all national issues transparently: Pervaiz Rashid
Lahore : Minister for Information, Broadcasting and National Heritage Senator Pervaiz Rashid said after coming into power, the Pakistan Muslim League Nawaz-led government managed to address all issues confronting the country including national security, fragile economy and energy crisis. Talking to a private television channel on Saturday, the minister said in its ...	Read More »
Japanese Ambassador Takashi Kurai calls on Minister for Information Pervaiz Rashid
Lahore: Federal Minister for Information, Broadcasting and National Heritage Senator Pervaiz Rashid on Wednesday said Japan, which had contributed a lot to the progress of industrial sector in Pakistan, should further invest in energy, infrastructure and development sectors. Pakistan enjoyed cordial relations with Japan as it was one of its largest ...	Read More »
PEMRA rules and regulations would be made more effective
Lahore : Minister for Information, Broadcasting and National Heritage (IB&NH) Senator Pervaiz Rashid on Wednesday chaired a meeting to review laws pertaining to the Pakistan Electronic Media Regulatory Authority (PEMRA). The meeting was attended by chairman Absar Alam and senior officials of the ministries of IB & NH and Law. ...	Read More »
CPEC to be proponent of peace, regional prosperity: Pervaiz Rashid
Lahore: Minister for Information, Broadcasting and National Heritage Senator Pervaiz Rashid said on Tuesday that China-Pakistan Economic Corridor (CPEC) will be a proponent of peace and regional prosperity.This he said while addressing a seminar on " Pakistan China Iron Brothers", organised by Ministry of Information, Broadcasting and National Heritage in ...	Read More »
Majority of offshore companies' owners belong to PTI: Pervaiz Rashid
Lahore: Minister for Information Broadcasting and National Heritage, Senator Pervaiz Rashid said on Thursday that majority of offshore companies' owners belonged to the Pakistan Tehreek-i-Insaf (PTI). The minister, in a statement, said that Imran Khan used to claim that Prime Minister Muhammad Nawaz Sharif sent money abroad, but contrary to it today the PTI chief ...	Read More »
Prime Minister Nawaz Sharif would offer opposition for talks on Monday
Lahore: Minister for Information,Broadcasting and National Heritage Senator Pervaiz Rashid said on Friday that Prime Minister Nawaz Sharif during his speech in the parliament on Monday would present his stance about the opposition allegations. Speaking to a private television news channel after cutting the cake of fifth anniversary of its launch here,the minister said some ...	Read More »
Opposition running away from judicial commission: Pervaiz Rashid
Lahore: Federal Minister for Information, broadcasting and National Heritage Senator Pervaiz Rashid said opposition parties knew that the hands of Prime Minister Nawaz Sharif were clean and corruption allegations against him would be exposed. Those running away from judicial commission wanted to save their cronies, who were involved in corruption, he ...	Read More »


KVS is a self-governing organization under the ministry of HRD, Government of India. It was started in 1963 and today there are approximately 1119 Kendriya Vidyalayas in all over the India. The numbers of students in these schools are more than one millions and number of staff is more than 1, 00,000 and every year govt is recruiting more and more teachers for kendriya vidyalayas. It's a very good opportunity for candidates who want to make their career in teaching. Candidates can find Best KVS Coaching in Chandigarh and they assure you guaranty success.
Coaching institute provides the experienced faculty and they don't compromise with the quality of the coaching. KVS Coaching Institutes in Chandigarh teaches their candidates according to latest syllabus and also provides the tips and tricks to crack the exam.
So one will get complete value of his money in these coaching institutes because they will not only provide you training but also keep a close eye on your performance and they make sure that you qualify the entrance test in first attempt.
Post graduate teacher exam is conducted in almost every state of India for recruiting post graduate teachers in state Govt schools. Candidates who have done post graduation in any discipline along with B.Ed from any recognized university/college are eligible for PGT exams and the minimum age for taking these exam is 21 years with no upper limit in age but yes this criteria main have state wise variation .To qualify these exam one need regular preparation and good guidance and it's even better if you opt for some good coaching institute. You can get Top PGT Coaching in Chandigarh and increase the chances of getting selected for PGT.
PGT Coaching Classes in Chandigarh is quite economic because they only take one time charges which are applicable for your entire course. Coaching institute keep you update with the latest syllabus and provide you regular notes. They also arrange weekly or monthly tests series to have an idea about your performance.
You will get PGT Written Exam Coaching In Chandigarh and as well as they will also prepare you for interview round, in short you will get the complete package under one roof ensure your success in PGT exam.
Ever year Primary teacher exam is conducted by the KVS, NVS and other govt school for the recruitment of primary teachers in the schools of state govt. The exam is divided into two parts, first one consist of 120 MCQ's related to current affairs, reasoning and teaching methodology and the second parts consists of English and Hindi. It seems to be very easy to clear the exams if we have a look on the syllabus but actually you need special coaching because the competition is very high and you can have PRT Coaching Institutes In Chandigarh for preparing PRT exam.
Teaching faculty will take you through each and every subject related to the PRT syllabus and they cover each and every single aspect of the course. PRT Exam Coaching in Chandigarh is very beneficial for the candidates who really want to clear PRT exam. Hard work and the quality preparation is the key to success.
TGT stands for trained graduate teachers and every year TGT exam is conducted by every state to fill the post in different govt schools. The eligibility criteria for this exam is graduation in any stream and B.Ed. Minimum qualification marks are different for different categories like General has different cut-off and same is the case with OBC, ST and SC. You can easily crack this exam by devoting 3-4 hours in a day but a good guidance is must.
TGT Exam Coaching in Chandigarh helps in overall growth of the students and the experienced faculty of the institute guide them on each and every step of the preparation and provide the personal attention to the each candidates. They will teach you tips and tricks to clear exam efficiently. TGT Coaching Centers in Chandigarh is equipped with all modern facilities which provide the distraction free and comfortable environment for the students. Coaching institute will help you to get success in minimum span of time.
So if any candidate wants to clear TGT exam then he/she should prepare well and take proper coaching from coaching institute.


If your 2014 New Year's resolution is to craft more and tote around a super cute tote bag, you're in luck!
While I personally don't make firm resolutions (I can never seem to keep them any longer than the time it takes for someone to offer me a slice of cake), I can totally get behind using a great quote to motivate and inspire. Not only is this project perfectly functional but it also serves to remind me to say yes more than I say no and to embrace change with open arms. Even when I'm at the market picking up a loaf of bread.
So grab some fabric scraps, your favorite quote and let's make 2014 an awesome year.
1. Open your word processor and type your word or phrase. You'll want to choose a font appropriate for cutting out. I used Abadi MT Condensed Extra Bold sized at 120, but you can use a larger size. Adjust your print settings to print the letters backwards (flip horizontal), and print out on a light-weight card stock.
2. Use a glue stick to securely adhere the printed design to the matte side of a sheet of fusible web. Cut out the one letter and peel off the paper backing on the reverse side. Next, place your letter (right side face up) to the wrong side of your fabric scrap. Press down firmly.
3. Cut through the fabric, fusible web and card stock to cut out each letter. Take your time with this step and use very sharp pair of small detail scissors for optimal results. Your finished letter should have the printed card stock on one side and the right side of the fabric facing up on the other side.
4. Remove the remaining paper backing from the fusible web (the side you glued down to the card stock) and gently place it down on your tote bag. You can choose to use a ruler with this step to help with placement, but I was able to complete my bag by eyeballing it.
5. Once you're happy with the placement, firmly rub across the top of your letter with a finger to temporarily adhere the letter to the bag.
6. Once you've completed your word or phrase, iron over the top of the bag using the directions indicated on the package of your fusible web. Your letters are now permanently adhered to the bag!
+ keep your phrase short and sweet. The phrase I chose took me longer to complete than I had anticipated. I almost regret not using my husbands suggestion: #yolo. Almost.
+ keep your glue stick nearby during the cutting out process. You'll need it to re-attach the card stock to the fusible web.
+ cut out and place the letters on the tote bag one at a time to help stay organized.
+ If you're having a difficult time removing the paper backing after you've adhered the fusible web to the fabric scrap and cut out the letter, create a small "tear" in the back paper by "ripping" your fabric letter. It should create a seam that you can slip your finger nail underneath to pull up the paper backing.
+ feel free to add a bit of embroidery to enhance cuteness factor of this project.
I love it, Lisa! You make everything beautiful.


text:
<?php
session_start();

require 'vendor/autoload.php';
require_once('recaptchalib.php');

$twig_vars = lib\SlimCMS::getTwigVars();
$config = $twig_vars['config'];

// Setup custom Twig view
$twigView = new \Slim\Views\Twig();

$app = new \Slim\Slim(array(
    'debug' => true,
    'view' => $twigView,
    'templates.path' => "themes/". $config["theme"] . "/",
    'twigVars'=> $twig_vars
));

$app->view->parserOptions = array(
    'charset' => 'utf-8',
    'auto_reload' => true,
    'autoescape' => false
);

$app->view->parserExtensions = array(new \Slim\Views\TwigExtension());

$app->notFound(function () use ($app) {
    $twig_vars = lib\SlimCMS::getTwigVars();
    $app->render('404.html.twig', $twig_vars);
});

$authenticate = function ($app) {
    return function () use ($app) {
        if (!isset($_SESSION['user'])) {
            $app->flash('error', 'Login required');
            $app->redirect('/admin');
        }
    };
};

//$paramValue = $app->request->params('paramName');
//var_dump($paramValue); die();

/***********************************************************************************************
* SMS send block
************************************************************************************************/

// Get a key from https://www.google.com/recaptcha/admin/create
$publickey  = "6LfZSvgSAAAAAA_b9k3cenw8tkiE3LyMrLCvW3HO";
$privatekey = "6LfZSvgSAAAAAJwt41U0q3pO5_tdPHuPy-z6C6iH";

# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;

function sendSms( $sendText, $phone_number='9811714272' ){

    $sSendSms = "http://as135580:559254@gate.prostor-sms.ru/send/?phone=%2B7$phone_number&text=" . urlencode( $sendText );

    // echo $sSendSms . "\n";
    $ch = curl_init( $sSendSms );
    curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
    curl_setopt($ch, CURLOPT_COOKIEJAR,  "smskuka.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE, "smskuka.txt");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch); // выполняем запрос curl
    curl_close($ch);
    // write to log

    // send email
    $to = "9852178@gmail.com";
    $subject = "Заказ на сайте";
    $message = $sendText;
    mail ( $to , $subject , $message );

    //var_dump($result); die();

    return $result;
}

/***********************************************************************************************************************
 * ADMIN BLOCK
 **********************************************************************************************************************/

// Admin
$app->get('/admin/', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $app->view->setTemplatesDirectory("admin/");
    $app->render('admin.html.twig', $twig_vars);
});

// Admin Login
$app->post('/admin/login', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    $user = $app->request()->post('user');
    $pass = sha1($app->request()->post('password'));

    if ($config['user'] == $user && $config['password'] == $pass) {
        $_SESSION['user'] = $user;
        $_SESSION['pass'] = $pass;
        $app->redirect($config['url'].'/admin/pages');
    } else {
        $app->redirect($config['url'].'/admin');
    }
});

// Admin Logout
$app->get('/admin/logout', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    unset($_SESSION['user']);
    unset($_SESSION['pass']);
    $app->redirect($config['url'].'/admin');
});

// Admin Page
$app->get('/admin/pages', $authenticate($app), function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $templates = lib\SlimCMS::getTemplates($app->config('templates.path'));
    $twig_vars['templates'] = $templates;
    $app->view->setTemplatesDirectory("admin/");
    $app->render('pages.html.twig', $twig_vars);
});

// Admin Page Id
$app->get('/admin/pages/:slug', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    $pages = $twig_vars['pages'];
    $twig_vars['templates'] = lib\SlimCMS::getTemplates($app->config('templates.path'));
    $twig_vars['page'] = $pages[$slug];
    if (isset($pages[$slug])) {
        $app->view->setTemplatesDirectory("admin/");
        $app->render('pages.html.twig', $twig_vars);
    } else {
        $app->notFound();
    }
});

// Admin Blog
$app->get('/admin/blog', $authenticate($app), function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $app->view->setTemplatesDirectory("admin/");
    $app->render('blog.html.twig', $twig_vars);
});

// Admin Blog Id
$app->get('/admin/blog/:slug', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    $posts = $twig_vars['blog'];
    $twig_vars['post'] = $posts[$slug];
    if (isset($posts[$slug])) {
        $app->view->setTemplatesDirectory("admin/");
        $app->render('blog.html.twig', $twig_vars);
    } else {
        $app->notFound();
    }
});

// Admin Menus
$app->get('/admin/menus', $authenticate($app), function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $app->view->setTemplatesDirectory("admin/");
    $app->render('menus.html.twig', $twig_vars);
});

// Admin Menu Slug
$app->get('/admin/menus/:slug', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    $menus = $twig_vars['menus'];
    $twig_vars['menu'] = $menus[$slug];
    $twig_vars['menuName'] = $slug;
    if (isset($menus[$slug])) {
        $app->view->setTemplatesDirectory("admin/");
        $app->render('menus.html.twig', $twig_vars);
    } else {
        $app->notFound();
    }
});

// Admin Config
$app->get('/admin/config', $authenticate($app), function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $app->view->setTemplatesDirectory("admin/");
    $app->render('config.html.twig', $twig_vars);
});

// Admin Media
$app->get('/admin/media', $authenticate($app), function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    $media = lib\SlimCMS::getMedia($config['url']);
    $twig_vars['media'] = $media;

    $app->view->setTemplatesDirectory("admin/");
    $app->render('media.html.twig', $twig_vars);
});

// POST Media
$app->post('/admin/media', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    $allowedExts = array("gif", "jpeg", "jpg", "png", "JPG");
    $temp = explode(".", $_FILES["file"]["name"]);
    $extension = end($temp);
    if ((($_FILES["file"]["type"] == "image/gif")
            || ($_FILES["file"]["type"] == "image/jpeg")
            || ($_FILES["file"]["type"] == "image/jpg")
            || ($_FILES["file"]["type"] == "image/pjpeg")
            || ($_FILES["file"]["type"] == "image/x-png")
            || ($_FILES["file"]["type"] == "image/png"))
        && ($_FILES["file"]["size"] < 2000000)
        && in_array($extension, $allowedExts))
    {
        if ($_FILES["file"]["error"] > 0) {
            echo "Return Code: " . $_FILES["file"]["error"] . "
";
        } else {
            echo "Upload: " . $_FILES["file"]["name"] . "
";
            echo "Type: " . $_FILES["file"]["type"] . "
";
            echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";
            echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";

            if (file_exists($config['path']."/content/media/" . $_FILES["file"]["name"])) {
                echo $_FILES["file"]["name"] . " already exists. ";
            } else {
                move_uploaded_file($_FILES["file"]["tmp_name"],
                                   $config['path']."/content/media/" . $_FILES["file"]["name"]);
                echo "Stored in: " . "/content/media/" . $_FILES["file"]["name"];
                $app->redirect($config['url'].'/admin/media');
            }
        }
    } else {
        echo "Invalid file";
    }
});

/***********************************************************************************************************************
 * API BLOCK
 **********************************************************************************************************************/

// GET Pages
$app->get('/api/page', function () use ($app) {
    $pages = lib\SlimCMS::getAllFrom('pages');
    echo json_encode($pages);
});

// POST Page
$app->post('/api/page', function () use ($app) {
    $page = $app->request()->post();
    lib\SlimCMS::saveJsonTo($page, "content/pages/");
});

// DELETE Page
$app->delete('/api/page/:slug', function ($slug) use ($app) {
    lib\SlimCMS::delJson($slug, "content/pages/");
});

// POST Blog
$app->post('/api/blog', function () use ($app) {
    $post = $app->request()->post();
    $post['DateTime'] = time();
    lib\SlimCMS::saveJsonTo($post, "content/blog/");
});

// DELETE Blog
$app->delete('/api/blog/:slug', function ($slug) use ($app) {
    lib\SlimCMS::delJson($slug, "content/blog/");
});

// POST Menu
$app->post('/api/menus', function () use ($app) {
    $menus = $app->request()->post();
    lib\SlimCMS::saveJsonToMenu($menus['Variables'], $menus['Name'], "content/menu/");
});

// DELETE Menu
$app->delete('/api/menus/:slug', function ($slug) use ($app) {
    lib\SlimCMS::delJson($slug, "content/menu/");
});

// POST Config
$app->post('/api/config', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    $post = $app->request()->post();
    if($post['password'] == "")
        $post['password'] = $config['password'];
    else
        $post['password'] = sha1($post['password']);
    lib\SlimCMS::saveJsonTo($post, "content/");
});

// GET Media
$app->get('/api/media', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    $media = lib\SlimCMS::getMedia($config['url']);
    echo json_encode($media);
});

// DELETE Media
$app->delete('/api/media/:img', function ($img) use ($app) {
    lib\SlimCMS::delFile($img, "content/media/");
});

/***********************************************************************************************************************
 * PUBLIC BLOCK
 **********************************************************************************************************************/

// Index Page
$app->get('/', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $pages = $twig_vars['pages'];
    $twig_vars['page'] = $pages['index'];
    if ($twig_vars['page'] != 0) {
        $app->render('index.html.twig', $twig_vars);
    }
});
$app->get('/spb', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $pages = $twig_vars['pages'];
    $twig_vars['page'] = $pages['index'];
    if ($twig_vars['page'] != 0) {
        $app->render('index.html.twig', $twig_vars);
    }
});

// Blog
$app->get('/blog/', function () use ($app) {
    $twig_vars = $app->config('twigVars');
    $app->render("blog.html.twig", $twig_vars);
});

// Blog Article
$app->get('/blog/:slug', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    $blog = $twig_vars['blog'];
    $twig_vars['page'] = $blog[$slug];
    if (isset($blog[$slug]))
        $app->render("article.html.twig", $twig_vars);
    else
        $app->notFound();
});

// Page: HASBEND per HOUR
$app->get('/:city/master/home', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    //var_dump($slug);
    //var_dump($twig_vars); die();
    $slug = "masterhomespb";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page: QUICK ORDER
// TODO
$app->get('/:city/quick/order', function ($slug) use ($app) {
    //var_dump( $)
    $twig_vars = $app->config('twigVars');
    $slug = "quickorderspb";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

$app->post('/:city/quick/order', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    // Register API keys at https://www.google.com/recaptcha/admin
    $siteKey = "6LciSPgSAAAAAHbaXV3bUBPZ3v7vVwxU1HMt0sFI";
    $secret = "6LciSPgSAAAAALnwh6msu0EL5ADuGMWbVAK09KM-";
    // reCAPTCHA supported 40+ languages listed here: https://developers.google.com/recaptcha/docs/language
    $lang = "ru";
    // The response from reCAPTCHA
    $resp = null;
    // The error code from reCAPTCHA, if any
    $error = null;
    $reCaptcha = new ReCaptcha($secret);
    // Was there a reCAPTCHA response?
    if ($app->request->params("g-recaptcha-response") ) {

        $resp = $reCaptcha->verifyResponse(
            $_SERVER["REMOTE_ADDR"],
            $app->request->params("g-recaptcha-response")
        );

        if ($resp != null && $resp->success) {
            $twig_vars['order_success'] = "1";
            // @todo
            //Send SMS to our phone(s)
            // var_dump('send SMS');
            // redirect to /:city/order/success page
            $smsText = "Заказ. Тел:" . $_POST['customer_phone'] . " Имя:" . $_POST['customer_name'] . " Aдрес:" . $_POST['customer_address']  . " Работа:" . substr( trim($_POST['customer_job']), 0, 128) ;
            $result = sendSms( $smsText, "9626852178" );
            //$result = sendSms( $smsText, "9811714272" );
            $app->redirect('/spb/order/success');
        } else {
            $twig_vars['order_success'] = '2'; // captcha not valid
        }
    }
    // end GOOGLE CAPTCHA
    $slug = "quickorderspb";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page: QUICK ORDER RESULT
// TODO
$app->get('/:city/order/success', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    $slug = "quickorderresult";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page: MASTER for job with WATER EQUIPMENT in home
$app->get('/:city/master/water', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    //var_dump($slug);
    //var_dump($twig_vars); die();
    $slug = "masterwaterspb";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page: MASTER for job with ELECTRO EQUIPMENT in home
$app->get('/:city/master/electro', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    //var_dump($slug);
    //var_dump($twig_vars); die();
    $slug = "masterelectrospb";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page: MASTER for job with ELECTRO FURNITURE in home
$app->get('/:city/master/furniture', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    //var_dump($slug);
    //var_dump($twig_vars); die();
    $slug = "masterfurniturespb";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page: FAQ
$app->get('/:city/master/faq', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    //var_dump($slug);
    //var_dump($twig_vars); die();
    $slug = "faq";
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

// Page
$app->get('/:slug', function ($slug) use ($app) {
    $twig_vars = $app->config('twigVars');
    $config = $twig_vars['config'];
    if ($slug == "index")
        $app->redirect($config['url']);

    if (isset($twig_vars['pages'][$slug]))
        $page = $twig_vars['pages'][$slug];
    else
        $app->notFound();

    if (isset($page)) {
        $twig_vars['page'] = $page;
        (isset($page['Template']) && $page['Template']!="") ? $template = "templates/".$page['Template']
            : $template = "page.html.twig";
        if (file_exists ($app->config('templates.path').$template))
            $app->render($template, $twig_vars);
        else
            echo "The template: ".$template. " doen't exist into the theme: ". $config['theme'];
    } else {
        $app->notFound();
    }
});

$app->run();

redpajama_set_name: RedPajamaGithub


"TISB is proud to endorse Paul Gosar for Congress in the Republican Primary on Aug. 28th. Congressman Gosar has been a tireless advocate for small business and as the Arizona Republic recently pointed out, he has 'conservative principles aligned with the likes of [GOP Vice Presidential candidate] Paul Ryan,'" said the group's chairman and CEO Ed Pinto.
Gosar just voted last week to extend the Bush-era tax cuts for all Americans, which has a huge–$300 billion–impact on small businesses. Gosar is also advocating for a pro-growth, flatter tax to bring fairness to the tax code.
Congressman Gosar scored 100% pro business on 11 scored votes by the National Federation of Independent Businesses and has a 100% rating with the Competitive Enterprise Institute for his pro small business battles against unions and the government. In additionGosar received the U.S. Chamber of Commerce's "Spirit of Enterprise" Award, for his pro business polices.


Below is a list of resources that will help you as you begin your search for the perfect property in Santa Cruz . We have provided information about realtors, statistics on housing prices, and legal help for any renovations done to your property.
Santa Cruz County Bank lends to local startup businesses in real estate, construction and many other industries.
The Chamber of Commerce has a list of numerous licensed realtors who are able to help you purchase or sell any commerical and residential properties in the county.
The City of Santa Cruz website provides information about affordable housing assistance along with different networks that can help you find the right community. The website also has a link to help find properties available in the area.
The Santa Cruz County Association of Realtors (SCAOR) provides property buyers with helpful statistics on the home prices in the county and the cities that form the county. The statistics provide information on the pricing of single family residences, condos, and townhouses in the various cities that make up the county. The site also provides a link to aid you in your search for the perfect property in Santa Cruz.


We'd been to North Georgia State Parks and we'd seen Chattanooga, Tenn. So, this time we'd drive a little farther on I-75 to check off another Southern city on the map. Hello, Knoxville!
That was the plan as my gal pals and Ioaded up the car at sunrise one Saturday morning. By 10 a.m., we had arrived at Ijams Nature Center, circling to find a spot to park in the already crowded lot.
Popular for its 300 acres of protected wildlife habitat and natural areas on the banks of the Tennessee River, with 10 miles of trails, rock formations, ponds, lakes and stunning overlooks, it's easy to forget Ijams is just 3 miles outside the heart of Knoxville.
Park Manager Ed Yost met my crew at the Visitor's Center for a guided, breezy hike on the Ross Marble Quarry Loop. Along the way, Yost –who has been working at Ijams for more than 20 years –filled us in on the history dating back to 1881. Originally a quarry for Tennessee marble before the Great Depression, the local garden clubs and community volunteers (not just the orange-clad type) joined forces in the 1960s to restore its natural beauty and create the lively, public park. We passed countless happy campers, mountain bikers, runners and paws on the trail near Mead's Quarry Lake, where River Sports Outfittersrents kayaks, canoes and paddleboards from mid-April through Memorial Day.
Another plus for outdoorsy folks: Ijams is part of Knoxville's Urban Wilderness 12.5- mile South Loop, connecting recreational, cultural and historical preserves through an initiative by Legacy Parks Foundation. Overall, the city boasts more than 40 miles of multi-use trails, 10 parks and four Civil War sites for an outdoor experience like no other. We paused on a rock bridge with panoramic views of the former quarry site, now very still and covered in greenery, wildflowers and peace sign graffiti, before discovering what's under the bridge. The picturesque "keyhole" below moss-covered boulders provides passage to the lower quarry. When Yost sized us up doubtfully and cautioned about mud, we adventured on a little further.
"I always thought it would be cool to have a bluegrass concert in here," Yost said. Silence fell on us as we imagine what the acoustics must sound like against the rock. We joked he must invite us back if – when – it happens. After all, Southern rock sound is just as ingrained in the land as the limestone.
In fact, one of my favorite bands, The Dirty Guv'nahs also calls Knoxville home. As we make our way through the downtown district, I recognize names of streets from songs and pass Preservation Pub, where the band often played in their early days.
With their lyrics stuck in my head, we checked out our suite on the 11th floor of the Holiday Inn at World's Fair Park, changed out of muddy clothes and spotted the city's iconic Sunsphere from our window before heading down again to curb our accrued appetites. Since the hotel is just blocks from all the fun, we quickly went from lobby with suitcases to lunch with handmade sodas in hand.
Aptly addressed at 1 Market Square, we were glad we made reservations at the bustling Tupelo Honey Café. Although the "New South Kitchen" first debuted in Asheville, N.C., a table at the Knoxville counterpart, located jointly to the Oliver Hotel, is prime real estate.
Looking around the sunny yellow dining room designed as if on a back porch, I don't see any transgressions. Lucky for us, there's plans to open an Atlanta location this fall. In the meantime, we toted back a cookbook to recreate the tasty carrot and kale slaw with avocado lime vinaigrette and "Shoo Mercy!" (translation: darn good) dishes, and of course, practice our own biscuit-making abilities.
The latter is taken, or should I say enjoyed, seriously around here, especially since the start of the annual International Biscuit Festival in 2009. Just held again May 14 and 15 this year, with The Bitter Southern's Chuck Reese presiding as a judge, the festival celebrates the heritage of home cooking with vendors, music, a bake-off, Miss and Mr. Biscuit contest and a schedule of stellar speakers who come together in an intimate setting to share their passion for Southern food.
After catching Sunsphere cameos in local art shops like Coldstream Market and Nothing Too Fancy, we decided to see the 360-degree view from above for ourselves. Constructed for the 1982 World's Fair, the observation deck is open to the public from 9 a.m. until 10 p.m. during the summer months. Watching above the crossroads of I-40 and I-75 as the sun trades turns with the lights of the city's nightlife felt worlds away from the day's earlier views, but maintains its own unique draw. Wherever we walked in Knoxville, the structure's 24-karat gold panes of glass guided us back to the hotel.
Although for dinner, we didn't have to navigate far. After a day on our feet, dinner at Windows on the Park, located on the first floor of the Holiday Inn, was an easy choice. The dishes on the menu are marked by flags of the country that inspired each, but the sense of global influence to World's Fair Park was just as apparent by fellow patrons visiting for a concert at the Tennessee Theater or the Southern Graphics Print Council International Conference. Located across Henley Street from the Knoxville Conference Center, the hotel is a convenient choice for out-of-towners.
The following morning, we strolled down South Gay Street toward the Old City to sample the fare at Knox Mason, where – you guessed it – there are more biscuits on the menu. University of Tennessee and Blackberry Farm alumnus Chef Matt Gallaher creatively reigns the kitchen with seasonally focused and hyper-local menus that incorporate the finest Southern products available. As I washed down the incredible Heritage Farms pork belly and pimento cheese sandwich with a Shiner White Wing Beermosa, I formed a simple conclusion why Knoxville's pedestrian and cycling friendly community works so well here: it's a necessary means to balance out a love of carbs.
On the walk back from brunch, we crossed paths with Holiday Inn at World's Fair Park's General Manager Marc Bauer on his return "commute" home – just a walk across the street. Retracing my own steps in mind, I realized perhaps the greatest part of this getaway was that once we parked the car at the hotel, we didn't get in it again until the three-hour drive back to Atlanta.
It was a pleasure to meet you, Knoxville.


Cagayan de Oro, Philippines Startup Map has 0 startups, and the most popular startups in Cagayan de Oro, Philippines are N/A.
Cagayan de Oro, Philippines ranks N/A in Philippines and N/A globally, based on the strength of its startup ecosystem. See complete city rankings in table below. The most popular industries in Cagayan de Oro, Philippines are N/A.
View the top ranking startups or the newest startups in Cagayan de Oro, Philippines.
Filter Cagayan de Oro, Philippines startups by industry, if you're looking for companies in a specific niche.
Browse Cagayan de Oro, Philippines Coworking spaces, Cagayan de Oro, Philippines Accelerators, Cagayan de Oro, Philippines Leaders and Cagayan de Oro, Philippines Investors.


Bahria Nasheman is a wonderful housing project of Bahria Town that is known for providing all the top-notch facilitties and amazing features of Bahria Town. This is another great housing society by top property tycoon Malik Riaz Sb that is ideally designed to provide an ideal opportunity to those who desires to become a part of Bahria Town but missed it.
Bahria Nasheman is completely inhabited and limited numbers residential plots are available in it. Recently a new extension is also launched located attached to it. This extension is ideally launched near to Zinnia Block and Sunflower-Block. It's a wonderful example of smart architecture and the keen interest of the developers to its projects. The residential plots cuttings of 5 Marla & 8 Marla are designed in this newly launched extension.
Today, we are going to discuss the updated details of 8 Marla plots cuttings available in it. The prices of the 8 Marla plots in this extension are reasonable to invest and the fastest development speed also assures that the possession will be announced in next 6 months.
Bahria Nasheman is ideally located at the prime location of Lahore. It is positioned at Ferozpur Road that is considered the busiest road of Lahore. Bahria Nasheman is positioned opposite to Central Park housing society.
This newly launched extension of Bahria Nasheman is also designed amazingly to attract more buyers and investors to this project. Making an entrance on Main Boulevard, there is a fully developed commercial area on the left side. Just moving forward there is a roundabout from which the way is provided to Zinnia-Block at the left side whiles the Sunflower-Block at the right side. Bahria Nasheman Extension is ideally located attached to these blocks.
Residential plots cuttings of 8 Marla are ideally designed in Bahria Nasheman Extension. These plots are available in Zinnia Block and Sunflower-Block. The total price of 8 Marla is 52 lacs. However, the upfront amount to be paid at the time of booking is 27 lacs and the remaining will be paid after possession. It is expected that the possession of the plots will be announced in next 6 months.
For further details contact, Universal Property Network.


ADShareit Video to SWF Converter Pro can create a streaming Macromedia Flash file from various video format, so that anyone can see the video without the need of any special program - plugin or codec (Because that 99% of the users are capable to see Flash in their web browsers). It can convert AVI, MPEG, WMV, ASF, RealMedia, QuickTime and Animated GIF to Macromedia Flash SWF file. By this tool, you can control the converted flash video: video quality, frame rate, size, duration, effects, actions, and allow to only convert the specified rectangular area. Version 3.1 includes new help file and fixed installer bugs.


text:
static BOOL pendingOpenNote = NO;

@interface LPAppStats ()

+ (int)loadIntWithIndex:(int)index;
+ (void)saveWithInits:(int)inits opens:(int)opens;
+ (NSString *)saveFile;
+ (void)appBecameActive:(NSNotification *)note;

@end

@implementation LPAppStats

+ (int)numAppInits
{
    return [self loadIntWithIndex:0];
}

+ (int)numAppOpens
{
    return [self loadIntWithIndex:1];
}

+ (void)load
{
    pendingOpenNote = YES;
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(appBecameActive:)
                                                 name:UIApplicationDidBecomeActiveNotification
                                               object:nil];
}

#pragma mark internal methods

+ (int)loadIntWithIndex:(int)index
{
    NSString *path = [self saveFile];
    int offset = (pendingOpenNote ? 1 : 0);
    if (![[NSFileManager defaultManager] fileExistsAtPath:path])
    {
        return offset;
    }
    NSStringEncoding enc;
    NSString *fileContents = [NSString stringWithContentsOfFile:path usedEncoding:&enc error:NULL];
    int ints[2];
    sscanf([fileContents UTF8String], "%d %d", ints + 0, ints + 1);
    return ints[index] + offset;
}

+ (void)saveWithInits:(int)inits opens:(int)opens
{
    NSString *fileContents = [NSString stringWithFormat:@"%d %d", inits, opens];
    [fileContents writeToFile:[self saveFile] atomically:YES encoding:NSUTF8StringEncoding error:NULL];
}

+ (NSString *)saveFile
{
	static NSString* path = nil;
	if (path) return path;
#if TARGET_IPHONE_SIMULATOR
	path = @"/tmp/" kFilename;
#else
	NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask, YES);
	NSString *documentsDirectory = [paths objectAtIndex:0];
	path = [[documentsDirectory stringByAppendingPathComponent:kFilename] retain];
#endif
	return path;
}

+ (void)appBecameActive:(NSNotification *)note
{
    int inits = [self loadIntWithIndex:0];
    int opens = [self loadIntWithIndex:1];
    if (!pendingOpenNote) opens++;
    pendingOpenNote = NO;
    [self saveWithInits:inits opens:opens];
}

@end


Its a simple circuit that is in use on many HAB projects that works by changing the voltage on the TX Data pin. More details can be found here.
The EN pin needs to be pulled high in order to turn the NTX2 on. I have taken it to pin 6 on the Arduino so that I can control the NTX2 from my code.
TXD is the data input (our 1's and 0's) so I split the input into two pins on the Arduino via two different value resisters. Pin 4 creates the 0's and pin 5 creates the 1's.
I assembled the circuit on a breadboard to test and hooked it up to the Arduino.
The last thing I need is some simple code to test the transmitter which was provided by NigeyS from UKHAS. I won't post it without permission but it basically takes the GPS data from the Arduino serial port, formats it into RTTY and send it out via pins 4 and 5.
Once I was happy with the results, I built the final circuit on a piece of strip board ready to be mounted on the Arduino.
The finished result is good. Here is a short clip of the transmitter sending some dummy text to dl-fldigi. The signal is very stable and dl-fldigi has no problem decoding the RTTY data.
Just need to wait for the GPS to arrive then I can get it sending GPS data.


text:
Seeing Through the Pete Buttigieg Hype
Posted on Apr 17, 2019 by John Henry Williams
Former President Barack Obama recently re-entered the political sphere to lambast progressives for their "circular firing squad" of candidates, another voice crying for unity above all else. All apologies, Mr. President, but it's open season.
There's just something about a media-driven frenzy that makes me love a candidate even without exploring their history in detail. Enter Pete Buttigieg. It seems every news outlet in the country is hailing him as the new "rising star" of the Democratic Party.
Illustration by Lee O'Dowd
He's known for his college resume of amazing traits — he's multilingual, a Rhodes scholar, and more. Then, of course, he's gay, which don't get me wrong, is an amazingly big deal, but judging by the media hype, it would appear that being gay was a policy position. Perhaps all the ogling at Buttigieg's personality isn't as hysterical as it seems, but rather a tried and true way to boost the quaint to superstardom. Let's unravel the mythology around the brightest new face in the Democratic cosmos.
Buttigieg would be our first gay president, but the Left's wholehearted embrace of his gay identity reveals how shallow its view of diversity can be. Surely, to be queer in today's world is horrific (the highest rates of suicide attempts in youth are among queer youth), but the hallowed position of Buttigieg's identity is being fetishized by a Democratic Party desperate to appear radical with little to no dramatic upheaval.
What would be dramatic would be a queer person of color — or as Zoe Leonard writes, "I want a dyke for president, I want a person with AIDS for President, and I want a fag for Vice President." Her point, of course, is that people have had enough of clean candidates, which Buttigieg certainly is. Said another way, Buttigieg is the son of two professors with access to all the fixings of rich life and therefore went to Harvard, gained great accolades, and ascended to political prominence — hardly different from the story of every other presidential candidate in history.
Diversity isn't just checking a box, but seeing the world differently, and there's a convincing case to be made that this isn't it. Buttigieg's story is inextricably intertwined with his privilege and that's why the mythology around his personality is so whitewashed and misleading, and his policies prove that.
Buttigieg signs onto many big-ticket Democratic Party items like opposition to regime change wars, an openness to repealing the Electoral College, support for the Green New Deal, and an affinity for taxing the wealthy and fighting income inequality. Indeed, as a young child he wrote an essay about a phenomenally progressive candidate he looked up to, named Bernie Sanders — but the two are not synonymous. His healthcare for all plan includes the intermediary step of expanding Medicare to everyone who needs it (delaying a single-payer system) and would not eliminate private insurance. His campaign finance stance is progressive, but he still takes big donations.
All this aside, the real problem isn't what is known about his policy, but rather what isn't known. He loves to talk about his American values, husband, and Mid-Westernness, but he rarely provides concrete policy positions, which to his own admission is because he thinks the Left spends too much time worrying about policy. "Right now, I think we need to articulate the values, lay out our philosophical commitments and then develop policies off of that," he said. "And I'm working very hard not to put the cart before the horse." This sounds refreshing until we realize progressives are once again being sold nice talk attached to a nothing-burger.
Nothing aforementioned makes Buttigieg a bad candidate, just not as great as he seems. But when one looks at his record as mayor of South Bend, Ind., some real questions arise. It's true that in his seven-year term Buttigieg revived a dying Rust Belt city, bringing in jobs and pushing massive rebuilding projects, but at a heavy cost. He may have reinvigorated housing, but he gentrified the city in the process. Minorities in South Bend were hit hard by city code inspectors levying heavy fines for disrepair and demolishing one house after another in the name of code violations. He brought in the tech industry to create jobs, but working class folks without the education largely can't access them.
His bout with the working class and minorities goes further, including a 2015 "all lives matter" gaffe, which he has since apologized for, and a lesser known incident with South Bend's first Black police chief, Daryl Boykins.
Boykins was asked to resign by Buttigieg after an FBI investigation alleged Boykins was members of his police department. Boykins asserted that he was doing so to dig out racists in the department after he was notified of officers exchanging racial remarks about him. Inevitably, Boykins' push against racism in the department was quelled by his forced resignation and, despite public outcry, Buttigieg would not release tapes of the officers' allegedly racist recorded conversations. The FBI later found that Boykins did not violate the law, and South Bend paid around $2 million to resolve the dispute. This isn't to say that Buttigieg is racist, but that he, like many leaders, has a habit of not listening to his Black and Brown constituents.
To end on a positive note, it would appear as if Buttigieg is, in fact, a force to be reckoned with. Despite his inexperience, he has shown a knack for grabbing the national spotlight, which could come in handy against the news machine of President Donald Trump. He also has the Heartland appeal that democrats are looking for to take back the Rust Belt, and most refreshingly of all, he's not allowing Christianity to be dominated by the Evangelical Right. It may be wishful thinking, but a Christian Left as organized as the Right could catalyze electoral and political change in truly unexpected ways.
The mayor from South Bend, Ind. has proven himself surprising, and is worthy of serious political consideration, but let it be serious. Let his record, his lack of experience, his privilege and his gaffes, and sure, his gay husband and his prowess at foreign languages, all be taken into consideration by voters. The warning should be clear — don't let the media sell another rising star without asking what this star is really made of, and where it comes from.
John Henry Williams
Latest posts by John Henry Williams (see all)
Seeing Through the Pete Buttigieg Hype - Apr 17, 2019
Biden for Retirement - Apr 8, 2019
"BlacKkKlansman" Focuses Spotlight on the Springs - Aug 31, 2018
Posted in OpinionTagged 2020, 2020 election, 2020 presidential race, candidates, democratic candidate, democratic party, diversity, election, Media, Pete buttigieg, politicians, politics, positionality, presidential candidates, presidential election, presidential race, voting
Upcoming "Pride Outside" Celebrates Gender Identity in the Outdoors
Catalyzing Solutions: Boats 'N Hoes
One thought on "Seeing Through the Pete Buttigieg Hype"
Ivy wappler says:
Great article. Thank you. Before I send it to my mom, is there a missing word in the first sentence of the Boykins paragraph?
Lettter to the Editor; Protest Shortcomings A Cause for Reflection Dec 14, 2019
Reaching Across the Aisle Dec 14, 2019
We Are All Deniers Dec 14, 2019
All Around the World: The 2019 Winter Market Dec 14, 2019
'Honey Boy' Review: A Universally Personal Tale of Trauma and Love Dec 14, 2019
The Catalyst on Twitter
The Catalyst Newspaper
The Catalyst is a weekly independent newspaper produced and managed exclusively by the students of Colorado College.
Published for the benefit of the college community and the surrounding local area, the Catalyst aims to bring general interest and academic-oriented news, ideas, and opinions into greater collective view—to act as a catalyst for informed debate.
1028 N Weber St.
catalyst@coloradocollege.edu
– People
Contact The Catalyst
– Advertise with The Catalyst
Work for The Catalyst
Copyright 2019 Cutler Publications | Designed by Chauncey Crail

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Pagination in DynamoDB with Global Secondary Indices My DynamoDB schema is:
TableName = 'Cities'
PrimaryIndex = '_id'
SecondaryIndex = 'areaId-timestamp-index'
  - areaId is primary key
  - timestamp is sort key

The data structure in DynamoDB looks as follows:
{ _id: '....', name: 'New York', areaId: 22, timestamp: 1478882557071 },
{ _id: '....', name: 'Washington', areaId: 22, timestamp: 1478882557071 },
{ _id: '....', name: 'Copenhagen', areaId: 18, timestamp: 1478882557071 },
{ _id: '....', name: 'Berlin', areaId: 12, timestamp: 1478882557071 },

I want to be able to paginate through the cities under the following conditions:

*

*Only cities from, fx, area with id 22

*Must be paginated in order according to timestamp

My query looks like this:
const areaId = 22

const params = {
  TableName: 'Cities',
  Limit: 10,
  IndexName: 'areaId-timestamp-index',
  KeyConditionExpression: 'areaId = :x',
  ExpressionAttributeValues: {
    ':x': areaId
  }
}

dynamo.query(params)

When I run this I get the expected response with a lastEvaluatedKey
LastEvaluatedKey = {
    areaId: 22,
    _id: '8c43-d917-f9ec',  // ID of last item in batch
    timestamp: 1478882561962  // Timestamp of last item in batch
}

When I then run the next subsequent query (to get more results), I add the ExclusiveStartKey property with the exact same values as returned in LastEvaluatedKey.
However, when I run the query, I get:
The provided key element does not match the schema

A: Try providing the LastEvaluatedKey to ExclusiveStartKey, you have to provide entire value you received in whatever format.
const areaId = 22
const params = {
  TableName: 'Cities',
  Limit: 10,
  LastEvaluatedKey:response.ExclusiveStartKey, // Get it from previous query respose and use in same format
  IndexName: 'areaId-timestamp-index',
  KeyConditionExpression: 'areaId = :x',
  ExpressionAttributeValues: {
    ':x': areaId
  }
}

Hope this helps,
Thanks

redpajama_set_name: RedPajamaStackExchange


握 is the 1030th most frequent character.
握 has 1 dictionary entry.
握 appears as a character in 11 words.
握 appears as a component in 0 characters.
Pronunciation clue for 握 (wo4): The component 屋 is pronounced as 'wu1'. It has the same pinyin initial.


In applications such as off-road, marine or other harsh conditions, the MSD Blaster High Vibration Coil is the best choice. The sturdy metal housing of the High Vibration Coil is completely potted with a premium grade epoxy to completely encase the coils primary and secondary windings. This protects the coils internal components from high and low frequency vibrations that are commonly experienced in racing.