text:
What is the best antidepressant combination?
1 What is the best antidepressant combination?
2 What is the strongest psychiatric drug?
3 Which antidepressants can be combined?
4 What are the 3 psychotropic drugs that most used?
5 What is the most energizing antidepressant?
6 Do psychiatric drugs shorten lifespan?
7 What is the safest antipsychotic drug?
8 What are the 7 classifications of psychotropic medications?
9 What is the most common co occurring disorder with mental illness?
10 What is the most powerful antidepressant?
11 What is the number one antidepressant?
12 What is the #1 antidepressant?
13 What is the most effective antidepressant for anxiety?
14 Which mental illness is the most severe?
15 Do antipsychotics change the brain permanently?
16 What is the weakest antipsychotic?
17 What is the most common antipsychotic medication?
18 Can you treat mental illness without medication?
19 How many mental illnesses can a person have?
20 Can you combine antipsychotics?
21 Is aripiprazole better than risperiDONE?
22 Is it possible to combine psychotherapy and medication?
23 What are some of the most common psychiatric medications?
24 What are the top 10 drug combinations for MDD?
25 Which is the best treatment for psychotic depression?
26 Which is the best combination medication for depression?
27 Which is the best combination of heart medications?
Bupropion, citalopram, escitalopram, and sertraline were better tolerated than the other antidepressants. Escitalopram and sertraline were found to have the best combination of efficacy and acceptability. Efficacy results.
What is the strongest psychiatric drug?
As such, it became the first specific drug to target a particular psychiatric disorder. More than seventy years after its discovery, lithium remains the most effective medication in all of psychiatry, with a response rate of more than 70% for patients with bipolar disorder.
Which antidepressants can be combined?
The most frequent combinations are SSRIs and tricyclic antidepressants. The active principle most widely combined is fluoxetine. Conclusions. The prevalence of use of antidepressant combination therapy is 2.2% of the global sample and 8.3% of treated patients.
What are the 3 psychotropic drugs that most used?
Most Frequently Prescribed Psychotropic Drugs
Xanax (alprazolam), 48.5 million.
Zoloft (sertraline), 41.4 million.
Celexa (citalopram), 39.4 million.
Prozac (fluoxetine), 28.3 million.
Ativan (lorazepam), 27.9 million.
Desyrel (trazodone HCL), 26.2 million.
Lexapro (escitalopram), 24.9 million.
What is the most energizing antidepressant?
Prozac (fluoxetine) and Wellbutrin (bupropion) are examples of "energizing" antidepressants; whereas Paxil (paroxetine) and Celexa (citalopram) tend to be more sedating.
Do psychiatric drugs shorten lifespan?
Antipsychotics and awareness This is important, because side-effects of medicines used to treat severe mental illness – such as schizophrenia – are a contributory factor in lower life expectancy. On average, people with severe mental illness die around 15-20 years earlier than the rest of the population.
What is the safest antipsychotic drug?
Clozapine and olanzapine have the safest therapeutic effect, while the side effect of neutropenia must be controlled by 3 weekly blood controls. If schizophrenia has remitted and if patients show a good compliance, the adverse effects can be controlled.
What are the 7 classifications of psychotropic medications?
Fast facts about psychotropic drugs
anti-anxiety agents.
antidepressants.
antipsychotics.
mood stabilizers.
stimulants.
What is the most common co occurring disorder with mental illness?
The 7 Most Common Co-Occurring Disorders That Are Seen With Substance Abuse
Generalized anxiety disorder.
Eating disorders.
Personality disorders and mood disorders.
Schizophrenia.
Attention deficit hyperactivity disorder.
What is the most powerful antidepressant?
The most effective antidepressant compared to placebo was the tricyclic antidepressant amitriptyline, which increased the chances of treatment response more than two-fold (odds ratio [OR] 2.13, 95% credible interval [CrI] 1.89 to 2.41).
What is the number one antidepressant?
Zoloft is the most commonly prescribed antidepressant; nearly 17% of those survey in the 2017 antidepressant use study reported that they had taken this medication. 1
What is the #1 antidepressant?
What is the most effective antidepressant for anxiety?
The antidepressants most widely prescribed for anxiety are SSRIs such as Prozac, Zoloft, Paxil, Lexapro, and Celexa. SSRIs have been used to treat generalized anxiety disorder (GAD), obsessive-compulsive disorder (OCD), panic disorder, social anxiety disorder, and post-traumatic stress disorder.
Which mental illness is the most severe?
Here we look at two of the most common severe mental illnesses: schizophrenia and bipolar disorder (or manic depression). Schizophrenia is a serious mental illness that affects a person's thinking, and that can consequently alter their perception of reality, their emotions and their behaviour.
Do antipsychotics change the brain permanently?
Meyer-Lindberg himself published a study last year showing that antipsychotics cause quickly reversible changes in brain volume that do not reflect permanent loss of neurons (see "Antipsychotic deflates the brain").
What is the weakest antipsychotic?
Of the atypical antipsychotics, risperidone is the weakest in terms of atypicality criteria. Although early clinical studies with risperidone indicated that the incidence of EPS is not greater than that seen with placebo, this may not be the case.
What is the most common antipsychotic medication?
Some of the common typical antipsychotics include:
Chlorpromazine.
Haloperidol.
Perphenazine.
Fluphenazine.
Can you treat mental illness without medication?
There are other non-medication treatment options available for helping individuals overcome mental health disorders. These include: Eye movement desensitization reprocessing (EMDR) Biofeedback.
How many mental illnesses can a person have?
Technically, according to DSM-51, a person can receive more than one personality disorder diagnosis. People who are diagnosed with a personality disorder most often qualify for more than one diagnosis. A person with a severe personality disorder might meet the criteria for four, five or even more disorders!
Can you combine antipsychotics?
The review of available evidence found that combinations of antipsychotics may be more effective in treating symptoms of schizophrenia compared with taking one antipsychotic. In particular, combination treatments that included clozapine and typical antipsychotic in both groups were found to be effective.
Is aripiprazole better than risperiDONE?
Aripiprazole is as effective as risperidone and has better tolerability, though tremor is a more frequent outcome in the case of aripiprazole. Efficacy of aripiprazole may be marginally lower compared with olanzapine, but metabolic effects and sedation are less pronounced.
Is it possible to combine psychotherapy and medication?
It was just over a generation ago that the routine combination of psychotherapy and drug therapy seemed impossible. Then, one meta-analysis found that combined treatment with psychotherapy and medication was found to be notably superior to either treatment alone.
What are some of the most common psychiatric medications?
PSYCHIATRIC MEDICATION QUICK LIST (BY CLASS) of Some Commonly Seen Medications ANTIDEPRESSANTS Class: SSRI Celexa (citalopram ) Lexapro (escitalopram oxalate) Luvox CR (fluvoxamine) Paxil and Paxil CR (paroxetine) Prozac, Prozac Weekly (fluoxetine) Sarafem (fluoxetine) Viibryd (vilazodone)
What are the top 10 drug combinations for MDD?
Top 10 drug combinations in MDD: Past, current and future. Presented at: Psych Congress; Oct. 3-6, 2019; San Diego. Disclosure: Thase reports multiple ties to industry. Please provide your email address to receive an email when new articles are posted on .
Which is the best treatment for psychotic depression?
Psychotic depression is a severe condition. Drug treatment (antipsychotics, antidepressants or the combination) or electroconvulsive therapy (ECT) are both effective.
Which is the best combination medication for depression?
In fact, bupropion is one of the most commonly used combination therapy medications. It's often used with selective serotonin reuptake inhibitors (SSRIs) and serotonin- norepinephrine reuptake inhibitors (SNRIs). It's generally well tolerated in people who've experienced severe side effects from other antidepressant medication.
Which is the best combination of heart medications?
What's the good news? 1 Atorvastatin & lisinopril. The American Association of Clinical Endocrinologists… 2 Amphetamine salt combo & amphetamine salt combo XR. 3 Most heart medications. There are many types of heart medications on this list—ace inhibitors, statins,…
Previous: What do doctors do for a fractured jaw?
Next: What is the most common food to be allergic to?


text:
Бу́култы () — микрорайон в Риге, преимущественно частной застройки. Находится на востоке города, в составе Видземского предместья. Расположен между юго-восточным берегом озера Кишэзерс и лесным массивом, к северу от Бривибас гатве.

Район Букулты приобрёл известность с конца 1980-х как элитный жилой массив индивидуальной застройки. Площадь — 5,183 км². Население — 666 жителей.

Транспорт

Автобус
 № 29 — Межциемс — Букулты — Вецмилгравис

Примечания

Литература

redpajama_set_name: RedPajamaWikipedia


text:
HLS students participate in Foreign Direct Investment International Arbitration competition
A team of Harvard Law School students traveled to London in early October to participate in the Foreign Direct Investment International Arbitration Moot, hosted by the Dickson Poon School of Law at King's College London.
The 2015 Harvard FDI Moot Team, which consisted of Matthew Weybrecht '16, Zain Jinnah '16, Paige von Mehren '17, Danielle Young '17, and the two team co-captains, Amanda Tuninetti '16 and Anusha Pamula '16, advanced to the quarterfinals of the oral competition rounds, finishing in fifth place overall.
The 2015 Harvard Law School Foreign Direct Investment International Arbitration Moot team, from L to R: Zain Jinnah '16, Paige von Mehren '17, Danielle Young '17, Anusha Pamula '16, and Amanda Tuninetti '16. Not pictured: Matthew Weybrecht '16.
For the second year in a row, the HLS team won the Oxford University Press Prize for the Best Respondent Memorial, which will be published in the Oxford University Press "Yearbook on International Investment Law and Policy."
In total, 51 teams took part in the oral argument rounds in London, after qualifying in the competition's various regional rounds. This is the fourth year that Harvard Law School has participated in the competition.
The team was coached by Jessica Beess und Chrostin '13, who founded the team in 2012 and practices international arbitration at King & Spalding, and Ana Vohryzek, a former international arbitration associate at King & Spalding.
The FDI International Arbitration Moot Competition spans approximately six months over two phases: written memorials for the claimant company and the respondent state, followed by hearing of oral arguments before panels of judges, who are leading practitioners and academics in the field.
This year's problem raised complex jurisdictional questions relating to the validity of bilateral investment treaties between EU member states, and issues involving the long-term security of feed-in tariffs designed to encourage renewable energy investments.
"Investor-state dispute settlement has been getting a lot of media attention recently, due to its inclusion in the Trans-Pacific Partnership and the possibility of its inclusion in the Transatlantic Trade and Investment Partnership," said Amanda Tuninetti '16. "It's a growing and exciting area of practice, and we would love to see more international arbitration in the HLS curriculum."
The competition provides students an opportunity to experience briefing and mooting a hypothetical investor-state arbitration, developing legal strategy and even calculating damages.
"For me, the most fascinating part of oral argument was responding to questions from judges from different jurisdictions," said Danielle Young '17. "Some wanted textual arguments from the treaty. Some wanted arguments rooted in EU law. Others wanted arguments about broader policy implications. It was great to start learning how to be a persuasive advocate for a real range of judges."
Young and von Mehren will lead the team next year. The 2016 competition will be held in Buenos Aires, Argentina, hosted by the University of Buenos Aires.
Topics: Business, International
Tags: Moot Court, Editor's Pick
Jessica Beess und Chrostin '13 wins ABA writing award
Harvard's Foreign Direct Investment Moot Court Team wins first place in international competition

redpajama_set_name: RedPajamaCommonCrawl


text:
Cult of Outrage: The Low Bar of Offense
By: Joshua M Patton
Articles, Race
Don Lemon continues to make me eat my words when it comes to the Cult of Outrage. Yesterday, a story in a newspaper in the West Village of New York made national headlines because of its controversial title. While it received vast coverage, the headline – which essentially made this a story – was censored. Only Don Lemon of CNN showed the actual headline, which does have significantly more impact than the censored version (at least in my opinion).
After showing the uncensored headline, Lemon then explains why he is doing so. "Although I think that this word is toxic and used gratuitously too often by far too many people of all different ethnic backgrounds," he said, "I do think it should be used if it is pertinent to a news story or the conversation." He added, "We can't talk about it without actually saying the word."
While Lemon does not actually come down on one side or the other with regard to the original writer's use of the word, by conducting the segment in an uncensored way it is not a great leap to assume that he's okay with it (and it seems he wishes the writer would have focused more on the point behind the headline). He interviews James Lincoln Collier, the article's author, who stands by his authorial decision.
Alvin Hall, the writer who wrote an op-ed about why the headline in the story offended him, closes his argument with a statement that, at least to me, seems to codify the central problem with individual sensitivity and larger-scope social commentary. Hall writes, "I don't see how [the headline's] use benefits anyone, but I do feel all too clearly how it deeply offends me."
Early in his piece, Hall essentially agrees with everything Collier said in his article, and simply objects to the use of the word "nigger" in the title. Ironically, Hall uses the word in his article repeatedly whereas Collier's use of it is limited only to the title. While it would be wrong to discount Hall's feelings wholeheartedly, simply because he is offended does not mean the headline should have been censored.
I am not saying Hall should not be offended or feel as he does, but instead that individual offense should be the lowest bar by which we measure a particular message's worth. To suggest that any word is more powerful that the context surrounding its use seems to be a step too far, that rather than fostering broader racial acceptance turns every racial discussion into a squabble over semantics.
Joshua M. Patton is a father, veteran, and writer living in Pittsburgh, PA. Along with news and current events, he writes about parenting, art, and personal stories. His serial fiction story "The Prophet Hustle" is available at JukePop.com and a forthcoming independent ebook about the cam-modeling industry "Dirty Little Windows" will be available later this summer.


For instant support, try Dr Chuck Spezzano's three card reading.
The benefits of daily meditation are well documented. Among other things, it reduces anxiety and stress, calms your mind and helps you to focus. If you've never tried it or you need to establish a regular practice, try the headspace website which offers the first 10 sessions free.
Be inspired by the teachings of Abraham and learn about the Law of Attraction. "Ask and it is Given" is the title I recommend most.
For nutritional therapy, contact Clare Jeffries at Healthy Influence in Weybridge.


text:
#include BLIK_OPENCV_V_opencv2__core__core_hpp //original-code:<opencv2/core/core.hpp>
#include <functional>
#include <cctype>

#include BLIK_OPENALPR_U_utility_h //original-code:"utility.h"

using namespace cv;
using namespace std;

namespace alpr
{

  Rect expandRect(Rect original, int expandXPixels, int expandYPixels, int maxX, int maxY)
  {
    Rect expandedRegion = Rect(original);

    float halfX = round((float) expandXPixels / 2.0);
    float halfY = round((float) expandYPixels / 2.0);
    expandedRegion.x = expandedRegion.x - halfX;
    expandedRegion.width =  expandedRegion.width + expandXPixels;
    expandedRegion.y = expandedRegion.y - halfY;
    expandedRegion.height =  expandedRegion.height + expandYPixels;

	expandedRegion.x = std::min(std::max(expandedRegion.x, 0), maxX);
	expandedRegion.y = std::min(std::max(expandedRegion.y, 0), maxY);
	if (expandedRegion.x + expandedRegion.width > maxX)
      expandedRegion.width = maxX - expandedRegion.x;
    if (expandedRegion.y + expandedRegion.height > maxY)
      expandedRegion.height = maxY - expandedRegion.y;

    return expandedRegion;
  }

  Mat drawImageDashboard(vector<Mat> images, int imageType, unsigned int numColumns)
  {
    unsigned int numRows = ceil((float) images.size() / (float) numColumns);

    Mat dashboard(Size(images[0].cols * numColumns, images[0].rows * numRows), imageType);

    for (unsigned int i = 0; i < numColumns * numRows; i++)
    {
      if (i < images.size())
        images[i].copyTo(dashboard(Rect((i%numColumns) * images[i].cols, floor((float) i/numColumns) * images[i].rows, images[i].cols, images[i].rows)));
      else
      {
        Mat black = Mat::zeros(images[0].size(), imageType);
        black.copyTo(dashboard(Rect((i%numColumns) * images[0].cols, floor((float) i/numColumns) * images[0].rows, images[0].cols, images[0].rows)));
      }
    }

    return dashboard;
  }

  Mat addLabel(Mat input, string label)
  {
    const int border_size = 1;
    const Scalar border_color(0,0,255);
    const int extraHeight = 20;
    const Scalar bg(222,222,222);
    const Scalar fg(0,0,0);

    Rect destinationRect(border_size, extraHeight, input.cols, input.rows);
    Mat newImage(Size(input.cols + (border_size), input.rows + extraHeight + (border_size )), input.type());
    input.copyTo(newImage(destinationRect));

    cout << " Adding label " << label << endl;
    if (input.type() == CV_8U)
      cvtColor(newImage, newImage, CV_GRAY2BGR);

    rectangle(newImage, Point(0,0), Point(input.cols, extraHeight), bg, CV_FILLED);
    putText(newImage, label, Point(5, extraHeight - 5), CV_FONT_HERSHEY_PLAIN  , 0.7, fg);

    rectangle(newImage, Point(0,0), Point(newImage.cols - 1, newImage.rows -1), border_color, border_size);

    return newImage;
  }

  void drawAndWait(cv::Mat frame)
  {
    drawAndWait(&frame);
  }
  void drawAndWait(cv::Mat* frame)
  {
    cv::imshow("Temp Window", *frame);

    while (cv::waitKey(50) == -1)
    {
      // loop
    }

    cv::destroyWindow("Temp Window");
  }

  void displayImage(Config* config, string windowName, cv::Mat frame)
  {
    if (config->debugShowImages)
    {
      imshow(windowName, frame);
      cv::waitKey(5);
    }
  }

  vector<Mat> produceThresholds(const Mat img_gray, Config* config)
  {
    const int THRESHOLD_COUNT = 3;
    //Mat img_equalized = equalizeBrightness(img_gray);

    timespec startTime;
    getTimeMonotonic(&startTime);

    vector<Mat> thresholds;

    for (int i = 0; i < THRESHOLD_COUNT; i++)
      thresholds.push_back(Mat(img_gray.size(), CV_8U));

    int i = 0;

    // Adaptive
    //adaptiveThreshold(img_gray, thresholds[i++], 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV , 7, 3);
    //adaptiveThreshold(img_gray, thresholds[i++], 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV , 13, 3);
    //adaptiveThreshold(img_gray, thresholds[i++], 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV , 17, 3);

    // Wolf
    int k = 0, win=18;
    //NiblackSauvolaWolfJolion (img_gray, thresholds[i++], WOLFJOLION, win, win, 0.05 + (k * 0.35));
    //bitwise_not(thresholds[i-1], thresholds[i-1]);
    NiblackSauvolaWolfJolion (img_gray, thresholds[i++], WOLFJOLION, win, win, 0.05 + (k * 0.35));
    bitwise_not(thresholds[i-1], thresholds[i-1]);

    k = 1;
    win = 22;
    NiblackSauvolaWolfJolion (img_gray, thresholds[i++], WOLFJOLION, win, win, 0.05 + (k * 0.35));
    bitwise_not(thresholds[i-1], thresholds[i-1]);
    //NiblackSauvolaWolfJolion (img_gray, thresholds[i++], WOLFJOLION, win, win, 0.05 + (k * 0.35));
    //bitwise_not(thresholds[i-1], thresholds[i-1]);

    // Sauvola
    k = 1;
    NiblackSauvolaWolfJolion (img_gray, thresholds[i++], SAUVOLA, 12, 12, 0.18 * k);
    bitwise_not(thresholds[i-1], thresholds[i-1]);
    //k=2;
    //NiblackSauvolaWolfJolion (img_gray, thresholds[i++], SAUVOLA, 12, 12, 0.18 * k);
    //bitwise_not(thresholds[i-1], thresholds[i-1]);

    if (config->debugTiming)
    {
      timespec endTime;
      getTimeMonotonic(&endTime);
      cout << "  -- Produce Threshold Time: " << diffclock(startTime, endTime) << "ms." << endl;
    }

    return thresholds;
    //threshold(img_equalized, img_threshold, 100, 255, THRESH_BINARY);
  }

  double median(int array[], int arraySize)
  {
    if (arraySize == 0)
    {
      //std::cerr << "Median calculation requested on empty array" << endl;
      return 0;
    }

    std::sort(&array[0], &array[arraySize]);
    return arraySize % 2 ? array[arraySize / 2] : (array[arraySize / 2 - 1] + array[arraySize / 2]) / 2;
  }

  Mat equalizeBrightness(Mat img)
  {
    // Divide the image by its morphologically closed counterpart
    Mat kernel = getStructuringElement(MORPH_ELLIPSE, Size(19,19));
    Mat closed;
    morphologyEx(img, closed, MORPH_CLOSE, kernel);

    img.convertTo(img, CV_32FC1); // divide requires floating-point
    divide(img, closed, img, 1, CV_32FC1);
    normalize(img, img, 0, 255, NORM_MINMAX);
    img.convertTo(img, CV_8U); // convert back to unsigned int

    return img;
  }

  void drawRotatedRect(Mat* img, RotatedRect rect, Scalar color, int thickness)
  {
    Point2f rect_points[4];
    rect.points( rect_points );
    for( int j = 0; j < 4; j++ )
      line( *img, rect_points[j], rect_points[(j+1)%4], color, thickness, 8 );
  }

  void fillMask(Mat img, const Mat mask, Scalar color)
  {
    for (int row = 0; row < img.rows; row++)
    {
      for (int col = 0; col < img.cols; col++)
      {
        int m = (int) mask.at<uchar>(row, col);

        if (m)
        {
          for (int z = 0; z < 3; z++)
          {
            int prevVal = img.at<Vec3b>(row, col)[z];
            img.at<Vec3b>(row, col)[z] = ((int) color[z]) | prevVal;
          }
        }
      }
    }
  }

  void drawX(Mat img, Rect rect, Scalar color, int thickness)
  {
    Point tl(rect.x, rect.y);
    Point tr(rect.x + rect.width, rect.y);
    Point bl(rect.x, rect.y + rect.height);
    Point br(rect.x + rect.width, rect.y + rect.height);

    line(img, tl, br, color, thickness);
    line(img, bl, tr, color, thickness);
  }

  double distanceBetweenPoints(Point p1, Point p2)
  {
    float asquared = (p2.x - p1.x)*(p2.x - p1.x);
    float bsquared = (p2.y - p1.y)*(p2.y - p1.y);

    return sqrt(asquared + bsquared);
  }

  float angleBetweenPoints(Point p1, Point p2)
  {
    int deltaY = p2.y - p1.y;
    int deltaX = p2.x - p1.x;

    return atan2((float) deltaY, (float) deltaX) * (180 / CV_PI);
  }

  Size getSizeMaintainingAspect(Mat inputImg, int maxWidth, int maxHeight)
  {
    float aspect = ((float) inputImg.cols) / ((float) inputImg.rows);

    if (maxWidth / aspect > maxHeight)
    {
      return Size(maxHeight * aspect, maxHeight);
    }
    else
    {
      return Size(maxWidth, maxWidth / aspect);
    }
  }

// Compares two strings and computes the edit distance between them
// http://en.wikipedia.org/wiki/Levenshtein_distance
// max is the cutoff (i.e., max distance) where we stop trying to find distance
int levenshteinDistance (const std::string &s1, const std::string &s2, int max)
{
    const char* word1 = s1.c_str();
    int len1 = s1.length();
    const char* word2 = s2.c_str();
    int len2 = s2.length();
    max--;

    //int matrix[2][len2 + 1];
    std::vector<std::vector<int> > matrix;
    for (unsigned int i = 0; i < 2; i++)
    {
      std::vector<int> top_elem;
      matrix.push_back(top_elem);
      for (unsigned int j = 0; j < len2 + 1; j++)
        matrix[i].push_back(0);
    }
    int i;
    int j;

    /*
      Initialize the 0 row of "matrix".

        0
        1
        2
        3

     */

    for (j = 0; j <= len2; j++) {
        matrix[0][j] = j;
    }

    /* Loop over column. */
    for (i = 1; i <= len1; i++) {
        char c1;
        /* The first value to consider of the ith column. */
        int min_j;
        /* The last value to consider of the ith column. */
        int max_j;
        /* The smallest value of the matrix in the ith column. */
        int col_min;
        /* The next column of the matrix to fill in. */
        int next;
        /* The previously-filled-in column of the matrix. */
        int prev;

        c1 = word1[i-1];
        min_j = 1;
        if (i > max) {
            min_j = i - max;
        }
        max_j = len2;
        if (len2 > max + i) {
            max_j = max + i;
        }
        col_min = INT_MAX;
        next = i % 2;
        if (next == 1) {
            prev = 0;
        }
        else {
            prev = 1;
        }
        matrix[next][0] = i;
        /* Loop over rows. */
        for (j = 1; j <= len2; j++) {
            if (j < min_j || j > max_j) {
                /* Put a large value in there. */
                matrix[next][j] = max + 1;
            }
            else {
                char c2;

                c2 = word2[j-1];
                if (c1 == c2) {
                    /* The character at position i in word1 is the same as
                       the character at position j in word2. */
                    matrix[next][j] = matrix[prev][j-1];
                }
                else {
                    /* The character at position i in word1 is not the
                       same as the character at position j in word2, so
                       work out what the minimum cost for getting to cell
                       i, j is. */
                    int del;
                    int insert;
                    int substitute;
                    int minimum;

                    del = matrix[prev][j] + 1;
                    insert = matrix[next][j-1] + 1;
                    substitute = matrix[prev][j-1] + 1;
                    minimum = del;
                    if (insert < minimum) {
                        minimum = insert;
                    }
                    if (substitute < minimum) {
                        minimum = substitute;
                    }
                    matrix[next][j] = minimum;
                }
            }
            /* Find the minimum value in the ith column. */
            if (matrix[next][j] < col_min) {
                col_min = matrix[next][j];
            }
        }
        if (col_min > max) {
            /* All the elements of the ith column are greater than the
               maximum, so no match less than or equal to max can be
               found by looking at succeeding columns. */
            return max + 1;
        }
    }
    int returnval = matrix[len1 % 2][len2];
    if (returnval > max + 1)
      returnval = max + 1;
    return returnval;
}

  LineSegment::LineSegment()
  {
    init(0, 0, 0, 0);
  }

  LineSegment::LineSegment(Point p1, Point p2)
  {
    init(p1.x, p1.y, p2.x, p2.y);
  }

  LineSegment::LineSegment(int x1, int y1, int x2, int y2)
  {
    init(x1, y1, x2, y2);
  }

  void LineSegment::init(int x1, int y1, int x2, int y2)
  {
    this->p1 = Point(x1, y1);
    this->p2 = Point(x2, y2);

    if (p2.x - p1.x == 0)
      this->slope = 0.00000000001;
    else
      this->slope = (float) (p2.y - p1.y) / (float) (p2.x - p1.x);

    this->length = distanceBetweenPoints(p1, p2);

    this->angle = angleBetweenPoints(p1, p2);
  }

  bool LineSegment::isPointBelowLine( Point tp )
  {
    return ((p2.x - p1.x)*(tp.y - p1.y) - (p2.y - p1.y)*(tp.x - p1.x)) > 0;
  }

  float LineSegment::getPointAt(float x)
  {
    return slope * (x - p2.x) + p2.y;
  }

  float LineSegment::getXPointAt(float y)
  {
    float y_intercept = getPointAt(0);
    return (y - y_intercept) / slope;
  }

  Point LineSegment::closestPointOnSegmentTo(Point p)
  {
    float top = (p.x - p1.x) * (p2.x - p1.x) + (p.y - p1.y)*(p2.y - p1.y);

    float bottom = distanceBetweenPoints(p2, p1);
    bottom = bottom * bottom;

    float u = top / bottom;

    float x = p1.x + u * (p2.x - p1.x);
    float y = p1.y + u * (p2.y - p1.y);

    return Point(x, y);
  }

  Point LineSegment::intersection(LineSegment line)
  {
    float c1, c2;
    float intersection_X = -1, intersection_Y= -1;

    c1 = p1.y - slope * p1.x; // which is same as y2 - slope * x2

    c2 = line.p2.y - line.slope * line.p2.x; // which is same as y2 - slope * x2

    if( (slope - line.slope) == 0)
    {
      //std::cout << "No Intersection between the lines" << endl;
    }
    else if (p1.x == p2.x)
    {
      // Line1 is vertical
      return Point(p1.x, line.getPointAt(p1.x));
    }
    else if (line.p1.x == line.p2.x)
    {
      // Line2 is vertical
      return Point(line.p1.x, getPointAt(line.p1.x));
    }
    else
    {
      intersection_X = (c2 - c1) / (slope - line.slope);
      intersection_Y = slope * intersection_X + c1;
    }

    return Point(intersection_X, intersection_Y);
  }

  Point LineSegment::midpoint()
  {
    // Handle the case where the line is vertical
    if (p1.x == p2.x)
    {
      float ydiff = p2.y-p1.y;
      float y = p1.y + (ydiff/2);
      return Point(p1.x, y);
    }
    float diff = p2.x - p1.x;
    float midX = ((float) p1.x) + (diff / 2);
    int midY = getPointAt(midX);

    return Point(midX, midY);
  }

  LineSegment LineSegment::getParallelLine(float distance)
  {
    float diff_x = p2.x - p1.x;
    float diff_y = p2.y - p1.y;
    float angle = atan2( diff_x, diff_y);
    float dist_x = distance * cos(angle);
    float dist_y = -distance * sin(angle);

    int offsetX = (int)round(dist_x);
    int offsetY = (int)round(dist_y);

    LineSegment result(p1.x + offsetX, p1.y + offsetY,
                       p2.x + offsetX, p2.y + offsetY);

    return result;
  }

  cv::Point findClosestPoint(cv::Point2f* polygon_points, int num_points, cv::Point position)
  {
    int closest_point_index = 0;
    unsigned int smallest_distance = INT_MAX;
    for (unsigned int i = 0; i < num_points; i++)
    {
      Point pos((int)polygon_points[i].x, (int)polygon_points[i].y);
      unsigned int distance = distanceBetweenPoints(pos, position);
      //std::cout << "polys Distance between: " << position << " and " << pos << " = " << distance << endl;
      if (distance < smallest_distance)
      {
        smallest_distance = distance;
        closest_point_index = i;
      }
    }

    return Point((int)polygon_points[closest_point_index].x, (int)polygon_points[closest_point_index].y);
  }

  std::vector<cv::Point> sortPolygonPoints(cv::Point2f* polygon_points, cv::Size surrounding_image)
  {

    vector<Point> return_points;

    // Find top-left
    return_points.push_back( findClosestPoint(polygon_points, 4, Point(0, 0)) );
    return_points.push_back( findClosestPoint(polygon_points, 4,Point(surrounding_image.width, 0)) );
    return_points.push_back( findClosestPoint(polygon_points, 4,Point(surrounding_image.width, surrounding_image.height)) );
    return_points.push_back( findClosestPoint(polygon_points, 4,Point(0, surrounding_image.height)) );

    return return_points;
  }
  // Given a contour and a mask, this function determines what percentage of the contour (area)
  // is inside the masked area.
  float getContourAreaPercentInsideMask(cv::Mat mask, std::vector<std::vector<cv::Point> > contours, std::vector<cv::Vec4i> hierarchy, int contourIndex)
  {

    Mat innerArea = Mat::zeros(mask.size(), CV_8U);

    drawContours(innerArea, contours,
                 contourIndex, // draw this contour
                 cv::Scalar(255,255,255), // in
                 CV_FILLED,
                 8,
                 hierarchy,
                 2
                );

    int startingPixels = cv::countNonZero(innerArea);
    //drawAndWait(&innerArea);

    bitwise_and(innerArea, mask, innerArea);

    int endingPixels = cv::countNonZero(innerArea);
    //drawAndWait(&innerArea);

    return ((float) endingPixels) / ((float) startingPixels);

  }

  std::string toString(int value)
  {
    stringstream ss;
    ss << value;
    return ss.str();
  }
  std::string toString(long value)
  {
    stringstream ss;
    ss << value;
    return ss.str();
  }
  std::string toString(unsigned int value)
  {
    return toString((int) value);
  }
  std::string toString(float value)
  {
    stringstream ss;
    ss << value;
    return ss.str();
  }
  std::string toString(double value)
  {
    stringstream ss;
    ss << value;
    return ss.str();
  }

  std::string replaceAll(std::string str, const std::string& from, const std::string& to) {
    size_t start_pos = 0;
    while((start_pos = str.find(from, start_pos)) != std::string::npos) {
        str.replace(start_pos, from.length(), to);
        start_pos += to.length(); // Handles case where 'to' is a substring of 'from'
    }
    return str;
  }

// trim from start
  std::string &ltrim(std::string &s) {
    s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
    return s;
  }

// trim from end
  std::string &rtrim(std::string &s) {
    s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
    return s;
  }

// trim from both ends
  std::string &trim(std::string &s) {
    return ltrim(rtrim(s));
  }

}

redpajama_set_name: RedPajamaGithub


text:
Ivie Anderson Collection 1932-46
Artist: Ivie Anderson
Ivie Anderson Collection 1932-46 on CD
Ivie Anderson was a jazz singer who was so versatile and highly regarded that she was the longest-serving female vocalist with the Duke Ellington Orchestra, occupying that exacting role from 1932 through to 1942, a vital and exciting formative era for Ellington's music. Born in 1905, she began performing in her native Los Angeles in 1921, and by 1925 was singing at New York's famous Cotton Club and toured with stage musicals, before joining Earl Hines in 1930. She was soon hired by the Duke, and enjoyed a lengthy stay with him, as he made the most of her fine jazz feel, and her ability to work across a range of styles and material, from highly original renditions of up-tempo material like her much-lauded recording of "It Don't Mean A Thing" to sensitive treatments of ballads like "I Got It Bad And That Ain't Good" which place her alongside the likes of much better known peers as Billie Holiday. This great value 50-track 2-CD set primarily comprises recordings with the Ellington orchestra for the Brunswick, Columbia, RCA-Victor, Variety & Master labels across the era, including the 1942 pop and R&B hits "I Got It Bad" and "Hayfoot, Strawfoot", plus later solo recordings for the Excello and Black & White labels, including her 1944 hit "Mexico Joe". It also includes a version with Duke of "All God's Chillun Got Rhythm" which she performed in the 1942 Marx Brothers movie "A Day At The Races". It's a thoroughly enjoyable and, we hope, nicely representative overview of the most important period of her career and a fine showcase for a distinctive performer who has not received the recognition her talent merits.
1 It Don't Mean a Thing
2 Delta Bound
3 Happy As the Day Is Long
4 Get Yourself a New Broom
5 I'm Satisfied
6 Ebony Rhapsody
7 Troubled Waters
8 Cotton
9 Truckin'
10 Isn't Love the Strangest Thing
11 Kissin' My Baby Goodnight
12 Oh, Babe ! Maybe Someday
13 Shoe Shine Boy
14 I've Got to Be a Rug Cutter
15 My Honey's Lovin' Arms
16 Did Anyone Ever Tell You'
17 There's a Lull in My Life
18 The Old Plantation
19 Alabamy Home
20 All God's Chillun Got Rhythm
21 If You Were in My Place
22 Carnival in Caroline
23 Swingtime in Honolulu
24 You Gave Me the Gate
25 When My Sugar Walks Down the Street
1 Watermelon Man
2 La de Doody Do
3 In a Mizz
4 I'm Checkin' Out, Goom Bye
5 A Loney Co-Ed
6 You Can Count on Me
7 Killin' Myself
8 Solitude
9 Stormy Weather
10 Mood Indigo
11 So Far, So Good
12 Me and You
13 At a Dixie Roadside Diner
14 Five O'Clock Whistle
15 I Got It Bad
16 Rocks in My Bed
17 I Don't Mind
18 Hayfoot, Strawfoot
19 Mexico Joe
20 Play Me the Blues
21 On the Sunny Side of the Street
22 You Ought to Know
23 He's Tall, Dark and Handsome
24 Empty Bed Blues
25 Big Butter and Egg Man
Ivie Anderson


text:
Andrea Palladio and Contemporary Architects. Zaha Hadid Architects / AURA
2008 | Architecture | Curatorial | Curator
Location/City
Via dei Turisti, 9, 30034 Mira VE, Italy
Giulia Foscari
Zaha Hadid and Patrick Schumacher
Architecture Biennale of Venice
Collateral Event
La Malcontenta
Idee and Design GmbH, Manufacturing | Zumtobel, Lighting
Via Nicolo' dei Conti, Mira, Venice
Zaha Hadid and Patrik Schumacher – when invited by curator Giulia Foscari to initiate a dialogue between contemporary architects and Palladio in occasion of the 500th anniversary of Palladio's birth – focused their study on three rooms, conscious that exploring the logic and relational system of such room they would have addressed and captured the essence of Palladio's architectural theory.
The room chosen is in the Piano Nobile of Villa La Malcontenta, a building designed by Palladio in 1555 for a site along the Brenta River. The linear proportions of this room thus constitute the starting point for Zaha Hadid's study. The frequency curves generated by the harmonic proportional system of the villa are progressively transformed, through mathematical algorithms, to define a "genotypic elementary space that contains in its DNA the whole Palladian set of rules". As a result, multiple complex spatial environments are generated through lawful variations of Palladio's classical proportions. In such way, within the void of one room of this architecture "Aura" is generated as a spatial morphology that reflects the structure of this void, the skeleton of this ethereal space.
© Luke Hayes
© Orch
[MORE IMAGES]
© Zaha Hadid Architects, Courtesy of Zaha Hadid Architects
[Zaha Hadid Architects]
[La Biennale di Venezia]
[Venice]
[Italy]
[Andrea Palladio]
[RELATED PRESS]
Other Architecture:
Villa Cornaro Art Foundation
2018 | Italy | Cultural
Kunsthalle Bielefeld Cultural Masterplan
2017 | Germany | Cultural
Partners in Design. Alfred H. Barr Jr. and Philip Johnson
2017 | Germany | Exhibition Design
Partners in Design. Alfred H. Barr Jr. and Philip Johnson is an exhibition that reflects upon the collaboration between Alfred Barr, first director of the Museum of Modern Art in New York (MoMA), and the architect Philip Johnson, unveiling the legacy of their work in the 1930s.
Nomadic Bookstore
2017 | Italy | Academia
Designed by the students of the AA Museum Lab, a Diploma unit of the Architectural Association School of Architecture in London, the Nomadic Bookstore for Lars Müller Publishers is intended as a manifesto of the relevance of books in the context of the expansion of the digital.
Procuratie Vecchie
2017 | with OMA | Italy
Conceived as an integral component of Piazza San Marco since its original instalment in the XII century, the Procuratie Vecchie underwent a series of radical alterations as part of the historical mutations of the Foro Marciano as a whole.
ELEMENTS OF VENICE
2014 | Italy | Exhibitor
2013 | at OMA | Brasil
Conceived as a mixed-use building in the heart of Sao Paulo, RPJ project challenges the proliferating tower typology of the Brazilian CBD by inserting in the urban context a 200m long slab.
Quotidian Architecture
2010 | Hong Kong | Curator
Inspired by the colloquial Chinese phrase for the necessities of daily life - 衣食住行, 'Quotidian Architectures' asks architects, artists, activists, educators, industrialists, and governmental agencies to re-envision the necessary choices we make every day: What we wear, what we eat, where we live, how we travel, what we learn, how we relax. These seemingly simple decisions of individual inhabitants collectively contribute to the overall environment and lasting well-being of a city. 'Quotidian Architectures'
MTR Railway Vision 2020
2010 | at OMA | Hong Kong
Railway vision 2020 aims to enhance the experience of travellers and visitors to the stations of the Mass transit Railway: it is also conceived to improve the operation of the system. It leaps into the design, technology and operation as its vase: it offers new outlooks based on the current solid, robust design and operation that everybody in Hong Kong already know and appreciated. A new design that attempts to make a shift to the future and be realistic at the same time is envisioned.
The West Kowloon Cultural District confronts OMA with the task of turning an overwhelming governmental ambition, with a bewildering diversity of stakeholders, translated in a massive amount of real estate with an incredible richness of program, into a proposal that is fun and serious, planned and spontaneous, large but intimate, Chinese but international, iconic but practical, understandable yet surprising. To avoid the shock of imposing overwhelming change, OMA has chosen as the main model of the project a typology with which every citizen of Hong Kong is familiar: the Village.
The design for the Edouard Malingue Gallery in Hong Kong envisions the juxtaposition of two contrasting spaces: an enclosed and refined environment for exhibiting art and a raw open space for the gallery's administration areas.
Pöllan
2007 | Austria | Residential
The project consists in the renovation of a 16th Century listed building in Carinthia, Austria. The property was in the state of a ruin, as the construction was interrupted abruptly with the Thirty Year's war (1618-1648) and the building was never completed. The renovation project thus entailed not only restoring the building for residential use, but de facto completing it and at the same time retroactively connecting it to all infrastructural systems, such as acqueduct, sewers, elecritity, etc. The design intent was that of allowing the caratcter of unfinished building to remain legible and respect the structural integrity of the historic fabric.
2007 | Italy | Residential
A residential project facing the Pantheon in Rome.
From favelas to parametric Cities
The phenomenon of favelas – in the multitude of forms in which it presents itself in different parts of the world – is an event that involves, today, a billion people and that will affect two billion in the short span of a couple of decades.


text:
August 16, 2020 . 'Hoos Life
HOOS LIFE: Huff Returns to UVA After Busy Offseason
Redshirt senior Jay Huff is coming off his best season at Virginia, averaging 8.5 points, 6.2 rebounds and 2.0 blocks for the 23-7 Cavaliers. Huff's season was highlighted by his near triple-double of 15 points, nine rebounds and 12 blocked shots in a win against Duke at John Paul Jones Arena. Hoos Life caught up with the Durham, North Carolina native to discuss his redshirt junior season, his recent engagement, the return to Grounds, goals for 2020-21 and how he's handled time at home during the pandemic.
Q: How does it feel to be back on Grounds and training with your teammates?
Huff: It feels great being back on Grounds! It feels like it's been forever since we've been here and been together. This has been the longest stretch of not seeing my teammates and coaches in four years. It's crazy looking back on how last year ended because it feels like so long ago.
Q: How different or difficult has it been training at JPJ with all of the necessary safety precautions during the pandemic?
Huff: It has definitely been different, especially without access to the locker room. We also don't have access to the gym whenever we want, since we have to get our temperature checked every time we go in. It's definitely hard, but at the same time I feel like this team has adjusted really well to the challenge.
Q: Your 2019-20 season was filled with highlight-reel dunks, blocks, 3-pointers and an epic performance vs. Duke. What were your biggest takeaways from the season?
Huff: My biggest takeaway was that we won our last eight games despite them being really, really close. That showed a lot about what our team was capable of and how resilient we were. A lot of people were writing last year off as a rebuilding year and while we tried to ignore most of the outside criticism and hype, I took that a little bit personally and used that as fuel to work harder.
Q: What did you to do to prepare this offseason to be ready for the 2020-21 season?
Huff: Since I didn't have access to all the workout equipment we typically have, I decided to do some less conventional workouts. For starters, I did some yoga throughout the summer, which I think helped with my flexibility as well as core strength. I also chopped a lot of wood, which is really just a great workout in general. I feel like I got a lot stronger. My dad and I also decided to put a punching bag up in the garage, so I used that as well.
Q: What are your goals and expectations for your fifth and final season?
Huff: Assuming we can safely have a season, I think my goal is simply to try to take this team as far as it can go. Obviously, I have expectations for myself to play well and hopefully give myself a chance to play at the next level, but my goals come second to the goals of the team.
Q: You battled Mamadi (Diakite) in practice for four seasons. What did you learn from those battles and what can you teach or do to help the younger or less experienced guys like Francisco (Caffaro) and Kadin (Shedrick)?
Huff: I really learned a lot of subtle things from Mamadi, similar to things I learned from guys like Jack Salt and Isaiah Wilkins. There are little tricks when posting up or guarding in the post that I use now from time to time. I also just learned a lot of face up post moves from Mamadi that he was really good at, largely due to how quickly he moved his feet.
Q: You submitted your name for the 2020 NBA Draft. What do you hope to gain by going through the process?
Huff: I wanted to see what my chances were going into the 2020 NBA Draft versus staying for another year, as well as wait and see how the coronavirus situation played itself out during the course of the summer.
Q: Who are your role models and why?
Huff: I have a lot of role models with my parents being two of the biggest. They've both supported me through really hard times and through a lot of adversity. They also let me make a lot of decisions on my own as I've gotten older, which I really appreciated. My old youth pastor, Brad, is also one of my role models. He has taught me a lot about God and the Christian life that I didn't know before, and always has an interesting take on life.
Q: What have been your best memories during the past four years?
Huff: While I've had a lot of great memories on the court (such as the Duke game) I can honestly say that a lot of the memories I really cherish are the ones I've made off the court. I met my bride-to-be Lindsay Knights, which has been the greatest blessing I could ever ask for. She makes my life so much better and all the support she has given me has meant the world. On top of that, I have made friends who will be friends for life, and all the late night Cook-Out runs, hikes, Bible studies, and other fun times we've had together have been amazing. There have been so many great memories that I've made at this University, and I'm really grateful.
Q: The 2020-21 UVA men's basketball roster includes five North Carolina natives, including Justin McKoy (Cary), Trey Murphy III (Durham), Carson McCorkle (Greensboro), Kadin Shedrick (Raleigh), and yourself (Durham). What can you tell us about that group?
Huff: All I can say is that North Carolina is called the Hoop State for a reason. I really do think there is something special about North Carolina basketball, and guys that come out of there tend to be hard working as well as talented. Just from the few practices we've had I can tell these guys fit that bill.
Q: What has your alter ego, Sean Doubletary, been up to lately? Any plans for encore performances in 2020-21?
Huff: Sean took some time to go on a cross country trip in a hippie van, but it broke down somewhere in Albuquerque. Last I heard he was hitchhiking his way back here, but he's not very good with directions and somehow ended up in Denmark (don't ask how that happened). As soon as he can figure out a way to get back to the states, you can expect to hear from him again. I think he's even mentioned starting a game show, which seems to be pretty popular these days.
Q: How well did you handled the pandemic at home in North Carolina and what else did you do to stay busy?
Huff: I felt like I handled it pretty well, given the circumstances. There were definitely days that were harder, but luckily I was able to see my fiancé a good amount and I also got to spend a lot of time with family. I even got to see some friends around the campfire (socially distant of course). Overall, I think I did pretty well.
EDITOR'S NOTE: During this time of non-competition, UVA athletics will be posting frequently on VirginiaSports.com to keep you up to date with the happenings, experiences and thoughts of our student-athletes, coaches, staff and alumni. We encourage Wahoo fans to share these links on your social media accounts for others to enjoy. We also suggest you follow the University's website – news.virginia.edu – for more stories and information. #GoHoos
Cavaliers lead Yellow Jackets 24-16 at halftime
HOOS LIFE: First Year Council Representative Charles Braff
'Hoos Life
HOOS LIFE: Carl Söderlund - Home on the Range


Classic Mahogany Extendable Regency Table - Enhance your dining experience with the gorgeous classic. The Regency Table is contructed from rich natural wood elements including the figured Mahogany top and accents of Rosewood, Satinwood, Ebony. The pedestals are supports with fluted splay legs with brass accents. Two 24 inch leaves allow expansion from 80" to 128" in length.


text:
Q: Object is returned before promises have time to resolve I am trying to build a web scraper to get informations about some products and store them inside a database. I'm getting the HTML source code with Nightmare (because javascript code has to run on the server before the page content is created) then I'm parsing that source with Cheerio. Once I do the parsing there are some images I have to download for the products. I have a simple download function and, based on if the image which I'm trying to download is available or not on the server, I'd like to return a string (or an array of strings) containing either the image name (which I downloaded) or a default image name from my computer. I tried calling the download function as a promise, I tried passing Promise.all() when I know there are multiple images to download, but to no avail. While I'm positive my code is working (the images are downloaded as should, the final object looks great at almost every property and value), it is the images properties fields which, when I'm printing the object to the console, still holds [Promise] / [ Promise {  } ] and I'm not quite sure how to solve this matter. I'm positive those promises resolve, but they're not resolved when I'm outputting the resulting object to the console. And that's a problem, 'cause I have to pass that object to be stored in the database and I don't think they'll be resolved then.
The code (minus the exact links) is down below:
const cheerio = require('cheerio')
const nightmare = require('nightmare')()
const download = require('image-downloader')

const settings = new function() {
    this.baseURL = 'https://baseurl.whatever'
    this.urlSearch = `${this.baseURL}/Product/Search?keyword=`
    this.urlVariant = 'https://cdn.baseurl.whatever/Variant/'
    this.urlProduct = 'https://cdn.baseurl.whatever/Product/'
    this.imgPath = './img/'
}

var review_id = 0

function downloadImage(url, filepath, success, error) {
    return download.image({ url, dest: filepath }).then(success, error)
}

const url = 'https://someurl.nevermind.meh/product?pid=50M3NUMB3R',
      code = '50M3C0D3'

async function scrapeProduct(code) {
    const product = await nightmare.goto(url)
        .wait()
        .evaluate(() => document.body.innerHTML)
        .end()
        .then(body => console.log(loadProduct(body, code)))
        .catch(err => console.log(`There was an error: [${err}]`))
}

function loadProduct(body, code) {
    $ = cheerio.load(body)

    return {
        title: $('li.LongName').text().trim(),
        category: $('a#categoryTitleLink').text().trim(),
        min_price: parseFloat($('span.MinPrice').text()),
        max_price: parseFloat($('span.MaxPrice')?.text()) || parseFloat($('span.MinPrice').text()),
        points: parseFloat($('div.AddtoCartUnderText span').text()),
        variants: [...$('div.productDetailClassicRnd')].map(variant => {
            const $field = $(variant).find('input'),
                  item_code = $field.attr('item_code')

            if (item_code.split('-')[0] == code) return null

            return {
                code: item_code.split('-')[0],
                title: $field.attr('item_name'),
                image: downloadImage(
                    `${settings.urlVariant}${item_code.replace(' ', '%20')}`,
                    `${settings.imgPath}${item_code}`,
                    result => result.filename.split('/').reverse()[0],
                    _ => 'variant_default-VC.jpg'
                )
            }
        }).filter(variant => variant !== null),
        images: [...$('img#imgProduct')].map(image => {
            const $image = $(image),
                  source = $image.attr('src')

            return downloadImage(
                source,
                `${settings.imgPath}${source.split('/').reverse()[0]}`,
                result => result.filename.split('/').reverse()[0],
                _ => 'product_default.jpg'
            )
        }),
        other_images: [...$('img.productDetailOtherIMG')].map(image => {
            const $image = $(image),
                  source = $image.attr('src')

            // Check if the other image is not a default one
            if (/default_\d{1,2}/.test(source)) return null

            return downloadImage(
                source,
                `${settings.imgPath}${source.split('/').reverse()[0]}`,
                result => result.filename.split('/').reverse()[0],
                _ => null
            )
        }).filter(other_image => other_image !== null),
        how_to_use: $('span#HowToUse p')?.text().trim() || "",
        technical_description: $('span#TechnicalDescription p')?.text().trim() || "",
        product_description: $('span#ProductDescription p')?.text().trim() || "",
        bought_with: [...$('a.redirectProductId')].map(item => $(item).attr('href').match(/=(\d+)$/)[1]),
        rank: $('div.productAverageMainDiv').find('i.activeStar').length,
        reviews_count: parseInt($('span#spnReviewCount').text()),
        reviews: [...$('div.customerReviewsMainDiv')].map(review => {
            const $review = $(review)

            return {
                id: ++review_id,
                author: $review.find('div.customerName').text().trim(),
                posted_at: $review.find('div.starIconsForReviews span').text().trim(),
                rank: $review.find('span.productAverageMainDiv').find('i.activeStar').length,
                message: $review.find('div.customerReviewDetail span').text().trim()
            }
        })
    }
}

scrapeProduct(code)

I can't even filter the null values from my resulting array of image names because those promises don't resolve once I reach the filter function. I somehow was under the impression that
images: downloadImage(
    URL,
    filepath,
    resolve() {},
    reject() {}
)

will wait until the downloadImage function returns a value to the image property and then the filter function will be executed. On the other hand, given that I guess the execution flows to filter function long before my downloadImage function has any chance of resolving the promise, I'd chain a .then() to the downloadImage, but I can't, because the downloadImage is inside the return of the map() function - which is the one followed by the .filter() function in the code.
Any help would be much appreciated! Thank you!
P.S.: I'm pretty sure there's something elementary (logical) which I'm overseeing or I didn't understand properly and I apologize for wasting your time, but I'm struggling with this thing for two days now and I don't seem to have any more ideas ^_^

A: You are getting an array of Promises returned by the map() method, so you will need to use Promise.all() or one of its variants.
For example, here you get the array of promises of "images", then you use Promise.all() to wait for all promises to be resolved, and finally you chain a then() to use the values.
    const imagesPromises = [...$('img#imgProduct')].map(image => {
        const $image = $(image),
                source = $image.attr('src')

        return downloadImage(
            source,
            `${settings.imgPath}${source.split('/').reverse()[0]}`,
            result => result.filename.split('/').reverse()[0],
            _ => 'product_default.jpg'
        )
    })

    return Promise.all(imagesPromises)
        .then(images => {
            return {
                images,
                ...
            }
        })

And here you have a possible implementation:
function loadProduct(body, code) {
    $ = cheerio.load(body)

    const result = {
        title: $('li.LongName').text().trim(),
        category: $('a#categoryTitleLink').text().trim(),
        min_price: parseFloat($('span.MinPrice').text()),
        max_price: parseFloat($('span.MaxPrice')?.text()) || parseFloat($('span.MinPrice').text()),
        points: parseFloat($('div.AddtoCartUnderText span').text()),
        variants: [...$('div.productDetailClassicRnd')].map(variant => {
            const $field = $(variant).find('input'),
                  item_code = $field.attr('item_code')

            if (item_code.split('-')[0] == code) return null

            return {
                code: item_code.split('-')[0],
                title: $field.attr('item_name'),
                image: downloadImage(
                    `${settings.urlVariant}${item_code.replace(' ', '%20')}`,
                    `${settings.imgPath}${item_code}`,
                    result => result.filename.split('/').reverse()[0],
                    _ => 'variant_default-VC.jpg'
                )
            }
        }).filter(variant => variant !== null),
        how_to_use: $('span#HowToUse p')?.text().trim() || "",
        technical_description: $('span#TechnicalDescription p')?.text().trim() || "",
        product_description: $('span#ProductDescription p')?.text().trim() || "",
        bought_with: [...$('a.redirectProductId')].map(item => $(item).attr('href').match(/=(\d+)$/)[1]),
        rank: $('div.productAverageMainDiv').find('i.activeStar').length,
        reviews_count: parseInt($('span#spnReviewCount').text()),
        reviews: [...$('div.customerReviewsMainDiv')].map(review => {
            const $review = $(review)

            return {
                id: ++review_id,
                author: $review.find('div.customerName').text().trim(),
                posted_at: $review.find('div.starIconsForReviews span').text().trim(),
                rank: $review.find('span.productAverageMainDiv').find('i.activeStar').length,
                message: $review.find('div.customerReviewDetail span').text().trim()
            }
        })
    }

    const imagesPromises = [...$('img#imgProduct')].map(image => {
        const $image = $(image),
                source = $image.attr('src')

        return downloadImage(
            source,
            `${settings.imgPath}${source.split('/').reverse()[0]}`,
            result => result.filename.split('/').reverse()[0],
            _ => 'product_default.jpg'
        )
    })
    const otherImagesPromises = [...$('img.productDetailOtherIMG')].map(image => {
        const $image = $(image),
              source = $image.attr('src')

        // Check if the other image is not a default one
        if (/default_\d{1,2}/.test(source)) return null

        return downloadImage(
            source,
            `${settings.imgPath}${source.split('/').reverse()[0]}`,
            result => result.filename.split('/').reverse()[0],
            _ => null
        )
    })

    return Promise.all(imagesPromises)
        .then(images => {
            result.images = images
            return Promise.all(otherImagesPromises)
        })
        .then(otherImages => {
            result.other_images = otherImages.filter(other_image => other_image !== null)
            return result
        })
}

scrapeProduct(code).then(product => console.log(product))

redpajama_set_name: RedPajamaStackExchange


text:
Q: Button doesn't work after I put them into named functions I write some JavaScript code, when I write them in anonymous functions like

"button.onclick = function() { some code; };,
It works normally. But when I try to write as

foe.onclick = myFunction();
function myFunction() { same code here; }

Then nothing happens when I click the button. I try to add alert in myFunction() and it appears immediately after the page is load. Why this happened?

A: You need to change from
foe.onclick = myFunction();

to
foe.onclick = myFunction;

A: When you use the function call with parentheses, you are calling the function. So, when you use:
foe.onclick = myFunction();
It actually executes the function at this point and returns the value for onclick to use.
You can also use:
function myFunction () {
   return anotherFunction();
}
foe.onclick = myFunction();

Here, anotherFunction would be called when you click foe element.
As Xin points out, you can use:
foe.onclick = myFunction;

to call myFunction on clicking the element. In Javascript, functions can be referenced and passed like variables :D


Tokyo Auto-Otaku Shenanigans: Daikanyama Morning Cruise meet, Part 1 of 2.
It's been a long time but i've finally made it for another one of T-Site's fantastic Cars and Coffee-esque morning meet ups! Dubbed, "Morning Cruise". For one reason or another, i've never had much luck with these meets on my previous visits to Tokyo but this time, it's happening! And on the day i was scheduled to fly back to Singapore no less. Luckily for me, it was an afternoon flight, which left the morning open to hit Daikanyama bright and early!
With Daikanyama being a rather upmarket residential area, there'll always be some pleasant automotive sights to take in on the way to T-Site.
I might have arrived a full 30 minutes before the actual starting time of the meet but quite a number of lots had already been taken. This 308GTB was quite a sight to see in the morning. This 308 has been one of my dream cars ever since i was a young boy. My passion still remains strong even though my pockets are still somewhat shallow.
The era that defined Ferrari for me. Just love their gorgeous lines.
I am perpetually jealous of countries where one can pick up a used Abarth 500 for pretty reasonable money. These little pocket rockets sure look like a lot of fun to throw around.
Speaking of cars that enjoy being thrown around bends, these trio of classic minis started to roll in. Yes, that's an R34 GTR behind. This IS Japan after all!
Right next to the R34 was a lovely 4-door Hakosuka. No GT-R badge pretender here, this one wears its 2000GT badge with pride.
Check out the BEE-R sticker!
Another Kyusha that rolled in early, an Isuzu Bellel Special from the 1960s.
Small Turbocharged Inline-4 rocket, meet big Naturally Aspirated V10!
Yes, a Rover 800 next to the M5. I don't know why either but i'm pretty sure the owner loves the car. Check out those matching plates.
Another NA powered German. This C43 was sitting discreetly in a corner.
I think this Caterham attends pretty much every morning cruise. Love those air filters!
An ultra rare, hand-built exotic parked next to one of the Kings of JDM cult cars. This is Japan.
This Panda was a Coupe! A good looking one too.
Displaying some swag from a previous Gazoo Racing themed meet.
The theme of this morning's meet? British cars with over 500 horsepowers. So yes, there was a number of Astons in attendance.
Same formula, different time period.
What do you call a trio of classic minis?
Boxy (but good) Volvo 240 wagon parked up next to the curvaceous 308.
The cars kept rolling in. This Elise had a rather unique colour combination.
Beautiful E24 Shark-nosed M6. One of BMW's loveliest coupes ever penned.
As the M6 parked up, the owner popped open the bonnet to reveal a really clean engine. But it was something i saw inside the cabin that piqued my interest.
An Automatic M6? I never knew they made these in Automatic. Or could it have been an aftermarket retrofit?
Can't get enough of this body shape. Paired with that S38 engine, it must still be a lovely drive even with a slush box.
How do you like your motoring?
These 300ZX Fairladies can be quite nice to look at, especially in 2-seater form.
Unfortunately, when parked up next to a Morgan Plus-6, it will inevitably be overshadowed.
This Morgan is just a stunner.
Must be amazingly lovely to drive one of these through Tokyo in the Spring.
No need for any booming sound system here. Just a driver, the car and the World's elements surrounding them.
Of course there were no shortage of Porsches.
I like how the wheels on the 996 are colour matched. Nice touch!
The 996 was a manual too. Extra points!
Elise crashing a Porsche party.
Another sweet little Abarth. I need one of these in my life!
Can't have a Cars and Coffee style meet without at least one Roadster/Miata/MX5 right?
Fantastic looking Step nosed Alfa.
With prices of the R32 and R34 GTRs skyrocketing, most of Tokyo's power hungry drivers have begun buying and tuning up the R33s. Let's hope R33 values will stay sane for a while.
Interestingly, while most people tend to favour its younger or older sibling, the R33 was my go to GTR of choice because this generation of Skyline was what i aspired to when playing the original Gran Turismo and what i lusted over when watching low-resolution videos of. I even kept a stable of R33 GTRs in Gran Turismo, all tuned differently and each used for a different purpose. I even broke an online Laguna Seca lap time record in one of them (it was an all black R33 running on black Yokohama Advan wheels) but back then, with no way to verify the run except a crappy photo of my tv screen, i had means to prove my run was legit. Sad.
There were probably as many Lotuses around as there were Porsches.
I think another title will probably never happen again. At least not anytime soon.
Like the Abarth 500, i think this Suzuki Alto Works will be a little barrel of laughs up and down the mountain passes. Gotta love these spirited Kei cars.
I really cannot remember when was the last time i saw a Citroen BX. But here's one parked next to an Aston Martin Rapide.
First time seeing a Jag Mark II cabriolet. Pretty.
In keeping with the British theme as well, a Jensen Healey then came in. It had a rather fruity exhaust note.
Not quite in the same segment i'm guessing.
Great looking Sunny. USDM style.
I think this Audi 100 is right up there with the Rover 800 in terms of curiousness. Pretty amazing how far Audi exteriors have gone from this very understated Bauhaus design language of the 80s to today's gigantic front grille monstrosities.
Keeping things minimal still are Smart cars. Their latest cars might have an enlarged front grille, but i think they've managed to avoid become too vulgar with their aesthetic.
Hopefully BMW avoids going down Audi's path with their latest cars, but going by the looks of things, i might be wrong.
Now, with most of the other cars covered, it's time to get ourselves back on-theme with some good old British firepower. Aston Martin really are masters at penning beautiful coupes as this Vanquish S shows. It really has aged rather well don't you think? This design is almost 18 years old and yet, it still looks stunning and relevant today.
This particular Vanquish S was sitting on a set of beautiful HRE wheels too.
A more current interpretation of the Vanquish. Which do you prefer?
DB11. I think this is Aston's most beautiful car that they have on sale now. Lovely classic proportions with some very modern touches. What a lovely shape.
Another DB11, sitting next to a McLaren 650s.
All those louvres in the bonnet can only mean one thing, V12.
McLaren 650s and 570s. They look rather similar from far no?
Another 570s, this one's in purple, great colour choice!
Slightly less great colour choice.
If you asked me which Mc-daddy is my pick of the bunch? It'll have to be the 720s. I LOVE how it looks. I LOVE that intake/headlight combo. So distinctive, so unique and gives the car so much character.
How do you like your British Horsepower served?
If i had to choose one, i'd take the older (and prettier) Arnage.
Allied powers to the rescue! And with that, end of part 1!
Stay tuned for Part II where i've saved some of more interesting autos (interesting to me at least). Till then, happy motoring!


If you update your polish nearly as often as you check your Twitter feed, you're not alone. We designed this share-worthy custom collection with Color Club for all the social media addicts out there. You'll be inspired to tweet, pin, tag, and post these four gorgeous shades with your followers.
This color was actually a lot of fun. The polish wasn't too thick or sticky so I had no problems when painting my nails.
Beautiful color! It had very good staying power as well!
I received this nail polish in my December 2012 box...here we are 7/2016 and I still LOVE this!!! So pretty and last longer than normal polish!
Love this color! So shiny and different! Thanks birchbox!
I loved this product, I got a bright blue color that is actually perfect for spring and summer. Almost a royal blue. It lasted a full week too!
I really lo this color and I haven't seen many others like it until recently. My only issue is that it chips really quickly and doesn't last on the nails long.
i really loved this nail polish- it seemed to last a few days longer than other nail polishes and the color is very flattering.
It's a fun color, but not the best formula I've used. Comparable to pretty much any drugstore nail polish I have.
This color came out great, and I would buy again. Long lasting, but somewhat difficult to remove. This brand has consistently delivered great results.


Hot yoga is a physical vinyasa yoga practice in a heated room designed to strengthen and stretch the entire body. The heat and the postures help soften the muscles and allow the body to safely move deeper into poses. The heat also helps to detoxify and rejuvenate. All levels are welcome to this class, but having some experience with vinyasa yoga may help you feel more comfortable.
Our Far Infrared-heated yoga room will provide you with a focused heat that works with your body's own energy to raise room temperature as you move through your practice.
Please note: Hot yoga is not recommended for people with heart or lung conditions, or who have not engaged in exercise on a regular basis.


When it comes to cleanliness then it is imperative to your premises since it determines the appearance of the building. Pressure washing is needed if you are to perform the noble duty in the right way but doing it yourself can be a little complicated more so when you are busy. It is for this reason that you cannot afford to overlook the works of the expert washing companies. You should make sure that you select the right company so that you can be assured of some quality work. It can be challenging since there are many service provider who can confuse you when choosing the best for your job. Deliberated in this text are the guidelines that will assist you when hiring the works of the expert pressure washing firms.
It is essential that you ensure that you have not forgotten to examine the image that the company in the eyes of the people who may have utilized their services in the pat before you can resolve to employ them for the work. It is thus necessary that you see to it that you learn the opinions that the previous customers of the service provider hold about their services. It is necessary that you ensure that you have contacted some of these clients so that you can be sure that you will get the right information about the comp[any in question.
Do not let a company take the standard of their services as an excuse to overcharge you for the services that they are providing you. It is imperative that you do forget that cheap is not always the best and thus do your research well before you hire the services of the company. It is wise that you ascertain that the firm you are selecting for the work is one that will not ask for money when they are examining your property.
It is crucial that you confirm that you are hiring the services of a firm which is protected against the risks that are associated to pressure washing because the task can lead to destruction of property. It is in this way that you will be assured that you will be paid for any damages that may happen when the firm is discharging their duty.
It is not debatable that one of the primary causes of employing the services of the pressure washing firms is that you do not have the skills that are employed in operating the devices used in the work. It is for this cause that you cannot afford not to confirm that the employees of the company in question have the needed skills to do the job. It is imperative that you see to it that you seek for some paper to ascertain that the workers have the required expertise in the field.


Did she or didn't she? On the Sunday, April 10, episode of I Am Cait, Kris Jenner denies knowing that Caitlyn Jenner was transgender "early on" in their relationship.
In a preview clip for the upcoming episode, Kris, 60, and Caitlyn, 66, are joined by several of Caitlyn's pals during a dinner. The conversation quickly turns to the former couple's relationship, and whether the Kardashian-Jenner matriarch was aware of Caitlyn's hormone treatments back in the '80s (the pair tied the knot in April 1991).
"Now that she has done the presto change-o, does it in any way make you question yourself and who you were at that time?" one of Caitlyn's friends asks Kris.
"No," the reality star answers after a beat.
"Did she tell you early on?" the pal presses.
Kris adds that while Caitlyn had told her about "messing around" with some kinds of drugs during the '80s, there was never any mention of estrogen or the like — a point that Caitlyn refutes.
PHOTOS: Caitlyn Jenner's Best Style Moments (So Far!): See the Photos!
Nevertheless, the exes welcomed Kendall shortly afterward, and Kylie two years later.
"My version of what happened in the beginning was obviously very different than her version," Caitlyn concludes.
Watch the clip above to see what else the pair said about their shared past. I Am Cait airs Sundays on E! at 9 p.m. ET.


Let's face it – many homeowners feel stuck. Given all the economic changes over the last few years, many owners can't move because they don't have the financing, but they can't afford to remodel, either.
Maria, owner of Global Family & Home Care, understands that most home owners need to look for inexpensive ways to update their homes; consequently, she decided to use her organizing experience and decorating passion to add "home space-lift" services to the rest of the services she already offered through her home care business: Global Family & home Care. "home space-lift" is a service that makes your space feel fresh and exciting in a short time!
Maria assesses your home and you tell her which areas you want to change most. She then creates a design plan by rethinking each room's purpose, removing clutter, and enhancing aesthetics. She brings taste and a perceptive eye to every project. For the most part, Maria works with the furniture and accessories you already have, saving you some money. In the event you may decide to add or change a piece of furniture, she will suggest several places with very reasonable prices.
Maria explains that, "sometimes an old office can be turned into a cozy living room"; a dining room can be expanded to meet family needs by changing the configuration of the dinning set or switching it with the living room. Empty spaces can be turned into cozy reading areas or private homework spaces for the children. A cluttered corner can become a small office and library. She also adds that "an outdated kitchen can be transformed with a little bit of paint and new cabinet hardware".
After Space Lifting: Adding color to one wall, rearrangement of pictures and adding some pattern to your curtains will transform your living room. Adding a pattern area rug, re-positioning a large painting, and changing a lamp shade of your dining room will give a new modern look to your old dining furniture.


text:
Boston Weather: 27.0°F | Partly Cloudy
Volume 131 >> Issue 42 : Tuesday, October 4, 2011
joseph maurer—The Tech
Admissions Counselor Chris Peterson directs a new MIT Admissions video — a tour of MIT led by Tim the Beaver set to, and incorporating motifs from, the song "Pure Imagination."
Ambitious goals at State of the Institute
By Janelle Mansfield
In her Monday morning State of the Institute address, President Susan J. Hockfield spoke about MIT's preparation for the future in four main areas: attracting and retaining high-quality students, faculty, and staff; digital learning technology; encouraging the growth of this region's "innovation cluster"; and making strides in the area of advanced manufacturing.
Thousands come together in Occupy Boston protests
By Kit Haines
Last Friday at 6 p.m., several hundred people were already milling about Dewey Square by South Station in Boston. A man with buttons lining his hat took the megaphone to start the chant, "Whose city? Our city!"; Dan, it was explained to me, was an old face at protests in the city.
New off-campus places!
Exam season is starting up again! But if you decide to take a study break and get out of the bubble, you'll notice there are a few things right off campus that have changed since last semester.
Nobel Prize comes a bit too late
By Lawrence K. Altman
and Nicholas Wade
When a representative of the Nobel Foundation could not reach Dr. Ralph M. Steinman by telephone Monday to deliver the thrilling news that he had been awarded a Nobel Prize in Medicine for his breakthrough work in immunology, he sent him an email about the honor.
IN SHORT (10/4/11)
Police Log (10/4/11)
Can evolution explanations be found in slime? (10/4/11)
Shorts (left) (10/4/11)
Emails reveal White House concerns about Solyndra (10/4/11)
Shorts (right) (10/4/11)
TransCanada pipeline foes allege bias in State Department emails (10/4/11)
Mosque in northern Israel set on fire after series of similar attacks (10/4/11)
US budget crisis forcing
big cuts in foreign aid (10/4/11)
Popular African contraceptive might double women's risk of HIV infection (10/4/11)
Sunny, but chilly,
most of the week (10/4/11)
Lies, damned lies, and presidential reduction plans (10/4/11; 7 comments)
The Tech's predictions for the MLB postseason: AL/NLDS (10/4/11)
The State of Red Sox Nation: helplessness and uncertainty (10/4/11; 1 comment)
Men's soccer drops fifth straight, 1-0 to Williams (10/4/11)
MIT women's tennis sweeps Babson, 9-0 (10/4/11)
Sports Shorts (10/4/11)
UPCOMING HOME EVENTS (10/4/11)
CLUB CONNECTION Keeping track of the past (10/4/11)
Institute Double Take (10/4/11)
Events Oct. 4 – Oct. 10 (10/4/11; 2 comments)
Arts was not published this issue.


Legislative leaders have announced this year's "table targets," which are the additional funds that each budget subcommittee has to fund programs in addition to the spending proposed in the Executive Budget. In total, the budget committees have $275 million to spend. This table target agreement is another important step towards a final budget agreement.
There are still several sticking points in budget negotiations. While legislative leaders have focused on an on-time budget, the Governor has continually raised the possibility of a late budget. Some of the major outstanding issues include bail reform, congestion pricing in Manhattan, and school funding. The Governor has indicated that legalizing recreational marijuana will not be included in the budget.
The legislature and Governor have until April 1 to reach an agreement on an on-time budget.
A recent tragedy has highlighted the need for our state to provide increased protections for transportation workers.
Working on or near traveled roads is one of the most dangerous environments for CSEA members. Just this week, Dennis (Matt) Howe of Tioga County, a CSEA-represented Department of Transportation (DOT) worker, lost his life from injuries sustained when a vehicle collided with a DOT truck in an active work zone.
As part of the Executive Budget, Governor Cuomo proposed to increase protections for transportation workers. CSEA strongly supports the reforms proposed in Part II of S.1508B / A.2008A, including increasing penalties for assaults on certain workers, creating the crime of "intrusion into an active work zone" and establishing a public education and outreach program to increase motorist awareness of the importance of highway work zone safety.
The State Senate held a hearing this week touting proposals to use taxpayer funds to supplement private political campaigns. CSEA strongly opposes the idea of using public funds to pay for political campaigns. Our state has much greater needs to finance.
Please visit our website to learn more about this issue.
Village elections were held across the state this week. CSEA was involved in a handful of races on Long Island and in Western NY, and CSEA's endorsed candidate won in each case. Thank you to those members who volunteered in these races. Your hard work helped make a difference in these important, but often overlooked, local government elections.
The legislature is scheduled to be in session for five days next week, though it is likely that they will be in for at least seven days, as the state budget must pass by midnight on Sunday to be on time.


text:
Pavement parking could be banned in Sheffield
The government are consulting on plans to tackle dangerous parking, in a move that has been welcomed by Sheffield councillors.
One proposal could see the complete ban on pavement parking that has been in place in London since 1974 rolled out across the UK.
Cllr Bob Johnson, Sheffield's Cabinet Member for Transport, called on the government to give councils more power to tackle the problem.
"Obstructive pavement parking presents dangers for people with disabilities or mobility restrictions, and for parents with buggies," he said.
"It can also be dangerous for cyclists as cycle lanes often run on the footway. It's not good enough and it has to be dealt with."
Obstructive pavement parking presents dangers for people with disabilities or mobility restrictions, and for parents with buggies
The Department for Transport is consulting on three options in relation to pavement parking. These are:
a London-style nationwide ban
making it easier for councils to prohibit pavement parking
giving councils the power to fine offenders
Active travel organisations including Sustrans and Living Streets have backed a nationwide ban, with the latter saying the move would create "safer and more accessible streets."
Cllr Johnson said that Labour were calling for localised enforcement powers.
"Of course it is hard to impose a total ban on pavement parking, as sometimes there is no option but to park partially over a kerb given the nature of many of Sheffield's roads," he said. "But this should not be seen as an excuse across the city."
In June 2018, then cabinet member Cllr Jack Scott announced plans to ban pavement parking in Sheffield city centre, but this was quietly dropped in January 2019.
A bluntly-named Twitter account which documents some of the worst parking in Sheffield has since attracted thousands of followers.
Reply to the consultation
The government's public consultation on pavement parking is open until 22 November.
#parking #active travel
More News & Views
Glyn Rhodes "I just wanted to take my brain out of my head for a day"
Boxing trainer Glyn Rhodes tells Now Then about coming to terms with the sudden death of Scott Westgarth and the importance of men speaking up about mental health.
Heeley Farm CEO said 'don't apply for funding', claim staff
Anonymous staff members say they were blocked from applying for grants which could have sustained the organisation and its projects, as 17 workers face redundancy due to budget deficit of £100k.
New data on gender and sexuality provides a mixed picture for Sheffield
2021 census captures LGBT+ data for the first time – but there are serious concerns.
This early tree is a warning about our unsustainable planetary growth
Scale trees – huge, hulking structures which may have helped bring about an ice age which then destroyed them – are an apt metaphor for the present-day myth of infinite growth on a finite planet, writes Sheffield Green peer Natalie Bennett.


text:
Q: How to set all content in div html to center position I have problem to centering content in html. How I can centered html content (picture, text,..)?
How do I align the content (position center) that will be like in
this picture?
In html, i have foreach loop that get content from database:

                @foreach (var parameter in @Model.Values)
                {

                }

                @foreach (var parameter in @Model.Values)
                {

@parameter.Name

                }

                @foreach (var parameter in @Model.Values)
                {

@parameter.Description

                }

And css:
#values {
    position: relative;
    align-content:center;
    text-align: center;
    vertical-align: middle;
    align-items: center;
}

.value {
    position: relative;
    text-align: center;
    align-items: center;
    align-content: center;
    float: left;
    vertical-align: middle;
    font-family: 'Lato', calibri;
    bottom: 275px;
    left: 125px;
    width: 150px;
    margin-right: 245px;
    margin-left: 100px;
    margin-bottom: 2px;
    padding-bottom: 10px;
    color: white;
    font-weight: 700;
    display: inline-block;
}

But I do not get a result like the picture.
Actually, how can automatically adjust the content as in the picture...

A: Two potential problems:

*

*You're setting float: left; in the class .value which is applied to the img and the h6. Change this to float: none; or just remove this line entirely.

*Setting left: 125px; will position the img and the h6 125px away from their originally rendered position, since you've defined position: relative;. This is a very strange thing to do, and most likely won't result in centered images/text. Unless this effect is intentional, remove it.

A:     .row {
    background-color: #ccc;
    overflow: hidden;
    padding: 20px  0px;
}
.row-mid {
    width: 900px;
    margin: auto;
}
.blocks {
    width: 260px;
    padding: 0px 20px;
    text-align: center;
    float: left;
}
.blocks img {
    width: 100px;
}

Some Title

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Some Title

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Some Title

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

please check this http://jsfiddle.net/jayeshpp/477qacwd/

A: Just put  before starting the div and  after closing the div, like this:

                @foreach (var parameter in @Model.Values)
                {

                }

                @foreach (var parameter in @Model.Values)
                {

@parameter.Name

                }

                @foreach (var parameter in @Model.Values)
                {

@parameter.Description

                }

I've also created a CodePen and a JsFiddle for you.


Please use the video to have a listen right now and if you like….
In this meditation I combined all my favourite, somewhat spiritual in nature, positive affirmations into this track. This includes affirmations on abundance, health, love and life in general. Just the right combination to get you in the right frame of mind to tackle any day that may come your way.
Soul Coffee consists of 2 x meditations, each 22 minutes long.
Both meditations are designed as a coffee replacement. They have an entrainment track in them that cycles up from 15Hz to 30Hz, to get you properly rev'ed up and ready to go. They only differ in terms of the type of affirmations on each one (see Millionaire Mindset).
You will download a ZIP file which you need to Unzip to access the MP3 file.


text:
Un vertisol sau vertosol este un tip de sol în care există un conținut ridicat de minerale argiloase expansive, multe dintre ele cunoscute sub numele de montmorillonit, care formează fisuri adânci în sezoane sau ani mai uscați.

Vertisolurile se găsesc între 50°N și 45°S din ecuator. Principalele zone în care vertisolurile sunt dominante sunt estul Australiei (în special queenslandul interior și Noul Wales de Sud), Podișul Deccan al Indiei și părți din sudanul de sud, Etiopia, Kenya, Ciad (Gezira), Africa de Sud și râul Paraná inferior din America de Sud. Alte zone în care vertisolurile sunt dominante includ sudul Texasului și mexicul adiacent, centrul Indiei, nord-estul Nigeriei, Tracia, Noua Caledonie și părți din estul Chinei.

Micșorarea și umflarea vertisolurilor pot deteriora clădirile și drumurile, ceea ce duce la tasări extinse.Vertisolurile sunt utilizate în general pentru pășunatul bovinelor sau oilor. Nu se știe ca animalele să fie rănite prin căderea în crăpături în perioadele uscate. În schimb, multe ungulate sălbatice și domestice nu le place să se deplaseze pe acest sol atunci când sunt inundate. Cu toate acestea, activitatea de scădere-umfla permite recuperarea rapidă de la compactare.


text:
Zodiac | A
director: David Fincher
starring: Jake Gyllenhaal, Robert Downey, Jr., Mark Ruffalo, Chloë Sevigny, Anthony Edwards, Brian Cox, John Carroll Lynch
A quick word of warning. While this film is faithfully based on real-life events, I'm sure there are many people completely unaware of the full details of the case and its current status. Thus, it's probably not a good idea to read this review before first familiarizing yourself with the case and/or seeing the flick. If you've got next to no working knowledge of the story, then I'll just leave you with my urging to see the flick. It's great. Spoilers abound in the review below.
The epic film adaptation of the grisly Zodiac killings in 1960's San Francisco has arrived, courtesy of the reliable hands of director David Fincher. Aside from the fascinating story itself, Fincher is one of the great American directors working in film today, and his name in the credits is enough for me to hop onboard. The subject matter itself, though, is the big attraction here. I'll leave it to Wikipedia to summarize the high points:
The Zodiac Killer was a serial killer who operated in Northern California for ten months in the late 1960s. He coined his name in a series of taunting letters he sent to the press until 1974. His letters included four cryptograms, three of which have yet to be solved.
The killer's identity remains unknown. The San Francisco Police Department marked its investigation "inactive" in April 2004 and reopened it some time before March 2007. The case remains open in other jurisdictions as well. [Wikipedia]
I'll try to leave my analysis of the killings and surrounding hoopla out of my review and stick to the film elements themselves, but it's hard to separate the two. The story is so captivating that it's easy to become obsessed with it. In fact, after seeing the movie today, I headed to the bookstore to pick up Graysmith's two Zodiac books, "Zodiac" and "Zodiac Unmasked." If not for having to write this review, I'd probably already be ripping right through the first book while Googling any and all things Zodiac Killer. In fact, I think I need to go now. Wait, lemme finish the review first. It's that same obsessiveness to the events of the film and crimes that really serves as it's central theme. Everyone involved in the case became obsessed with it, hunting down every lead and tip with a singular focus, much to the detriment of the other facets of their lives (their families, chiefly). Marriages are ruined, the course of lives are changed, families are destroyed all as a result of the Zodiac Killer's homicidal traversal through Northern California.
The film itself, then. Fincher has really come into his own as a visual filmmaker–an actual artist, as it were. I hate using the term, "artist" whenever discussing filmmakers, but it's as much a visual medium as oil paints and sculptor's clay, so why not? You could snap a freeze frame of nearly every shot in the film and come away with something dynamic, bordering on true art. There's so much to see in every frame (and I don't mean "so much to see" in the vein of Star Wars: "oh look, there's a squirrel-shaped starship six miles away behind that flying wookiee!"). And to think there's two hours and forty minutes' worth of frames to look at.
That 2:40 running time shouldn't scare you off (if you haven't already seen Zodiac); while the film shifts in tone and pacing a couple of times, it's never to the point that you're bored or waiting for the next big, dramatic plot device. Once you witness the Zodiac's first onscreen murders, you're strapped in and ready to ride until the end credits roll. I keep using the word, "fascinating" too often, but the story is just that. You can't help but get wrapped up in it. When filmmakers are at the top of their game and have a great script/story to work with, length is a trivial concern. I could've sat through another two hours of screen time.
There's a dark, tense quality to the film's first acts; Fincher is a master at establishing this kind of foreboding tension, and he succeeds in maintaining it through much of the remainder of the film. There is some tension lost, however, around the 2-hour mark, which happens to coincide with the essential cooling off of the Zodiac case itself in the plot. While the movie doesn't suffer for it, the sudden shift in tone felt a bit weird, from the slightly more "upbeat" characterizations and even music. That's not to say that it all of a sudden becomes a buddy cop movie with big explosions, jokes and car chases–it's simply like experiencing a sudden change from night to day–both literally and figuratively in the narrative sense.
Acting-wise, I was impressed with most everyone. I'm not sure I like the casting of Gyllenhaal as San Francisco Chronicle cartoonist Robert Graysmith. I'm not familiar enough with the writer/cartoonist himself to make a judgment on who should portray him, but I don't think Jake brought enough age to the central role in the film. He's certainly not a bad actor–he does a good job here–it's just that when I think of the character sketch–"a political cartoonist working for a major newspaper who becomes obsessed with a series of high-profile serial murders and makes it his mission in life to help uncover the killer's identity"–I don't think of the gay cowboy from Brokeback Mountain. The guy playing chief suspect Arthur Leigh Allen is really great–it's amazing to think how many actors like him are working that most people don't even know about. Despite my earlier comments about Gyllenhaal, there's a scene near the end of the film between Graysmith and Arthur Leigh Allen that is just riveting, and if it took place in real life, is all the more powerful as it likely serves as the defining moment that led to Graysmith's real-life certainty that the Zodiac Killer was none other than Allen.
The conclusion to the actual film is altogether frustrating–but not because of any fault of the filmmakers. On the contrary, it's an excellent film from frame one to the end credits. It's the reality of the film's story that frustrates because this is a case that was never concretely solved. Graysmith (and Fincher) certainly target one particular suspect against whom all the evidence is stacked, but we'll never know with 100% certainty who the Zodiac killer was. Odds are it's the guy inferred in the film's conclusion, but again, there's no way to know for sure. And that makes for an "incomplete" but wholly engrossing conclusion to the story, one sure to leave you thinking and researching well after you leave the theater. It's hard to ask for much more from a picture. Now, if you'll excuse me, I have some obsessive reading to do.
Author JeffPosted on March 4, 2007 Categories Movie Reviews
Previous Previous post: Tricia Tanaka is hot
Next Next post: Up in Flames


Every Thursday afternoon from 4pm-6pm, you'll hear the latin jazz sounds of everyone from Poncho Sanchez to Eddie Palmieri on 90.7 KFSR with host Steve Alcala. Steve is an accomplished musician and jazz educator and currently teaches at the Roosevelt School of the Arts, where he is the Director of Roosevelt School of the Arts Latin Jazz, Mariachi, Steel Drum and Marimba ensembles. He also runs Three Two Music Publishing, which specializes in the publication of latin jazz arrangements for musicians. Steve currently serves as President of the Board of Arte Américas.