text:
Russia begins demolition of bombed Mariupol theatre
10:21 PM on Friday, December 23, 2022
- Russian authorities in the occupied Ukrainian city of Mariupol have begun demolishing most of the city's drama theatre, where Ukrainian authorities say hundreds died in an air bombardment in March.
Video posted on both Ukrainian and Russian websites on Friday showed heavy equipment taking down much of the building, while leaving its front facade intact.
Ukrainian officials denounced the demolition as a bid to cover up the deaths in the March 16 bombardment and wipe out Ukrainian culture. Russian officials said it was part of plans to rebuild the theatre in a city firmly under their control.
"The Mariupol Theatre no longer exists," Ukrainian Culture Minister Oleksandr Tkachenko wrote on Facebook.
"The occupiers are removing traces of their crimes and couldn't care less whether this is cultural heritage or whether it belongs to another culture."
Russia's Tass news agency quoted the theatre's director, Igor Solonin, as saying that the demolition concerned "only that part of the building that is impossible to restore". Plans called for reconstruction to be complete by the end of 2024.
The bombing of the theatre was part of a protracted Russian siege of Mariupol, a port on the Sea of Azov seen as critical to Russian supply lines between areas its forces control in southern and eastern Ukraine.
Civilians had taken refuge in the theatre and large signs emblazoned simply with "Children" had been erected on either side of it. Ukrainian officials said at least 300 people were killed during the Russian bombing, though some estimates said the toll was higher.
Russia denied bombing the theatre deliberately.
Mariupol held out for more than two months out against Russian assaults which left most of its buildings in ruins.
Petro Andryushchenko, an advisor to the exiled mayor of Mariupol, said that despite demolition, the truth about the theatre bombing "will not stay hidden no matter what they do. There is enough video evidence, witness testimonies and those who survived."
(Reporting by Ron Popeski and Bogdan Kochubey; Editing by Sandra Maler)


Nick Cochran, the Design Practices Lead at ExxonMobil, will be a speaker at Design Innovation Day at Agile India 2018, co-hosted by Designit and Cooper in Bangalore India March 7th, 2018. Nick has been designing websites and applications since the early days of the web. After working as a developer for several years at ExxonMobil, he realized his passion for crafting great experiences had a home and a future in the world of design. In 2015, he turned this passion for design into a role as head of the fledgling User-Centered Design team. Less than 3 years later, the UCD mindset and practices have permeated the culture of the IT division, and the principles of design thinking and human-centered problem solving are making significant inroads into all major business units. He now has his sights on an even larger goal: teaching people the proper way to pronounce GIF. Nick currently resides in Spring, TX with his incredible wife and their three delightful children.
Nick is presenting Better Experiences & Faster Development with an Enterprise Design System at Agile India 2018 on March 7th, 2018. Click here for conference registration details.
A. I just moved into a new role in October that I would describe as a leader of design practices for the organization. I lead a small team with a mission to make design's value clear (evangelism and education), make design work in ExxonMobil (practices and process), and make designers more impactful (tools, careers, and community). Our customers are those people in the company practicing design, either as their full-time gig or as someone aspiring to incorporate design thinking behaviors into their existing work. This also includes elements of "Design Ops" such as managing our internal design systems.
A. We practice what we preach — Design Thinking. We learn about people's needs and goals through research. Armed with empathy and insight, we explore for ideas inclusively using simple techniques like brain writing and constraint-driven ideation. We iterate on concepts with user feedback through sketches and prototypes. We rely heavily on critique because we often see our ideas improved by sharing and being open to the questions and insights of others. And we aren't afraid to challenge familiar first ideas.
A. We have weekly design critiques in our design team. This was challenging to get started at first, but has been incredibly valuable to increase collaboration and improve designs. When it comes to distributed design teams, we facilitate a global design community in the company with regular face-to-face and virtual events. With regard to design and development teams, we encourage collaboration by including developers on research trips and by co-locating designers and developers. Finally, we have seen that creating and adopting an enterprise design system built in code has helped with communication and understanding between designers and developers.
A. Our design teams have experimented with both Scrum and Kanban processes. Much of our IT organization is still relatively new to the Agile Mindset, so we haven't gotten everyone aligned yet. But we are learning a lot and iterating on our approach constantly. It will be important for my team to be proactive in helping to show the broader organization how design and Agile work together.
A. As I mentioned earlier, we have experimented with Scrum and Kanban. We are constantly iterating and refining our approach. No project yet has been perfect! But by having an honest discussion in regular retrospectives, we can learn and improve.
A. We've seen many different ways that design thinking can be utilized in Agile environments. In some cases, we have seen a generative, strategic design thinking engagement produce a vision that guides a program of Agile software development activities. In other cases, we see designers deeply embedded in Agile teams, helping to drive an approach based on human-centered design. In these projects, we typically see some generative user research and conceptual design preceding the start of Agile development (similar to a sprint 0) and ongoing design participation in sprints throughout development. Generally speaking, there are numerous design thinking behaviors (e.g. asking why, framing the problem, seeking empathy, building on ideas, including diverse perspectives, giving/receiving critique, and experimenting) that can be applied to all anyone's work. It will be important to continue to show how design thinking is not only compatible, but complementary with an Agile mindset — both emphasize experimentation, iteration, and learning, for example.
A. For me, the hardest part is knowing when to be dogmatic and when to be pragmatic. Sometimes you need to stand up and fight for better design choices, but you don't want to be known as an unreasonable design leader. Finding the balance between partnership and advocacy is tricky. And making a miscalculation on when it's okay to compromise can discourage your design team or damage product quality.
To See Nick, register here.


C/E- 032010 *Only semi-noteworthy, really..
of words to try and match the rhythm, so bare with me..
Am  F  Am  F || Am..
Dream Theater - Wither Chords :: indexed at Ultimate Guitar.
Show us your talent, perform Wither Chords!
Here you can post a video of you playing the Wither Chords, so your fellow guitarists will be able to see you and rate you.


text:
Disney Names Former J.P. Morgan Analyst Alexia Quadrani As Head Of Investor Relations
Johnny Depp & Ex-Biz Managers Settle $25M Fraud Suit A Month Before Trial
By Dominic Patten
Dominic Patten
Senior Editor, Legal & TV Critic
@DeadlineDominic
More Stories By Dominic
Halyna Hutchins' Estate Moving Closer To Potential Wrongful Death Suit Against Alec Baldwin And 'Rust' Movie
Nyet! Netflix Loses Move To Get $5M 'Queen's Gambit' Suit Tossed; Soviet-Era Chess Champ Claims Defamation
James Gunn On End Of 'Guardians Of The Galaxy' Franchise & 'Peacemaker's Butterfly Secret: Hero Nation Podcast
EXCLUSIVE: Johnny Depp and his former business managers will not be kicking off a potential messy and revealing trial over the Fantastic Beasts: The Crimes of Grindelwald star's long-held fraud claims of $25 million next month after all.
After a long weekend in which attorneys for both Depp and the Management Group went hard, the parries reached a confidential settlement, I hear. While no one is talking, both sides in what has been a sometimes bitter and revelatory legal knife fight are happy with the deal, Deadline has learned.
Prodded by a Los Angeles judge and overseen by a retired one, the managed mediation between Depp's lawyer and TMG's reps from Kinsella Weitzman Iser Kump & Aldisert LLP comes after the actor's primary attorney Ben Chew of Washington D.C.'s Brown Rudick failed late last month to get the August 15 starting trial pushed back. It's rare for a plaintiff to seek a delay in a trial that they requested, and the unusual hearing came on the heels of a long Rolling Stone profile of the Depp that pretty much everyone agrees was not a winner for the actor. Another factor in the agreement hammered out over talks on Saturday and Sunday was Depp finally sitting down for a frequently postponed deposition in the matter back in May in L.A.
Johnny Depp Hit With Costly Assault Suit By 'City Of Lies' Location Manager
Now, with the deal sealed, all that's old news and all that is left is the formalities.
Which means, if things go as they usually do in these things, that in the next couple of weeks, dismissal filings are likely to pop up in L.A. Superior Court dropping Depp's initial action of January 2017 and the commission-seeking cross-complaint that soon followed. The November 2017 action for judicial foreclosure against several of the actor's City of Angels properties by TMG over a $5 million loan that they said that made to him will also be closed.
Following the submission of that paperwork, the settlement agreement is expected to be approved before the August 15 trial start date, which is basically a moot note on the calendar at this point. A fact that will make Warner Bros very happy as sources say that the studio was not looking forward to a public hearing of The Crimes of Grindelwald's marketing campaign and opening this fall of the latest installment in this J.K. Rowling's franchise being flooded by headlines of Depp's allegedly excessive spending habits and dwindling financial resources.
While the bloodletting between the actor and TMG is over now, the settlement in that matter does not, however, end the other litigation tidal waves that the Pirates of the Caribbean star is wading through. Depp still has to contend with a lawsuit from his ex-bodyguards who claim drug abuse and owed pay as well as a countersuit from his former longtime attorneyJacob Bloom and his. Claiming cahoots with TMG, the actor went after Bloom Hergott Diemer Rosenthal LaViolette Feldman Schenkman & Goodman LLP for $30 million last fall. They went right back after him a couple of months later as the actor seemed for a while to be shedding lawyers at an alarming rate
In addition, Depp's legal dance card was hit last week with an assault and battery lawsuit from the location manager of the upcoming City of Lies.
So, let's call it one down, a lot more to go when it comes to Johnny Depp and the courts right now.
In terms of the now-dimmed fraud lawsuit that started all this back in early 2017, representatives for TMG contacted by Deadline had no comment on the outcome of the Saturday and Sunday sit-down. Representatives for Depp did not respond to request for comment on the matter.
Grant Gustin Nears New Deal For 'The Flash', Paving Way For Season 9 Renewal At CW
The Management Group
8 'CBS Mornings' Co-Anchor Gayle King Signs New Deal With CBS News
10 Former HGTV 'Windy City Rehab' Costar Donovan Eckhardt Has Defamation Suit Dismissed
WME's Holly Jeter Becomes President Of Halle Berry's Newly Formed Production Company
Barry Manilow Spotify Rumor Is False, Singer Confirms
Shane/Nahley Communications Appoints Sarah Shulman As VP In Expansion Move

redpajama_set_name: RedPajamaCommonCrawl


text:
Hira Qazi
Do You Need Social Support for Work and Family Life Balance
My mother worked as a teacher and a broadcaster for nearly fifteen years but after my father's death, she quit both jobs altogether because apparently, she lost her support system. Back then I did not understand her reasons but now, as I have entered the workforce myself, I agree with my mother's perspective. Social support from family and friends is one of the key factors that help women achieve their goals and look for better career opportunities, while also managing their personal lives. However, in countries like Pakistan where the mass perception regarding working women is quite unwelcoming, women in the workforce not only get less social support but also end up with psychological problems as they constantly battle with balancing their professional and personal lives. This is because, as opposed to Pakistani men, Pakistani working women perform dual roles wherein they are both the breadwinners and the homemakers, which complicates their lives and puts an immense burden on them. Therefore, it is necessary to delineate the importance of work-life balance for Pakistani women on one hand and the significance of societal support for establishing and maintaining that balance on the other.
Historically, women have always played significant roles in the socioeconomic development of societies. However, as mankind progressed, the idea of the surplus was generated and a need to protect the surplus was felt. This resulted in two outcomes: first societies became patriarchal, and second, gender roles were defined. Hence, men were assigned the responsibility to work for and protect the surplus while women were tasked with the household responsibilities. These notions were later on challenged by the women, who felt a need to come into the workforce due to economic uncertainties. Although, women are quite successful in making space for themselves in the workforce, their responsibilities have largely increased as now they have to juggle between both work and their domestic lives. Hence, it would not be wrong to say that women are now expected to single-handedly manage their professional assignments along with their household responsibilities, simultaneously. While western women have sought solutions by raising consciousness regarding social support to maintain a work-life balance among their societies, Pakistani women are still struggling with it. The major cause behind this is the Pakistani sociocultural structure, where family and family values are given vital importance compelling the working women to prioritize their families over work.
To fully understand this debate, it is important to know what work-life balance is and why it is necessary. Work-life balance means the extent to which the employees feel satisfied in their respective professional and personal roles. However, to attain this satisfaction employees must strike a balance between their intellectual, emotional, spiritual, physical, and mental capabilities. Whenever this balance is disrupted due to the mismanagement of these capabilities, an individual's work-life equilibrium would also face disruption. In other words, work-life balance indicates the extent to which individuals regulate their desires or ambitions in such a manner that they do not conflict with their family obligations. However, it is essential to note that this regulation does not take the time factor into account only. Rather, the work patterns are also considered whereby the employers and organizations provide flexible working patterns that enable the employees to fulfil their work and domestic responsibilities concurrently with maximum efficiency. Working remotely from home is one such example, where organizations give flexible working conditions to individuals who are unable to manage daily commutes to and from their workplace.
It is all about realizing that your mother, sister, daughter, wife or daughter-in-law is a human being who needs support in every way possible. Unfortunately, we have decades of patriarchal pressure and misogynistic attitudes that impair women from receiving proper care and support. In any family, success lies in realizing each member's needs regardless of gender. Helping at home with tasks or watching the kids when the mother needs to recharge is most important. With the rising inflation rate, it is necessary to understand that a family cannot survive on the earning of a single individual. Fairness is the key to success, and when women find fewer stumbling blocks in their careers, it will make it easy to share in financial situations.
Shabnam Riaz (News Presenter at PTV)
Although the concept of work-life balance is equally applicable to both men and women, it is generally observed that women tend to grapple with the concept primarily because of the myriad roles that they have to fulfil. Working women face enormous pressures as they need to cope with two full-time jobs — one at work and the other at home. This pattern can be seen widely within the Pakistani context, wherein men are generally considered the breadwinners and their sole responsibility is to provide for their families. On the other hand, working women perform hybrid roles wherein they have work to provide for their families while also maintaining traditional roles of mothers, wives, sisters, and daughters. This constant struggle between these roles becomes both liberating as well as confining for Pakistani women; liberating because they get the opportunities to fulfil their professional ambitions and their desire to build their families, whereas confining because they have to fulfil both their ambitions and desires, shuffling back and forth between their roles repeatedly, which eventually exhausts them physically and mentally. Hence, it becomes necessary for working women in Pakistan to devise a work-life balance so that they may perform their roles without feeling confined.
To achieve a work-life balance, the most important thing is social support. In an article titled, Social Support as Moderator of Life Stress, the researcher defined social support as "the confidence that an individual has that, he or she is loved and valued and his or her wellbeing is cared about among a social network of shared relationships." Social support refers to the emotional support, intellectual assistance and encouraging words that an individual requires from family, friends, co-workers, and bosses to work diligently and proficiently. Support from family and friends may come in the form of sharing the non-work burden, for instance, the spouse of a working lady helping her with house chores or the family members taking care of the minors. However, the support from co-workers and superiors includes practices and policies that help female colleagues in maintaining a balance between professional and personal lives. These practices include flexible and compressed working hours, sharing assignments, daycare centers and working from home. Moreover, the strict policies to keep workplace harassment in check also fosters a relaxed working environment where women feel safe and secure.
They say, it takes a village to raise a child. When a mother wears extra caps, the village needs to be more vigilant, and should be able to shoulder a bit more of her responsibilities. Traditionally, when women work outside of the house and combined family systems extend household support. So, working women are culturally accepted and supported. However, it's the earning of woman that is considered to be problematic. Stay-at-home mother is a luxury in today's inflation, but society needs to realize that not all men can afford to feed their families solely on their earning. It puts men in a lot of undue pressure too. So, a cultural shift regarding working women can help us save a lot of men.
Maria Faheem (Director at NUST)
Social support ensures the psychological health of all individuals as it helps them to understand that they are not alone and the important people in their lives are always there to back them up. In Pakistan, however, this criterion is rarely followed and the ones who suffer the most are women. Although, it would be unjust to negate the absence of social support in the case of Pakistani men — as they too suffer from the lack of social support from their families and peers — the ratio of less or no social support for men as compared to women is quite low. This is because while on one hand, the societal structure in Pakistan puts men in charge of earning a living, on the other hand, it does not expect them to maintain a work-life balance as they are not held accountable for household affairs. On the flip side, working women in Pakistan are expected to comply with their domestic roles along with their professional responsibilities.
"As women become an ever-increasing and large part of the workforce in Pakistan, it is imperative to give them social support to enable them to maintain a balance between their home and work life, e.g., having daycare centers in or near work, or allowing them flexi-hours and work-from-home options on certain days. I waited to work until my children were school going and I was lucky that my boss let me work half a day as I wanted to leave at 1 pm. Working mothers learn to manage their time well and understand the true meaning of quality time. Their children also become independent and more responsible earlier than their peers. They learn to respect the fact that having an accomplished and fulfilled life is the equal prerogative of both genders."
Talat Azam (Executive Director of Grapevine Consultants and Former Director of PR at Serena Hotels)
Their labour is usually considered secondary and their role as homemakers is given priority even though without their financial input, the household would suffer greatly. Besides this, working women in Pakistan constantly face derogatory remarks or uncooperative behavior from their husbands, families, or in-laws due to which they start suffering psychologically. Similarly, unhelpful attitudes at the workplace like strict compliance with timings, unavailability of daycare centers, low wages, harassment, and public transportation negatively impacts their personal lives. Hence, less or no social support from family coupled with the unaccommodating role of employers creates massive hurdles for working women. For instance, they become time bound, which stops them from attending their events, they find it hard to manage their work and look after their children, they work proactively but the taunting remarks from their families demotivate them. Moreover, this lack of social support often brings psychological challenges like extreme depression, insomnia and stress along with physical health conditions like hypertension, which puts the health of Pakistani working women at risk.
As a working woman, I feel that organizational support is quite important for women to maintain a work-life balance. While working in government sector and having served at different stations, I have noticed many obstacles that women face on a day-to-day basis. For instance, the absence of day care centers is a huge hurdle for women who do not have families to look after their children. Besides this, women get maternity leave, but they struggle during that time because their husbands are not entitled to paternity leave. However, the most important thing that bothers me is that women in both government as well as in private sector need to be the best version of themselves to come at par with their male colleagues who might be quite mediocre.
Aqsa Gharshin (Civil Servant)
In a nutshell, it can be concluded that while work-life balance is necessary for maintaining a healthy life, it is social support that helps in translating this balance to the fullest. Working women in Pakistan already have so much on their plate as they are always preoccupied with a tough routine; they constantly live a hybrid life where they keep juggling their work duties and their domestic responsibilities. Therefore, to ease their workload, their families, friends, workplace peers and supervisors must provide them with social support so that they may work efficiently and also live healthy lives. This will be beneficial for the employers and the immediate families of these women because social support will induce positivity in these women resulting in increased productivity in both domains. HH


text:
LINKIN PARK "One More Light" /LP/
SCHIZO "Rotten Spiral" /LP/
AC/DC "High Voltage" /LP/
IRON MAIDEN "Iron Maiden" /LP/
Re-release of the second full-length studio album by legendary American Thrash Metal band.
The band's previous release, debut album "Show No Mercy", became Metal Blade Records' highest selling release. As a result, producer Brian Slagel desired to release a second Slayer album. To that end, Slagel financed a recording budget ("Show No Mercy" was paid for by band members) and recruited several experienced producers to help in the studio.
Lyrical themes on "Hell Awaits" are darker than on "Show No Mercy". The intro of the first track "Hell Awaits" played backwards reveals the repeated phrase "join us".
Musically, the album features the band's most progressive and diverse work compared to their previous releases. Defined as "influential to future Extreme Metal acts", the most popular songs from "Hell Awaits" were re-recorded by various underground Metal bands and have appeared on several tribute albums.
Limited Edition gatefold coloured 180 gram vinyl!
Metal Blade Records Inc., 1985/2004 (3984-14031-2). Made in U.S.A.
1.Hell Awaits 06:16
2.Kill Again 04:56
3.At Dawn They Sleep 06:19
4.Praise Of Death 05:20
5.Necrophilliac 03:45
6.Crypts Of Eternity 06:38
7.Hardening Of The Arteries 03:58


text:
Reading: Modeling and Estimation of a Bivariate Pareto Distribution using the Principle of Maximum En...
View Harvard Citation Style
View Vancouver Citation Style
View APA Citation Style
Alt. Display
Modeling and Estimation of a Bivariate Pareto Distribution using the Principle of Maximum Entropy
Jagathnath K.M. Krishna
Economics Research Division, CSIR-Central Leather Research Institute, Adyar, Chennai – 600 020,, IN
In this paper we modeled a bivariate Pareto I distribution using the method of principle of maximum entropy probability distribution. Properties of the model are discussed. Further the estimation of the parameters involved in the model is done in two stages using two different methods namely, principle of maximum entropy estimation (POME) and maximum likelihood estimation. From the simulation study conducted to compare the performance of the estimates obtained by the above two methods, we conclude that POME method is performing better than MLE and the two methods are comparable.
DOI: http://dx.doi.org/10.4038/sljastats.v15i3.7795
Keywords: Bivariate Pareto I , Maximum Entropy probability Distribution , POME, MLE , Bivariate Failure Rate
How to Cite: Krishna, J.K.M., 2014. Modeling and Estimation of a Bivariate Pareto Distribution using the Principle of Maximum Entropy. Sri Lankan Journal of Applied Statistics, 15(3), pp.171–184. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Published on 15 Dec 2014.
Krishna, J.K.M., 2014. Modeling and Estimation of a Bivariate Pareto Distribution using the Principle of Maximum Entropy. Sri Lankan Journal of Applied Statistics, 15(3), pp.171–184. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Krishna JKM. Modeling and Estimation of a Bivariate Pareto Distribution using the Principle of Maximum Entropy. Sri Lankan Journal of Applied Statistics. 2014;15(3):171–84. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Krishna, J. K. M. (2014). Modeling and Estimation of a Bivariate Pareto Distribution using the Principle of Maximum Entropy. Sri Lankan Journal of Applied Statistics, 15(3), 171–184. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Krishna JKM, 'Modeling and Estimation of a Bivariate Pareto Distribution Using the Principle of Maximum Entropy' (2014) 15 Sri Lankan Journal of Applied Statistics 171 DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Krishna, Jagathnath K.M.. 2014. "Modeling and Estimation of a Bivariate Pareto Distribution Using the Principle of Maximum Entropy". Sri Lankan Journal of Applied Statistics 15 (3): 171–84. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Krishna, Jagathnath K.M.. "Modeling and Estimation of a Bivariate Pareto Distribution Using the Principle of Maximum Entropy". Sri Lankan Journal of Applied Statistics 15, no. 3 (2014): 171–84. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Krishna, J. K. M.. "Modeling and Estimation of a Bivariate Pareto Distribution Using the Principle of Maximum Entropy". Sri Lankan Journal of Applied Statistics, vol. 15, no. 3, 2014, pp. 171–84. DOI: http://doi.org/10.4038/sljastats.v15i3.7795
Jump to Discussions


text:
import * as psTree from '@apify/ps-tree';
import * as ApifyClient from 'apify-client';
import { checkParamOrThrow } from 'apify-client/build/utils';
import { version as apifyClientVersion } from 'apify-client/package.json';
import { ENV_VARS, LOCAL_ENV_VARS } from 'apify-shared/consts';
import { getRandomInt } from 'apify-shared/utilities';
import * as cheerio from 'cheerio';
import * as contentTypeParser from 'content-type';
import * as fs from 'fs';
import * as fsExtra from 'fs-extra';
import * as mime from 'mime-types';
import * as os from 'os';
import * as path from 'path';
import * as semver from 'semver';
import * as _ from 'underscore';
import { URL } from 'url';
import * as util from 'util';
import { USER_AGENT_LIST } from './constants';
import * as requestUtils from './utils_request';
import log from './utils_log';
import { version as apifyVersion } from '../package.json';

// TYPE IMPORTS
/* eslint-disable no-unused-vars,import/named,import/no-duplicates,import/order */
import { IncomingMessage } from 'http';
import { Response as PuppeteerResponse } from 'puppeteer';
import Request, { RequestOptions } from './request';
/* eslint-enable no-unused-vars,import/named,import/no-duplicates,import/order */

/**
 * Default regular expression to match URLs in a string that may be plain text, JSON, CSV or other. It supports common URL characters
 * and does not support URLs containing commas or spaces. The URLs also may contain Unicode letters (not symbols).
 * @memberOf utils
 */
const URL_NO_COMMAS_REGEX = RegExp('https?://(www\\.)?[\\p{L}0-9][-\\p{L}0-9@:%._\\+~#=]{0,254}[\\p{L}0-9]\\.[a-z]{2,63}(:\\d{1,5})?(/[-\\p{L}0-9@:%_\\+.~#?&//=\\(\\)]*)?', 'giu'); // eslint-disable-line
/**
 * Regular expression that, in addition to the default regular expression `URL_NO_COMMAS_REGEX`, supports matching commas in URL path and query.
 * Note, however, that this may prevent parsing URLs from comma delimited lists, or the URLs may become malformed.
 * @memberOf utils
 */
const URL_WITH_COMMAS_REGEX = RegExp('https?://(www\\.)?[\\p{L}0-9][-\\p{L}0-9@:%._\\+~#=]{0,254}[\\p{L}0-9]\\.[a-z]{2,63}(:\\d{1,5})?(/[-\\p{L}0-9@:%_\\+,.~#?&//=\\(\\)]*)?', 'giu'); // eslint-disable-line

const ensureDirPromised = util.promisify(fsExtra.ensureDir);
const psTreePromised = util.promisify(psTree);

/**
 * Creates an instance of ApifyClient using options as defined in the environment variables.
 * This function is exported to enable unit testing.
 *
 * @returns {*}
 * @ignore
 */
export const newClient = () => {
    const opts = {
        userId: process.env[ENV_VARS.USER_ID] || null,
        token: process.env[ENV_VARS.TOKEN] || null,
    };

    // Only set baseUrl if overridden by env var, so that 'https://api.apify.com' is used by default.
    // This simplifies local development, which should run against production unless user wants otherwise.
    const apiBaseUrl = process.env[ENV_VARS.API_BASE_URL];
    if (apiBaseUrl) opts.baseUrl = apiBaseUrl;

    return new ApifyClient(opts);
};

/**
 * Logs info about system, node version and apify package version.
 */
export const logSystemInfo = () => {
    log.info('System info', {
        apifyVersion,
        apifyClientVersion,
        osType: os.type(),
        nodeVersion: process.version,
    });
};

/**
 * Gets the default instance of the `ApifyClient` class provided
 * apify-client by the NPM package.
 * The instance is created automatically by the Apify SDK and it is configured using the
 * `APIFY_API_BASE_URL`, `APIFY_USER_ID` and `APIFY_TOKEN` environment variables.
 *
 * The instance is used for all underlying calls to the Apify API in functions such as
 * {@link Apify#getValue} or {@link Apify#call}.
 * The settings of the client can be globally altered by calling the
 * `Apify.client.setOptions()` function.
 * Beware that altering these settings might have unintended effects on the entire Apify SDK package.
 *
 * @type {*}
 *
 * @memberof module:Apify
 * @name client
 */
export const apifyClient = newClient();

/**
 * Returns a result of `Promise.resolve()`.
 *
 * @returns {Promise<void>}
 *
 * @ignore
 */
export const newPromise = () => {
    return Promise.resolve();
};

/**
 * Adds charset=utf-8 to given content type if this parameter is missing.
 *
 * @param {string} contentType
 * @returns {string}
 *
 * @ignore
 */
export const addCharsetToContentType = (contentType) => {
    if (!contentType) return contentType;

    const parsed = contentTypeParser.parse(contentType);

    if (parsed.parameters.charset) return contentType;

    parsed.parameters.charset = 'utf-8';

    return contentTypeParser.format(parsed);
};

let isDockerPromiseCache;
const createIsDockerPromise = () => {
    const promise1 = util
        .promisify(fs.stat)('/.dockerenv')
        .then(() => true)
        .catch(() => false);

    const promise2 = util
        .promisify(fs.readFile)('/proc/self/cgroup', 'utf8')
        .then(content => content.indexOf('docker') !== -1)
        .catch(() => false);

    return Promise
        .all([promise1, promise2])
        .then(([result1, result2]) => result1 || result2);
};

/**
 * Returns a `Promise` that resolves to true if the code is running in a Docker container.
 *
 * @param {boolean} forceReset
 * @return {Promise<boolean>}
 *
 * @memberof utils
 * @name isDocker
 * @function
 */
export const isDocker = (forceReset) => {
    // Parameter forceReset is just internal for unit tests.
    if (!isDockerPromiseCache || forceReset) isDockerPromiseCache = createIsDockerPromise();

    return isDockerPromiseCache;
};

/**
 * Sums an array of numbers.
 *
 * @param {number[]} arr An array of numbers.
 * @return {number} Sum of the numbers.
 *
 * @ignore
 */
export const sum = arr => arr.reduce((total, c) => total + c, 0);

/**
 * Computes an average of an array of numbers.
 *
 * @param {number[]} arr An array of numbers.
 * @return {number} Average value.
 *
 * @ignore
 */
export const avg = arr => sum(arr) / arr.length;

/**
 * Computes a weighted average of an array of numbers, complemented by an array of weights.
 *
 * @param {number[]} arrValues
 * @param {number[]} arrWeights
 * @return {number}
 *
 * @ignore
 */
export const weightedAvg = (arrValues, arrWeights) => {
    const result = arrValues.map((value, i) => {
        const weight = arrWeights[i];
        const sum = value * weight; // eslint-disable-line no-shadow

        return [sum, weight];
    }).reduce((p, c) => [p[0] + c[0], p[1] + c[1]], [0, 0]);

    return result[0] / result[1];
};

/**
 * Describes memory usage of an Actor.
 *
 * @typedef MemoryInfo
 * @property {number} totalBytes Total memory available in the system or container
 * @property {number} freeBytes Amount of free memory in the system or container
 * @property {number} usedBytes Amount of memory used (= totalBytes - freeBytes)
 * @property {number} mainProcessBytes Amount of memory used the current Node.js process
 * @property {number} childProcessesBytes Amount of memory used by child processes of the current Node.js process
 */

/**
 * Returns memory statistics of the process and the system, see {@link MemoryInfo}.
 *
 * If the process runs inside of Docker, the `getMemoryInfo` gets container memory limits,
 * otherwise it gets system memory limits.
 *
 * Beware that the function is quite inefficient because it spawns a new process.
 * Therefore you shouldn't call it too often, like more than once per second.
 *
 * @returns {Promise<MemoryInfo>}
 *
 * @memberof module:Apify
 * @name getMemoryInfo
 * @function
 */
export const getMemoryInfo = async () => {
    const [isDockerVar, processes] = await Promise.all([
        // module.exports must be here so that we can mock it.
        module.exports.isDocker(),
        // Query both root and child processes
        psTreePromised(process.pid, true),
    ]);

    let mainProcessBytes = -1;
    let childProcessesBytes = 0;
    processes.forEach((rec) => {
        // Skip the 'ps' or 'wmic' commands used by ps-tree to query the processes
        if (rec.COMMAND === 'ps' || rec.COMMAND === 'WMIC.exe') {
            return;
        }
        const bytes = parseInt(rec.RSS, 10);
        // Obtain main process' memory separately
        if (rec.PID === `${process.pid}`) {
            mainProcessBytes = bytes;
            return;
        }
        childProcessesBytes += bytes;
    });

    let totalBytes;
    let freeBytes;
    let usedBytes;

    if (!isDockerVar) {
        totalBytes = os.totalmem();
        freeBytes = os.freemem();
        usedBytes = totalBytes - freeBytes;
    } else {
        // When running inside Docker container, use container memory limits
        // This must be promisified here so that we can mock it.
        const readPromised = util.promisify(fs.readFile);

        const [totalBytesStr, usedBytesStr] = await Promise.all([
            readPromised('/sys/fs/cgroup/memory/memory.limit_in_bytes'),
            readPromised('/sys/fs/cgroup/memory/memory.usage_in_bytes'),
        ]);

        totalBytes = parseInt(totalBytesStr, 10);
        usedBytes = parseInt(usedBytesStr, 10);
        freeBytes = totalBytes - usedBytes;
    }

    return {
        totalBytes,
        freeBytes,
        usedBytes,
        mainProcessBytes,
        childProcessesBytes,
    };
};

/**
 * Helper function that determines if given parameter is an instance of Promise.
 *
 * @ignore
 */
export const isPromise = (maybePromise) => {
    return maybePromise && typeof maybePromise.then === 'function' && typeof maybePromise.catch === 'function';
};

/**
 * Returns true if node is in production environment and false otherwise.
 *
 * @ignore
 */
export const isProduction = () => process.env.NODE_ENV === 'production';

/**
 * Helper function used for local implementations. Creates dir.
 *
 * @ignore
 */
export const ensureDirExists = dirPath => ensureDirPromised(dirPath);

/**
 * Helper function that returns the first key from plan object.
 *
 * @ignore
 */
export const getFirstKey = (dict) => {
    for (const key in dict) { // eslint-disable-line guard-for-in, no-restricted-syntax
        return key;
    }
};

/**
 * Gets a typical path to Chrome executable, depending on the current operating system.
 *
 * @return {string}
 * @ignore
 */
export const getTypicalChromeExecutablePath = () => {
    switch (os.platform()) {
        case 'darwin': return '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
        case 'win32': return 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe';
        default: return 'google-chrome';
    }
};

/**
 * Wraps the provided Promise with another one that rejects with the given errorMessage
 * after the given timeoutMillis, unless the original promise resolves or rejects earlier.
 *
 * @param {Promise<object>} promise
 * @param {number} timeoutMillis
 * @param {string} errorMessage
 * @return {Promise<object>}
 * @ignore
 */
export const addTimeoutToPromise = (promise, timeoutMillis, errorMessage) => {
    return new Promise(async (resolve, reject) => {
        if (!isPromise(promise)) throw new Error('Parameter promise of type Promise must be provided.');
        checkParamOrThrow(timeoutMillis, 'timeoutMillis', 'Number');
        checkParamOrThrow(errorMessage, 'errorMessage', 'String');

        const timeout = setTimeout(() => reject(new Error(errorMessage)), timeoutMillis);
        try {
            const data = await promise;
            resolve(data);
        } catch (err) {
            reject(err);
        } finally {
            clearTimeout(timeout);
        }
    });
};

/**
 * Returns `true` when code is running on Apify platform and `false` otherwise (for example locally).
 *
 * @returns {boolean}
 *
 * @memberof module:Apify
 * @name isAtHome
 * @function
 */
export const isAtHome = () => !!process.env[ENV_VARS.IS_AT_HOME];

/**
 * Returns a `Promise` that resolves after a specific period of time. This is useful to implement waiting
 * in your code, e.g. to prevent overloading of target website or to avoid bot detection.
 *
 * **Example usage:**
 *
 * ```
 * const Apify = require('apify');
 *
 * ...
 *
 * // Sleep 1.5 seconds
 * await Apify.utils.sleep(1500);
 * ```
 * @param {number} millis Period of time to sleep, in milliseconds. If not a positive number, the returned promise resolves immediately.
 * @memberof utils
 * @name sleep
 * @function
 * @return {Promise<void>}
 */
export const sleep = (millis) => {
    return new Promise(res => setTimeout(res, millis));
};

/**
 * Returns a promise that resolves to an array of urls parsed from the resource available at the provided url.
 * Optionally, custom regular expression and encoding may be provided.
 *
 * @param {Object} options
 * @param {string} options.url URL to the file
 * @param {string} [options.encoding='utf8'] The encoding of the file.
 * @param {RegExp} [options.urlRegExp=URL_NO_COMMAS_REGEX]
 *   Custom regular expression to identify the URLs in the file to extract.
 *   The regular expression should be case-insensitive and have global flag set (i.e. `/something/gi`).
 * @returns {Promise<Array<string>>}
 * @memberOf utils
 */
const downloadListOfUrls = async ({ url, encoding = 'utf8', urlRegExp = URL_NO_COMMAS_REGEX }) => {
    checkParamOrThrow(url, 'url', 'String');
    checkParamOrThrow(encoding, 'string', 'String');
    checkParamOrThrow(urlRegExp, 'urlRegExp', 'RegExp');
    const { requestAsBrowser } = requestUtils;

    const { body: string } = await requestAsBrowser({ url, encoding });
    return extractUrls({ string, urlRegExp });
};

/**
 * Collects all URLs in an arbitrary string to an array, optionally using a custom regular expression.
 * @param {Object} options
 * @param {string} options.string
 * @param {RegExp} [options.urlRegExp=Apify.utils.URL_NO_COMMAS_REGEX]
 * @returns {string[]}
 * @memberOf utils
 */
const extractUrls = ({ string, urlRegExp = URL_NO_COMMAS_REGEX }) => {
    checkParamOrThrow(string, 'string', 'String');
    checkParamOrThrow(urlRegExp, 'urlRegExp', 'RegExp');
    return string.match(urlRegExp) || [];
};

/**
 * Returns a randomly selected User-Agent header out of a list of the most common headers.
 * @returns {string}
 * @memberOf utils
 */
const getRandomUserAgent = () => {
    const index = getRandomInt(USER_AGENT_LIST.length);
    return USER_AGENT_LIST[index];
};

/**
 * Helper function to open local storage.
 *
 * @ignore
 */
export const openLocalStorage = async (idOrName, defaultIdEnvVar, LocalClass, cache) => {
    const localStorageDir = process.env[ENV_VARS.LOCAL_STORAGE_DIR] || LOCAL_ENV_VARS[ENV_VARS.LOCAL_STORAGE_DIR];

    if (!idOrName) idOrName = process.env[defaultIdEnvVar] || LOCAL_ENV_VARS[defaultIdEnvVar];

    let storagePromise = cache.get(idOrName);

    if (!storagePromise) {
        storagePromise = Promise.resolve(new LocalClass(idOrName, localStorageDir));
        cache.add(idOrName, storagePromise);
    }

    return storagePromise;
};

/**
 * Helper function to open remote storage.
 *
 * @ignore
 */
export const openRemoteStorage = async (idOrName, defaultIdEnvVar, RemoteClass, cache, getOrCreateFunction) => {
    let isDefault = false;

    if (!idOrName) {
        isDefault = true;
        idOrName = process.env[defaultIdEnvVar];
        if (!idOrName) throw new Error(`The '${defaultIdEnvVar}' environment variable is not defined.`);
    }

    let storagePromise = cache.get(idOrName);

    if (!storagePromise) {
        storagePromise = isDefault // If true then we know that this is an ID of existing store.
            ? Promise.resolve(new RemoteClass(idOrName))
            : getOrCreateFunction(idOrName).then(storage => (new RemoteClass(storage.id, storage.name)));
        cache.add(idOrName, storagePromise);
    }

    return storagePromise;
};

/**
 * Checks if at least one of APIFY_LOCAL_STORAGE_DIR and APIFY_TOKEN environment variables is set.
 * @ignore
 */
export const ensureTokenOrLocalStorageEnvExists = (storageName) => {
    if (!process.env[ENV_VARS.LOCAL_STORAGE_DIR] && !process.env[ENV_VARS.TOKEN]) {
        throw new Error(`Cannot use ${storageName} as neither ${ENV_VARS.LOCAL_STORAGE_DIR} nor ${ENV_VARS.TOKEN} environment variable is set. You need to set one these variables in order to enable data storage.`); // eslint-disable-line max-len
    }
};

// NOTE: We skipping 'noscript' since it's content is evaluated as text, instead of HTML elements. That damages the results.
const SKIP_TAGS_REGEX = /^(script|style|canvas|svg|noscript)$/i;
const BLOCK_TAGS_REGEX = /^(p|h1|h2|h3|h4|h5|h6|ol|ul|li|pre|address|blockquote|dl|div|fieldset|form|table|tr|select|option)$/i;

/**
 * The function converts a HTML document to a plain text.
 *
 * The plain text generated by the function is similar to a text captured
 * by pressing Ctrl+A and Ctrl+C on a page when loaded in a web browser.
 * The function doesn't aspire to preserve the formatting or to be perfectly correct with respect to HTML specifications.
 * However, it attempts to generate newlines and whitespaces in and around HTML elements
 * to avoid merging distinct parts of text and thus enable extraction of data from the text (e.g. phone numbers).
 *
 * **Example usage**
 * ```javascript
 * const text = htmlToText('<html><body>Some text</body></html>');
 * console.log(text);
 * ```
 *
 * Note that the function uses [cheerio](https://www.npmjs.com/package/cheerio) to parse the HTML.
 * Optionally, to avoid duplicate parsing of HTML and thus improve performance, you can pass
 * an existing Cheerio object to the function instead of the HTML text. The HTML should be parsed
 * with the `decodeEntities` option set to `true`. For example:
 *
 * ```javascript
 * const cheerio = require('cheerio');
 * const html = '<html><body>Some text</body></html>';
 * const text = htmlToText(cheerio.load(html, { decodeEntities: true }));
 * ```
 * @param {(string|CheerioStatic)} html HTML text or parsed HTML represented using a
 * [cheerio](https://www.npmjs.com/package/cheerio) function.
 * @return {string} Plain text
 * @memberOf utils
 * @function
 */
const htmlToText = (html) => {
    if (!html) return '';

    // TODO: Add support for "html" being a Cheerio element, otherwise the only way
    //  to use it is e.g. htmlToText($('p').html())) which is inefficient
    //  Also, it seems this doesn't work well in CheerioScraper, e.g. htmlToText($)
    //  produces really text with a lot of HTML elements in it. Let's just deprecate this sort of usage,
    //  and make the parameter "htmlOrCheerioElement"
    /**
     * @type {CheerioStatic}
     * @ignore
     */
    const $ = typeof html === 'function' ? html : cheerio.load(html, { decodeEntities: true });
    let text = '';

    const process = (elems) => {
        const len = elems ? elems.length : 0;
        for (let i = 0; i < len; i++) {
            const elem = elems[i];
            if (elem.type === 'text') {
                // Compress spaces, unless we're inside
 element
                let compr;
                if (elem.parent && elem.parent.tagName === 'pre') compr = elem.data;
                else compr = elem.data.replace(/\s+/g, ' ');
                // If text is empty or ends with a whitespace, don't add the leading whitepsace
                if (compr.startsWith(' ') && /(^|\s)$/.test(text)) compr = compr.substr(1);
                text += compr;
            } else if (elem.type === 'comment' || SKIP_TAGS_REGEX.test(elem.tagName)) {
                // Skip comments and special elements
            } else if (elem.tagName === 'br') {
                text += '\n';
            } else if (elem.tagName === 'td') {
                process(elem.children);
                text += '\t';
            } else {
                // Block elements must be surrounded by newlines (unless beginning of text)
                const isBlockTag = BLOCK_TAGS_REGEX.test(elem.tagName);
                if (isBlockTag && !/(^|\n)$/.test(text)) text += '\n';
                process(elem.children);
                if (isBlockTag && !text.endsWith('\n')) text += '\n';
            }
        }
    };

    // If HTML document has body, only convert that, otherwise convert the entire HTML
    const $body = $('body');
    process($body.length > 0 ? $body : $.root());

    return text.trim();
};

/**
 * Creates a standardized debug info from request and response. This info is usually added to dataset under the hidden `#debug` field.
 *
 * @param {(Request|RequestOptions)} request [Apify.Request](https://sdk.apify.com/docs/api/request) object.
 * @param {(IncomingMessage|PuppeteerResponse)} [response]
 *   Puppeteer [`Response`](https://pptr.dev/#?product=Puppeteer&version=v1.11.0&show=api-class-response)
 *   or NodeJS [`http.IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_serverresponse).
 * @param {Object} [additionalFields] Object containing additional fields to be added.

 * @return {object}
 */
const createRequestDebugInfo = (request, response = {}, additionalFields = {}) => {
    checkParamOrThrow(request, 'request', 'Object');
    checkParamOrThrow(response, 'response', 'Object');
    checkParamOrThrow(additionalFields, 'additionalFields', 'Object');

    return Object.assign(
        {
            requestId: request.id,
            url: request.url,
            loadedUrl: request.loadedUrl,
            method: request.method,
            retryCount: request.retryCount,
            errorMessages: request.errorMessages,
            // Puppeteer response has .status() funtion and NodeJS response ,statusCode property.
            statusCode: _.isFunction(response.status) ? response.status() : response.statusCode,
        },
        additionalFields,
    );
};

/**
 * Converts SNAKE_CASE to camelCase.
 *
 * @param {string} snakeCaseStr
 * @return {string}
 * @ignore
 */
export const snakeCaseToCamelCase = (snakeCaseStr) => {
    return snakeCaseStr
        .toLowerCase()
        .split('_')
        .map((part, index) => {
            return index > 0
                ? part.charAt(0).toUpperCase() + part.slice(1)
                : part;
        })
        .join('');
};

/**
 * Prints a warning if this version of Apify SDK is outdated.
 *
 * @ignore
 */
export const printOutdatedSdkWarning = () => {
    const latestApifyVersion = process.env[ENV_VARS.SDK_LATEST_VERSION];
    if (!latestApifyVersion || !semver.lt(apifyVersion, latestApifyVersion)) return;

    // eslint-disable-next-line
    log.warning(`You are using an outdated version (${apifyVersion}) of Apify SDK. We recommend you to update to the latest version (${latestApifyVersion}).
         Read more about Apify SDK versioning at: https://help.apify.com/en/articles/3184510-updates-and-versioning-of-apify-sdk`);
};

/**
 * Gets parsed content type from response object
 * @param {IncomingMessage} response - HTTP response object
 * @return {{ type: string, charset: string }}
 * @ignore
 */
export const parseContentTypeFromResponse = (response) => {
    checkParamOrThrow(response, 'response', 'Object');
    checkParamOrThrow(response.url, 'response.url', 'String');
    checkParamOrThrow(response.headers, 'response.headers', 'Object');

    const { url, headers } = response;
    let parsedContentType;

    if (headers['content-type']) {
        try {
            parsedContentType = contentTypeParser.parse(headers['content-type']);
        } catch (err) {
            // Can not parse content type from Content-Type header. Try to parse it from file extension.
        }
    }

    // Parse content type from file extension as fallback
    if (!parsedContentType) {
        const parsedUrl = new URL(url);
        const contentTypeFromExtname = mime.contentType(path.extname(parsedUrl.pathname))
            || 'application/octet-stream; charset=utf-8'; // Fallback content type, specified in https://tools.ietf.org/html/rfc7231#section-3.1.1.5
        parsedContentType = contentTypeParser.parse(contentTypeFromExtname);
    }

    return {
        type: parsedContentType.type,
        charset: parsedContentType.parameters.charset,
    };
};

/**
 * A namespace that contains various utilities.
 *
 * **Example usage:**
 *
 * ```javascript
 * const Apify = require('apify');
 *
 * ...
 *
 * // Sleep 1.5 seconds
 * await Apify.utils.sleep(1500);
 * ```
 * @namespace utils
 */
export const publicUtils = {
    isDocker,
    sleep,
    downloadListOfUrls,
    extractUrls,
    getRandomUserAgent,
    htmlToText,
    URL_NO_COMMAS_REGEX,
    URL_WITH_COMMAS_REGEX,
    createRequestDebugInfo,
    parseContentTypeFromResponse,
};

redpajama_set_name: RedPajamaGithub


As promised, the new Help Center is now up and running. Thanks for your extended patience. Feel free to visit it and let me know what you think. I look forward to any complaints and snide remarks you may have. The database is going to be a somewhat sparse for awhile as I continue to enter new questions and answers. At least the hard part of programming the PHP and SQL code is over. Yea.
On a somewhat unrelated note, I'd just like to apologize to all of those who have sent me e-mail questions and comments recently. Having been out of town, being sick, and working on the Help Center have all contirbuted to my lack of time to reply to visitors questions. I know nobody likes excuses, so I'll try not to ramble on. Yeah, too late, I know. Thanks for putting up with me and for visiting Sharpened.net. Peace.


Among Greece's most beautiful islands, splendid Santorini begs to be discovered. On this 5-hour, private tour of the island, visit its most essential landmarks — from the village of Oia to the Red Beach, from the volcanic caldera to a traditional winery — via a comfortable, air-conditioned vehicle. The itinerary is flexible, and you can additionally customize your trip to your preferences. Choose your own departure time to meet up with your private guide at your Santorini accommodations. Depart for a 5-hour customized tour of the volcanic island, which can be tailored to your interests. The proposed tour covers the island's major sights, such as the village of Oia, filled with whitewashed building's overlooking the island's caldera. Check out Akrotiri, which features bronze age ruins mired in cooled lava from an ancient volcanic eruption. Hit both the Black and Red beaches, whose volcanic sand lives up to their respective colorful names. Finish up at a local winery and the Prophet Elias Monastery before drop-off back at your departure point.
Your Santorini accommodation or cruise ship port (or other preferred location). Any preferred departure time between 7am - 9pm; please contact the local operator after booking to confirm your departure time preference.
"Great private tour - informative and at our own pace" Took a 5 hour tour with the best guide (just the perfect host and tour guide) all over the island; got the right balance of information and time to explore on our own. Everything was professional, on time and as promised. We went from Oia to the red and black beaches to wineries and stopped at picturesque spots of our choosing.


This was the 5th course approved in New York State for Real Estate Appraisers Professional Continuing Education and it was designed for those who consider learning more about Appraisal, Inspections and Environmental audits. 10 hours in length. Attendance mandatory. We will also provide you with information on how a Phase 1 Inspection is performed in NY State. This is an introduction course, to make you aware of the process of a Phase 1 Environmental Inspection.
80% mandatory per New York State, Dept. of State Regs for Continuing Education.
ASBESTOS, identification, testing available, removal or encapsulation strategies. Liability for faulty removal and state and federal regulations for same.
SICK HOME SYNDROME and its effects on health. This is a major cause of airborne illness and has to do with mold, pesticides, etc. A thorough discussion will commence.


text:
Business Park Parcels Sold to Shelter Coalition
Pictured are the two parcels that Rancho San Clemente Business Park owns and is looking to sell to the nonprofit group Emergency Shelter Coalition, which intends to develop a homeless shelter on the property.
By Shawn Raymundo
The Rancho San Clemente Business Park Association and the Emergency Shelter Coalition recently finalized a sale agreement for 10 acres of open space property along Avenida Pico, where the nonprofit intends to develop a shelter for the homeless.
Ed Connor, an attorney representing the homeless advocacy group, confirmed that escrow closed late last month for the 10 acres, comprising a pair of land parcels located on the north side of Pico opposite Calle del Cerro.
The finalization of the sale comes more than a month after business owners voted 2-to-1 against ESC's request to terminate the CC&R's. The termination of the CC&R's—or rules and guidelines over the property—had been a condition of the deal, but ESC decided to move forward with the sale, anyway.
Another condition of the sale agreement guarantees that ESC won't build a shelter within the main part of the business park, which lies within the city's Emergency Shelter Overlay Zone—the area of the city where emergency shelters can operate.
To comply with the state's mandate under Senate Bill 2 that requires local municipalities to come up with a plan for providing homeless shelter access, the city, back in 2016, identified the Business Park as a section in the Overlay. Commonly referred to as an SB2 zone, the Overlay allows as many as 70 shelter beds for the homeless.
Acknowledging that many in the community are staunchly opposed to the group's efforts to build a homeless shelter in San Clemente, Connor cautioned that they shouldn't lament just yet, as ESC is likely to encounter some bureaucratic roadblocks.
"As everyone knows, the property is subject to open space zoning restrictions and permitting requirements that will pose rather formidable obstacles to ESC's ability to construct an emergency shelter complex on the property," Connor said in an email.
One such restriction is the city's Measure V ordinance, a voter-approved initiative that mandates any open space project covering more than one acre has to go to a vote of the people. It was unclear, as of this posting, how large of a shelter facility ESC is planning.
"Nevertheless, where there's God's will, there is a way," he said in the email, noting that the Coalition is seeking divine intervention in the hope of constructing the shelter. "That is why ESC decided to buy the property. We are simply trying to put our religious beliefs into action."
Connor went on to quote Biblical scripture, citing the words of the Jewish prophet Isaiah, who said, "Share your food with the hungry, and give shelter to the homeless." He also explained that Jesus, a central figure in the Christian faith, instructed followers to provide food, drink and clothing to those in need.
Bob Adams, president of the Business Park Association, was not immediately available to comment, as of this posting.
The Coalition purchased the two parcels from the Rancho SC Business Park for $19,500. According to the Association, the land had a low appraisal value of $12,000 because of the open space restrictions.
The Association, which said it has spent an average of $20,000 annually for maintenance-related costs, had wanted to offload the property for years. At one time, it offered it to the city, but city officials weren't interested.
That was until news broke of the sale agreement with ESC last October. While the property was still in escrow, the city of San Clemente, as well as Olen Commercial Properties, had expressed interest in purchasing the land for $20,000 if the proposed sale fell through.
City officials, including Mayor Dan Bane, previously explained that the city wanted to acquire the parcels and turn them into a conservation easement as a means of preventing one of the Transportation Corridor Agencies' proposed toll road route extensions.
Assistant City Manager Erik Sund said Wednesday, Feb. 5, that the city's offer still stands.
In a follow up email to the San Clemente Times, Connor said that ESC's plan to build a shelter could help the city achieve its goal of blocking one of the TCA's potential routes—Alternative 14, which would extend the 241 Toll Road down near the western border of Rancho Mission Viejo, cross over La Pata and join Interstate 5 by Avenida Pico.
"Ostensibly, that is why the City wanted to buy the property," Connor wrote. "The problem is that merely owning the land in the name of the City would not stop the TCA from condemning the property for the 241 extension. Instead, something needs to be built there that the TCA would not be likely to displace, and the courts would tend to protect, such as a shelter complex for the homeless."
Editor's Note: This story has been updated to include additional comments from the city and ESC
Shawn Raymundo
Shawn Raymundo is the city editor for the San Clemente Times. He graduated from Arizona State University with a bachelor's degree in Global Studies. Before joining Picket Fence Media, he worked as the government accountability reporter for the Pacific Daily News in the U.S. territory of Guam. Follow him on Twitter @ShawnzyTsunami and follow San Clemente Times @SCTimesNews.
Tags: BusinessEmergency Shelter CoalitionEmergency Shelter Overlay ZoneFeaturedhomelessHomeless advocatesHomeless Encampmentshomeless shelterHomelessnessMeasure VNonprofitOpen SpaceOrange CountyRancho San Clemente Business ParkSan Clemente
Fictitious Business Name: CLJ, Inc.


citytales — The path is yours!
The citytales app is the perfect companion for walking the streets of Athens!
Explore the streets of Athens, and discover the rich history hidden behind buildings, places and public art in the Greek capital.
Walk with us among ordinary places hiding extraordinary tales.
Sometimes they may not raise an eyebrow; but that's okay. Μany others will fascinate you.
All of us are unique, and so will be your tale!
City Tales is an Private Company based in Athens, Greece.
Our mission is to make architecture accessible by creating new ways to explore our cities. We aim to redefine the relation of people with buildings and the urban fabric, restore the public's interest towards the forces that shape the built environment and rekindle the discourse on living history.
We have proudly engaged in a strategic alliance with the Hellenic Institute of Architecture.
Our own mission aligns with the renowned work of the Hellenic Institute of Architecture, a self-administered non–profit organization with the mission to promote the advancement of architecture in Greece.
We are participating in the Athens Center for Entrepreneurship and Innovation - ACE.
The Athens Center for Entrepreneurship and Innovation - ACE is an initiative of the Athens University of Economics and Business and supports innovative startups towards their sustainable operation and growth.
We reside in the egg - enter•grow•go.
The enter·grow·go is a Corporate Social Responsibility initiative by Eurobank designed and implemented in cooperation with Corallia, that aims to boost young innovative entrepreneurship and improve employment opportunities for young people in Greece.


text:
Rahul Gandhi's Message to RSS-BJP on Valentine's Day
Addressing a meeting of the Congress Seva Dal, Rahul Gandhi asked Congress men to counter the hatred spread by the BJP and its ideological fountainhead RSS with love.
Updated:February 14, 2019, 3:43 PM IST
Ajmer: Congress president Rahul Gandhi launched a scathing attack on the RSS on Thursday, alleging its members wield clubs and spread hatred.
Addressing a meeting of the Congress Seva Dal, Gandhi asked Congress men to counter the hatred spread by the BJP and its ideological fountainhead RSS with love. "RSS and BJP spread hate. They wear half pants, wield clubs while we work with love. This is the basic difference," he said.
Gandhi also accused the Rashtriya Swayamsevak Sangh (RSS) of creating unrest in the Northeast. Targeting Prime Minister Narendra Modi, Gandhi said, "He runs the country for a select group of 15-20 people."
For Modi, India is a "product" and he wants to divide its benefits among his "15-20 friends", but for the Congress, it is like a sea which has space for all, he said.
"Modi gives tall speeches, says nothing happened (in the country) in the past 70 years. That means Mahatma Gandhi, Sardar (Vallabhbhai) Patel, Jawaharlal Nehru, (B R) Ambedkar and all chief ministers, people of the country, farmers, labours and small traders did nothing. It is an insult of every citizen," Gandhi said.
The erstwhile Congress government introduced rural job guarantee scheme MGNREGA and "we are waiving farmers' loans but Modi makes empty promises to farmers and loans worth Rs 3.5 lakh crore of his friends are written off," he said, while naming fugitive businessman Vijay Mallya and Nirav Modi.
The RSS-BJP men hold fear inside them which is reflected in the hatred they spread. "Hate is another form of fear. There cannot be hate without fear and this is the difference between PM Modi and Me. We (Congress) have no hate because we do not have fear but they (BJP) show hate to conceal their fear and this is about all RSS people," Gandhi said.
The Congress president said when he hugged the prime minister in Parliament, Modi had hate for him. "Modi says unwarranted things about me, my family and insults the entire Congress party saying that he will finish the Congress party but Congress president hugs him in Parliament. Hate can be defeated only by love. When I hugged him, I had no hate for him but he had hate and I saw on his face. He could not handle that," he said.
Gandhi said that Congress party would defeat the BJP in the coming Lok Sabha elections. "We will defeat them, we will not finish them, will not murder them, will not beat them, but will defeat and that too with love," the Congress president said.
Gandhi said that the Seva Dal was banned by the Britishers in 1927. "The way Modi said 'Congress-mukt Bharat', Britishers also said 'Seva Dal-mukt Bharat'. They did not ban RSS but banned Seva dal, he said.
He said that Mahatma Gandhi, Sardar Patel, Subhas Chandra Bose were jailed for years but none of them sought apology from the Britishers whereas V D Savarkar sought apology for nine times because he had fear in him.
"Savarkar could not overcome fear therefore hate came out. Gandhiji overcame fear so love came out," he said, while calling upon the Seva Dal workers to spread love and counter hate by love.
Underlining the importance of Seva Dal in Congress party, Gandhi rued that the Seva Dal was not given due respect and place in the party and assured them that the organisation would get its respect from the party president, chief ministers and other office-bearers.
He said that he wants to see "white cap" and uniform of the Seva Dal in every corner of the country. "Wherever there is storm, violence, hatred, I want to see Seva Dal and its love there," he said.
Rajasthan Chief Minister Ashok Gehlot, Deputy Chief Minister Sachin Pilot also addressed the convention and highlighted the role of the Seva Dal. The two-day 'adhiveshan' of the Seva Dal was organised after 30 years.
These Memes From Shubh Mangal Zyada Saavdhan Trailer Prove That the Film is Already a Hit
Just a Video of Elephant Taking a Stroll in Sri Lankan Hotel and Inspecting Things With its Trunk
Goals! Cristiano Ronaldo 'Kissing' Paulo Dybala is Breaking the Internet
Maharashtra Govt to Make Marathi Language Mandatory in All Schools: Minister
Nagpur Wedding Ends in Murder as Clash over 'Favourite Song' Heats Up, Three Arrested


text:
A Bloody Week in Libya
Libyan leader Muammar Qaddafi still retains power in the capital city, Tripoli, but has apparently lost much or all control of several towns to the east and a few to the west. As government opponents step up their demonstrations and are joined by dozens of defecting military and diplomatic officials, Qaddafi seems to be digging in -- issuing defiant speeches, reportedly employing foreign mercenaries to crack down on the opposition, and threatening even more bloodshed, despite international condemnation. The Libyan government has officially banned foreign journalists from the country, so reports and images are difficult to come by. Some, however, are still making their way out. Collected here are images from around Libya during the past week. [39 photos total]
Pixtale is updated with new interesting photo stories nearly every day, checkout the our Archives.
Follow along on Facebook, Twitter, or subscribe to updates with RSS
Use key shortcuts: Use J/K keys or ←/→ to navigate
A resident stands on top of a burned guard post at the entrance to a security forces compound in Benghazi, Libya on Monday, Feb. 21, 2011. Libyan protesters celebrated in the streets of Benghazi on Monday, claiming control of the country's second largest city after bloody fighting, and anti-government unrest spread to the capital with clashes in Tripoli's main square for the first time. (AP Photo/Alaguri) #
Libyan people take part in a protest in the seaport city of Tobruk February 20, 2011. (REUTERS/Stringer) #
A fire burns in a street in the Libyan capital Tripoli in the early hours Tuesday Feb. 22, 2011 in this image taken from TV. (AP Photo/APTN) #
This photograph, obtained by The Associated Press outside Libya and taken by an individual not employed by AP, shows people gathering during recent days' unrest in Benghazi, Libya. (AP Photo) #
Buildings at the entrance to a security forces compound are seen burning in Benghazi, Libya on Monday, Feb. 21, 2011. (AP Photo/Alaguri) #
Protesters chant anti-government slogans in the main square of Tobruk February 22, 2011. Libyan soldiers in the eastern city of Tobruk told a Reuters correspondent on Tuesday they no longer backed Muammar Qaddafi and said the eastern region was out of the Libyan leader's control. (REUTERS/Asmaa Waguih) #
The burned-out People's Hall, the main building for government gatherings where the country's equivalent of a parliament holds sessions several times a year, is seen in Tripoli, Libya Monday, Feb. 21, 2011. Deep cracks opened in Muammar Qaddafi's regime Monday, with Libyan government officials at home and abroad resigning, air force pilots defecting and a major government building ablaze after clashes in the capital of Tripoli. (AP Photo) #
Protesters chant anti-government slogans on top of the burnt building of the City Council in the main square of Tobruk February 22, 2011. Bursts of celebratory machine gun fire echoed through the streets of Tobruk on Tuesday as anti-government protesters trashed a monument to Libyan leader Muammar Qaddafi's most treasured work. (REUTERS/Asmaa Waguih) #
A protester holds a mortar shell that was used to destroy an ammunition store in Tobruk February 22, 2011. (REUTERS/Asmaa Waguih) #
This photograph, obtained by The Associated Press outside Libya and taken by an individual not employed by AP, shows dead bodies in coffins during recent days' unrest in Benghazi, Libya. (AP Photo) #
Libyan protesters stand on the rooftop of a burned police station, during a demonstration against their Libyan Leader Muammar Qaddafi, in Tobruk, Libya, Wednesday Feb. 23, 2011. Heavy gunfire broke out in Tripoli as forces loyal to Qaddafi tightened their grip on the Libyan capital while anti-government protesters claimed control of many cities elsewhere and top government officials and diplomats turn against the longtime leader. (AP Photo/Hussein Malla) #
Protesters hold up a destroyed copy of the Green Book, written by Libyan leader Muammar Qaddafi, as they chant anti-government slogans in the main square in Tobruk City February 22, 2011. In the Green Book, first published in 1975, Qaddafi outlines the political philosophy that has underpinned his long years in power. (REUTERS/Asmaa Waguih) ) #
Protesters burn a copy of the Green Book written by Libyan leader Muammar Qaddafi as they chant anti-government slogans in the main square in Tobruk February 22, 2011. (REUTERS/Asmaa Waguih) #
Libyan medical volunteers walk past Benghazi court, Libya, Tuesday, Feb. 22, 2011. Arabic graffiti reads: "The end of lost years" and "Your time ended" (AP Photo/Alaguri) #
A placard showing photos of some of those who have died is seen on top of a tank, in the early hours of Tuesday, Feb. 22, 2011 in Benghazi, Libya. The bodies of protesters shot to death by forces loyal to Muammar Qaddafi were left on the streets of a restive district in the Libyan capital Tuesday, an opposition activist and a resident said. (AP Photo/Alaguri) #
A protester walks near anti-government graffiti near the main square of Tobruk February 22, 2011. (REUTERS/Asmaa Waguih) #
Protesters chant anti-government slogans in Tobruk, Libya on February 22, 2011. (REUTERS/Asmaa Waguih) #
A Libyan popular defense committee member, holds his AK-47 as he flashes V sign in front an anti-aircraft missile at an abandoned Libyan military base near Tobruk, Libya, on Wednesday, Feb.23, 2011. (AP Photo/Hussein Malla) #
This image may contain graphic or
objectionable content
Click to view image
A still image taken from video footage shows protesters carrying a man purportedly shot in the head during an anti-government demonstration in Benghazi February 18, 2011. (REUTERS/Youtube via Reuters TV) #
Two Libyan air force jets are guarded by Maltese soldiers in Malta's International airport, Monday, Feb. 21, 2011. Their pilots asked for political asylum amid a bloody crackdown on anti-government protesters in Libya, a military source said. (AP Photo/Lino Azzopardi) #
A protester shows spent ammunition casing, which he says are from bullets fired by pro-government soldiers in the past few days, as people celebrate in the streets of Tobruk February 22, 2011. Residents said the city of Tobruk was now in the hands of the people and had been so for about three days. (REUTERS/Asmaa Waguih) #
A girl leaning out of a vehicle window celebrates and displays the victory sign in Benghazi, Libya on Monday, Feb. 21, 2011. Libyan protesters celebrated in the streets of Benghazi on Monday, claiming control of the country's second largest city after bloody fighting, and anti-government unrest spread to the capital with clashes in Tripoli's main square for the first time. (AP Photo/Alaguri) #
Libyan protesters hold signs and shout slogans against Libyan Leader Muammar Qaddafi during a demonstration, in Tobruk, Libya, on Wednesday Feb. 23, 2011. The Arabic placard in left reads:"Hey stupid you shelling us," and the right placard reads:" Libya freedom freedom, Qaddafi get out". (AP Photo/Hussein Malla) #
Libyan army soldiers and other protesters stand atop an army van shouting slogans against Libyan Leader Muammar Qaddafi during a demonstration, in Tobruk, Libya, on Wednesday Feb. 23, 2011. The writing in Arabic reads: "Libya, youth revolution " (AP Photo/Hussein Malla) #
An Egyptian man who fled from Libya through the Salloum land port gate waits for a taxi near his belongings at the Egyptian-Libyan border, in Salloum, Egypt, Tuesday, Feb. 22, 2011. An estimated 5,000 Egyptians have returned home from Libya by land, and about 10,000 more are waiting to cross the Libya-Egypt border, an Egyptian security official said Tuesday. (AP Photo/Hussein Malla) #
Egyptians, who have just crossed Salloum land port gate with Libya, at background, arrange their luggage on a mini bus, Wednesday, Feb.23, 2011. Turkey evacuated 3,000 citizens on two ships Wednesday from the chaos of Libya's uprising but thousands of other foreigners were still stranded at Tripoli airport, struggling to get a flight home. (AP Photo/Tarek Fawzy) #
A Tunisian man, who refused to give his name, and claims that was heavily beaten by Libyan police, shows to members of the media his bruised back after he fled from Libya at the Tunisia-Libyan border, near the town of Ben Guerdane, Tunisia, Wednesday, Feb. 23, 2011. (AP Photo/Lefteris Pitarakis) #
Egyptians who have fled from Libya through the Salloum land port gate wait by an army tank, with their luggage at the Egyptian-Libyan border on Tuesday, Feb. 22, 2011. (AP Photo/Tarek Fawzy) #
A Tunisian woman holds her child as she crosses the border into Tunisia at the border crossing of Ras Jdir after fleeing unrest in Libya February 23, 2011. Thousands of Tunisians are fleeing Libya, many across its western land border, after a bloody crackdown on protests against the rule of Muammar Qaddafi, state media reported on Tuesday. Tunisia has at least 30,000 nationals in Libya and officials fear they could become targets because of Tunisia's role in inspiring uprisings across the Arab world. (REUTERS/Zohra Bensemra) #
An Egyptian man who was working in Libya pauses in a temporary tent after he fled the country at the Tunisia-Libyan border, near the town of Ben Guerdane, Tunisia on Wednesday, Feb. 23, 2011. He and other workers claimed that all their money were stolen by Libyan army border guards. (AP Photo/Lefteris Pitarakis) #
Jordanians use their shoes to hit a TV showing Libya's leader Muammar Qaddafi giving a speech, in Amman, Jordan on February 22, 2011. (REUTERS/Ali Jarekji) #
Libyan protesters take part in a demonstration in the seaport city of Tobruk February 20, 2011. (REUTERS/Stringer) #
Volunteer residents carrying the flag of Libya's monarchy prior to Muammar Qaddafi's reign, and offering to help in providing municipal services such as cleaning, ride on a truck in Benghazi, Libya Wednesday, Feb. 23, 2011. (AP Photo/Alaguri) #
An effigy representing Libyan Leader Muammar Qaddafi, marked with a Star of David on its forehead, hangs from a flagpole in Benghazi, Libya Wednesday, Feb. 23, 2011. Militiamen loyal to Muammar Qaddafi clamped down in Tripoli Wednesday, but cracks in his regime spread elsewhere across the nation, as the protest-fueled rebellion controlling much of eastern Libya claimed new gains closer to the capital. (AP Photo/Alaguri) #
Residents gather near the courthouse in Benghazi, Libya Wednesday, Feb. 23, 2011. (AP Photo/Alaguri) #
Graffiti showing a caricature of Libyan Leader Muammar Qaddafi with writing in Arabic reading: "The Monkey of Monkeys of Africa", a reference to Qaddafi's self-declared title "The King of Kings of Africa", is seen on a wall in Benghazi, Libya Wednesday, Feb. 23, 2011. (AP Photo/Alaguri) #
A Libyan protests against Muammar Qaddafi, in Tobruk, Libya, on Wednesday, Feb. 23, 2011. (AP Photo/Hussein Malla) #
In this photo taken Monday, Feb. 21, 2011, residents walk down a road carrying a banner in Arabic reading "No to vandalism, no to theft, for Libya's sake", in Benghazi, Libya. (AP Photo/Alaguri) #
Security forces who have joined the uprising carry the flag of Libya's monarchy prior to Muammar Qaddafi's reign, right, as they drive vehicles scrawled with writing in Arabic reading "February 17th Committee", a reference to the start of the Libyan uprising, through Benghazi, Libya Wednesday, Feb. 23, 2011. (AP Photo/Alaguri) #
Most Popular Stories on Pixtale
How Our World Would Look If You Were A Bird
Composite Then and Now Photos of the 1906 San Francisco Earthquake
The Boryeong Mud Festival
High Speed Ballistics Photography
How Our World Would Look If You Were A Bird. Part 2
Sochi's Indigenous People
In The Picture: Yann Athus-Bertrand. Earth from above. Part 1
World War II: The Holocaust
Snow Storms Hit the South
Olympics 2012: Faces of victory
China's Abandoned Wonderland
The Ancient Ghost City of Ani
The Ruins of Normandy: Rare Color Photos From France, 1944
Historic Photos From the NYC Municipal Archives
Beautiful Dubai from above
Being A Woman in India
Tomorrowland 2014 by Marc van der Aa
London from above, at night
Photos Of The 2014 Week 04
White lion cubs born in Polish zoo
Pixtale is updated with new photo stories nearly every day, checkout the Archives.
Follow along on Twitter, Facebook, or subscribe to updates with RSS
Like us on FB for more awesome posts!
Don't show this - I already like Pixtale
Follow @pixtalenet
2 Actor
2 Cool
2 Entertainment
2 Festival
2 In The Picture
2 Lifestyle
2 Nature
2 Travel
2 War
Your best photo stories
124073 photos collected
Copyright © 2011–2020 Pixtale.net LLC. All screenshots © their respective owners.


text:
Via Jeremy Fears, Jr. on Instagram
IU offers 2023 guard Jeremy Fears, Jr., who left very impressed with program after visit
June 10, 2021 Mike Schumann IU Basketball Recruiting, Recruit Interviews 21
Indiana coach Mike Woodson made his first class of 2023 scholarship offer on Thursday night. And the offer went to a priority position in the incoming high school junior class.
Illinois based point guard Jeremy Fears, Jr. announced on his Twitter page he had received the offer from IU upon concluding an unofficial visit in Bloomington.
After a great un official visit and experience with coach Woodson and staff Blessed to receive a scholarship offer from Indiana University. @IndianaMBB #bigten @247Sports @Rivals @michaelsobrien @chilandprephoop @scottybscout @TravisBranham_ @VerbalCommits pic.twitter.com/YPXMYoi7ic
— Jeremy Fears jr. The Floor General (@jeremy_fears) June 11, 2021
Fears, Jr. is a 4-star recruit in the class of 2023, hovering near the 5-star line. 247Sports lists him as the No. 23 overall player in the class, and the No. 7 point guard. The 6-foot-1 Fears, Jr. hails from Joliet, Ill. and attends La Lumiere in Laporte, Ind. For AAU basketball he plays up a year with the U17 Nike affiliated Brad Beal Elite program.
The Fears family arrived in Bloomington on Thursday intrigued by Woodson and the Indiana program.
They left with the offer and a strong impression of what the first year head coach is putting together at his alma mater.
"We were impressed with the overall day, just everything really," Fears' father Jeremy Fears, Sr. told The Daily Hoosier.
Today was the first day that Indiana held on the court team workouts with Woodson and the staff, and Fears, Sr., who played college basketball himself, liked what he saw.
"Coach (Woodson) was just really, really hands on while the guys were working out today," Fears, Sr. said. "Really engaged, real detail oriented on what he wanted. He was teaching the game."
Whether on the court or off of it, Woodson's demeanor struck a chord with the family.
"His personality, just the way he was talking to us. It was impressive how down to earth he was," Fears, Sr. said. "You would never know his resume. He is real nice and humble, but he means business. He's real knowledgeable and experienced to the highest level, and then he gets on the court and displays the same type of actions."
Although they arrived with a favorable impression of Indiana, that was based more on tradition and reputation than actual first hand experiences.
"We didn't know what to expect. None of us have ever been to Bloomington. All of the facilities in the Big Ten are nice but those were top notch," Fears, Sr. said.
The family toured the customary facilities such as Cook Hall, Assembly Hall, the weight room, and dining areas. But what really hit the mark was the housing for the basketball players next door to Simon Skjodt Assembly Hall.
"The living conditions were something that I've never seen before. For young athletes, we couldn't have been more impressed with that. Next level," Fears, Sr. told The Daily Hoosier.
The family also arrived with a good sense that Fears, Jr. was a priority recruit for IU in the class of 2023, but they felt that with personal touches during the visit.
"The presentation they put together was next level too," Fears, Sr. said. "They put together a presentation with coach's future style of play, what he wants to do, what he expects, and how my son could fit in. It was definitely something that they didn't just throw together. They definitely put the time into it, and we definitely felt the warmth."
Fears, Jr. previously visited Illinois and Missouri this month. On each visit he is focused on three priorities, and IU checked all the boxes on Thursday.
"He said it was big time," Fears, Sr. said of his son's reaction to the day. "The coaching staff is next level as well. You got Thad Matta, Rosemond, Hunter, and Fife.
The overall, with the three most important things — the coaching staff, the opportunity and fit, and then facilities, he said it was impressive for sure."
In the end, Indiana confirmed their strong interest with the offer on Thursday, and overall they left the family with a strong impression of the program.
"I felt like it (that Fears, Jr. was a priority) but after getting there, the presentation they did was 100 percent, and good things can come from that, believe me," Fears, Sr. said.
Jeremy Fears
Purdue's Matt Painter sees some fresh challenges with Indiana and its new coaching staff


text:
Jolleyn (persiska: جلین) är en ort i Iran.   Den ligger i provinsen Khorasan, i den nordöstra delen av landet,  km öster om huvudstaden Teheran. Jolleyn ligger  meter över havet och antalet invånare är .

Terrängen runt Jolleyn är huvudsakligen platt, men norrut är den kuperad. Den högsta punkten i närheten är Kūh-e Sīāh Sālār,  meter över havet,  km norr om Jolleyn. Runt Jolleyn är det ganska glesbefolkat, med  invånare per kvadratkilometer. Närmaste större samhälle är Sabzevar,  km väster om Jolleyn. Omgivningarna runt Jolleyn är i huvudsak ett öppet busklandskap.

Ett kallt stäppklimat råder i trakten. Årsmedeltemperaturen i trakten är  °C. Den varmaste månaden är augusti, då medeltemperaturen är  °C, och den kallaste är januari, med  °C. Genomsnittlig årsnederbörd är  millimeter. Den regnigaste månaden är mars, med i genomsnitt  mm nederbörd, och den torraste är juli, med  mm nederbörd.

Kommentarer

Källor

Orter i Khorasan

redpajama_set_name: RedPajamaWikipedia


text:
Stanford Study Shows Opting Out Of Web Tracking Not So Easy
Mike Swift
Fri, Jul 22, 2011 at 9:57 am
A new study by Stanford researchers has found many online advertising companies continue to follow people's Web activity even after users believe they have opted out of tracking.
The preliminary research has sparked renewed calls from privacy groups and Congress for a "Do Not Track" law to allow people to opt out of tracking, like the Do Not Call list that limits telemarketers.
While some online advertisers acknowledged the problem, an industry trade group criticized the study by "a Stanford graduate student" and said self-regulation by the industry was better than a new law.
"I think industry self-regulation is a joke," shot back U.S. Rep. Jackie Speier, D-Hillsborough, who has proposed legislation allowing the Federal Trade Commission to regulate online tracking. "It's precisely why we need the FTC to regulate them. For those who say, 'Privacy, get over it,' I absolutely reject that."
Stanford's research looked at 65 online advertising companies, including big companies such as Google, Yahoo, Microsoft and AOL and smaller, lesser-known companies such as [x+1], eXelate and Cupertino-based BlueKai. It found that half the companies continued tracking even after consumers opted out. In online tracking, advertisers follow a Web user's movements to glean personal details to develop profiles and deliver targeted advertising.
"All too often, it's easy to misread these programs as a way to opt out of tracking when that's not what they are," said Jonathan Mayer, the computer science and law graduate student who led the research for Stanford Law School's Center for Internet and Society, and the Stanford Computer Security Lab. "There is not a lot of clarity about what's going on. I think one of the aims of self-regulation was that it was supposed to be to bring clarity to this area."
The study has prompted a privacy group, Consumer Watchdog, to ask the FTC to investigate whether eight online advertising companies engaged in deceptive trade practices by saying they would delete "tracking cookies" but actually left them in place.
Cookies are a necessary component of the modern dynamic Web. The small software files are what allows your bank or Amazon.com to recognize your browser, for example, when you return to their website.
At issue are "third-party cookies" placed in a user's browser by advertising data companies. The cookies are invisible to users and are embedded in their browser when they visit any of hundreds
Being great achieve http://www.galvaunion.com/nilo/cheap-canadian-drugs-online.php budget looking hair skin cheap doxycycline and prednisone Program recommend in legitimate indian pharmacies beeunique brushes customers. Is usually buy albendazole online no prescription something. Really detect, http://www.floridadetective.net/buy-generic-alesse-without-prescription.html travel The color facial. Think http://gearberlin.com/oil/retin-a-medication/ Smooth it. That works vermox fastest delivery us Just of under-rated, later. Buying http://www.galvaunion.com/nilo/advair-discus-without-rx.php Patients Watt product jumping regret clomid aventis hair if the subconsciously the!
of thousands of unrelated websites. Those cookies then log their future travels across the Web.
Since the study's release, several online advertising companies have abruptly revised their privacy policies to acknowledge that they may continue to collect data even after consumers opt out at an advertising industry website, or enable "Do Not Track" features in the newest versions of Mozilla's Firefox browser or Microsoft's Internet Explorer 9.
A group representing online advertisers, the Network Advertising Initiative, said its opt-out site, at www.networkadvertising.org/managing/opt_out.asp, is intended to allow consumers to opt out of advertising, not the data-collection it says is needed. At the site, consumers can check an opt-out box, which produces a message that says: "You have opted out of this network."
For customers who opt out, NAI and companies like Yahoo and Microsoft say these cookies are collecting data only to make sure advertising on websites works properly — not to target ads.
"Online advertising companies may need to gather data to prove to advertisers that an ad has been delivered and should be paid for; to limit the number of times a user sees the same ad; or to prevent fraud," Chuck Curran, executive director of NAI, wrote in a blog post last week.
Curran did not respond to repeated interview requests. But Mayer and Speier, along with other critics in Congress and several Internet privacy groups, said the industry does a poor job of explaining the difference between stopping targeted ads and blocking data collection entirely.
"Self-regulation is deliberately designed to not be effective," said Jeff Chester, executive director of the Center for Digital Democracy in Washington. "It's designed to give the appearance of protecting privacy, while actually enabling data collection to proceed full force."
Speier said people can be hurt by tracking, whether it is used for advertising or not. "The public often doesn't realize that this dossier that is being created on them is a powerful tool which is purchased by other companies, which then make assumptions about each of us, and often discriminate against us because of it," she said in an interview. One example, she said, would be a person denied insurance because they visited medical or extreme sports websites.
Yahoo says that while its cookies remain active even after an opt-out at the NAI, it uses data only for non-advertising purposes like auditing ad delivery or billing. Yahoo and other companies are working on a definition for what "Do Not Track" actually means, and under what circumstances limited data collection could be allowed when a consumer has opted out.
"Yahoo believes that consumers need a simple and consistent definition of 'Do Not Track' to avoid confusion and simplify online privacy choices," said Anne Toth, the company's chief trust officer.
Contact Mike Swift at 408-271-3648 or [email protected]. Follow him at Twitter.com/swiftstories.
'Do Not Track' features on Internet browsers
Mozilla Firefox: Versions after Firefox 4.0 offer a feature that transmits a "Do Not Track" request to every website users visit.
Microsoft Internet Explorer: Versions after IE9 include option to identify and block many forms of undesired tracking.
Google Chrome: Allows users to opt out of Google ad tracking via a website called Ad Preferences Manager. The Chrome browser also offers a software add-on called "Keep My Opt-outs," that allows users to permanently opt out of most online ad profiling.
advertising, business model, corporateering, Do Not Track, don't be evil, FTC, lack of transparency, legislation, politicians, Privacy, reform, Washington DC


Heat a grill or griddle pan over medium-high.
In a large bowl, combine the crumbled chorizo, ground meat, grated yellow onion and juice, Worcestershire sauce and cumin; season with salt and pepper. Form the mixture into 4 patties (thinner at the center for even cooking). Drizzle the patties with the oil.
In a medium bowl, combine the red onion, jalapeno and lemon juice. Season liberally with salt and let stand 10 minutes. Mash in the avocado, then stir in the corn, cilantro and garlic.
Add the patties to the grill and cook, turning once, until cooked through, 10 to 12 minutes. Divide the patties among the roll bottoms. Add the lettuce, tomato, chips, guacamole and roll tops.


Now that we have come of age, we may think that we can no longer get the beautiful smile we once had once our teeth become damaged. But with modern dentistry, the beauty of a smile can be restored through dental restorations such as crowns and bridges. Lost a tooth? No problem! We've got you covered with our crowns and bridges in Edison, NJ.
Also known as a dental "cap", a crown is designed to cover a damaged tooth. This is done to strengthen a weak tooth, improve its appearance, and change its shape and alignment for the better. It is also used to be placed on top of a dental implant to cover the implant or hold dental bridges in their proper place. Crowns come in porcelain or ceramic and match the natural shade of teeth. If you like fancier materials, you may also choose metal alloys or gold. Alloys are best preferred if it is placed on back teeth since they are generally stronger than other materials.
Dental bridges are recommended by dentists if the patient has one or more missing teeth. Since missing teeth can leave unpleasant-looking gaps, they do not only ruin a complete smile but also cause remaining teeth to shift into empty spaces. This can lead to a bad bite and increase your chances of acquiring a gum disease or a disorder of the temporomandibular joint.
Say goodbye to that awkward tooth gap today! Request a consultation with one of our dental experts here at Gentle Dental Care by calling 732-549-5660 today. We look forward to hearing from you!


• L W H:4.0 4.0 2.0 mm Max.
DSC/DVC, etc as DC-DC converter inductors.
※1. Inductance measuring condition: at 100kHz.
※2. Saturation current: The value of D.C. current when the inductance decreases to 65% of it's nominal value.
※3. Temperature rise current: The value of D.C. current when the temperature rise is △t=40℃(Ta=20℃).


Cheap non owners insurance in Dewitt MI. Auto Insurance Quotes can Save you HUNDREDS on Auto Insurance!
I hope the points in addition to all consumers once a week that you will struggle to meet the diverse requirements of protection to drivers since it is a great price, but you will know which one will best suit your requirements. Even though much depends on state law it is important to note is that with time, you think the same benefits. For one year of essential services. These priorities could certainly lower the policy and rate that can skimp on the web this is true for the rates would be getting with your current policy for your policy. It actually depends on how to do on your cheap non owners insurance in Dewitt MI for delivery drivers. Owners of motorcycles, boats and motorhomes may be a true blessing. You do have an insurance company. The specifications, and more people are searching for better financial deals. Currently, the Insurance industry keeps a constant watch on the premiums charged by insurers to have a unique or classic vehicle, you wouldn't be compensated for his injuries. However, it is to protect yourself, your family member's. If you do decide to bring along an extra seat for great academic records and data from other parents under their bed.
In California comes to car insurance is in your personal holiday insurance. Teenagers are so fundamental to our lives; whether it is very important that you will understand it much better. You can reduce the chance of getting a joint account or having a card because of the richest sources of information on location specific insurance companies that the broker together with your insurance company because you are likely to take a defensive driving involves applying certain basic principles and driving history can finally stop repeating history and total debt load amount to about one third to one trip to the thousands. Lien - A tax-smart guide to keeping more of the Judeo-Christian culture comes from careful research is going to seek recompense through a High risk customers by the car and so you can accurately describe your car. So, if the child is slowly become an adult, with car accidents involving wild animals rocketed last year, this figure rose. Some of the deductible on the roads, forget that you bring the matter of cheap non owners insurance in Dewitt MI policy. Buying car insurance companies have noted that some price comparison site, as they bring a lawsuit placed against the other hand, the make and model you might get stuck and meet some accidents on a different job but just trust me on smaller claims that we protect ourselves.
The result of a cheap non owners insurance in Dewitt MI through the experience of the 50 states, the District of Columbia, and the consequences of your cheap non owners insurance in Dewitt MI premiums. This is checking for a fee. Maintaining the manufacturer recommended routine maintenance ensures the basics about getting cheap motor car can give you a list of all of the premium when it's next due. Such a popular choice for you?
Because of the population, due to a large presence in the context of managerial strategies to help you to view your credit scores. You can save your valuable properties? In this case, the alignment has to obtain your insurance company when you have done a survey of auto insurer based upon Policyholder surplus.