Fuel reduction techniques are critical in our forests after the storm, especially near our homes.
Is your forest ready for wildfire?
What a whirlwind of weather we have experienced this year! The historic February snowstorm, or "Snowmageddon," has caused millions of dollars of damage to local infrastructure and forests. This includes fallen trees and mountains of woody debris, creating tangled messes in our forests.
The downed trees, limbs and debris (aka fuel) on the forest floor can impact your risk for future wildfire. The increase of fuel on the forest floor, coupled with rapid drying that will occur during the hot summer months, creates a recipe that is perfect for carrying wildfire through your forest.
Spring is the perfect time to get outside and reduce the buildup of fuel in your forest. But what do you do with all that woody material?
If you have enough volume of downed mature trees, you might be able to sell them to a local mill. Unmerchantable and small-diameter logs can be cut and/or sold for firewood. Another option is to hire a portable sawmill operator who can produce lumber from logs on your land for your personal use.
For the downed tops, limbs and other unsalvageable material, there are several options for disposal. You can cut and scatter the material and leave it on the forest floor. This method does not eliminate the fuels — it just redistributes them. They will remain a fire hazard until they decompose, so this is only recommended for areas where the ladder fuels and slash loads are light.
Woody material can also be cut, piled and burned. You can do this by hand or with mechanized equipment on gentle slopes. Pile burning has significant risks, and a landowner who does not follow burning restrictions and regulations may be held liable if a fire escapes and becomes a wildfire.
You may choose to chip some of the downed material left in your woods. Chipping is a very effective method of slash disposal and provides benefits such as increased soil moisture retention and inhibiting weed germination.
Lastly, if the material is close to a road, you might consider hauling the material away. This method is best-suited around homesites where access is easy.
If you would like to learn more about how to make your property more fire-resilient after the storm, sign up for Fire-Resilient Woodlands — a one day class offered this Saturday.
The Douglas County Extension Service, DFPA and Douglas Small Woodlands Association will offer Fire Resilient Woodlands from 9 a.m. to 4 p.m. at the OSU Extension Annex, 1134 SE Douglas Ave., Roseburg. We will visit a local small woodland property to learn about some of these topics on the ground.
The cost is $10 per person or $15 per couple (sharing materials). Advance registration is required by Thursday.
Register for Fire Resilient Woodlands by visiting tinyurl.com/fire-resilient. You can also register by emailing douglas.extension@oregonstate.edu or calling 541-672-4461.
Alicia Christiansen is the Forestry Extension Agent for OSU Extension Service of Douglas County. Alicia can be reached at Alicia.Christiansen@oregonstate.edu. or 541-672-4461.


We are the leading Private Detective Agency in Chennai, Delhi.
Get more information about Private Detective Agency in Chennai and Private Detective Agency in Delhi.
Private Detective Agency: We are Best Private Detective Agency in Chennai and Delhi!


Is the impact that you have in your job measurable? I was recently asked what impact an Agile Coach has in an organisation. This should be a relatively straight-forward question to answer. Let's see how I do in this post.
If you are an individual contributor, say someone in sales or a technical recruiter, then it may be easy to measure your contribution through metrics. The amount of advertising you sold this month in euros or the number of developers you have recruited this year. These metrics may provide information to the company about your work, but does it tell us about your impact?
What if you recruit the developer who tweaks the product from something good to a game-changer that makes the company world famous and incredibly successful? The developer may be just another number in a dashboard of someone who looks at the metrics, but it tells a very small part of the story.
I recently had a conversation in a class with a Product Owner who vehemently believed that everything had to be measured. He quoted Peter Drucker with the "What gets measured, gets improved" sentence and while I heartily agree that metrics help us, they are not the be all to end all. I didn't have any metrics associated with it, however I worked hard to help people in my team get promoted. This could have been a metric, but it wasn't. Are there things that cannot be measured but are important?
Does your partner love you? How much?
If you are married or in a long-term relationship, your partner has probably asked at some stage "How much do you love me?". Did you give a number? How do you know if it improved or got worse?
There are times when you have to go by sensations, signals and feelings. For some people these will be difficult to believe. While they may not measureable, these will almost certainly be linked indirectly to improvements of metrics that you use with your teams.
One of my happiest moments came when working in a company we helped reduce their time to market from one release every three months to a release every two weeks. While this was very satisfying, I enjoyed it even more when a developer said that without the improvements that we had helped his team interiorize, he would have left the company months ago.
While metrics are very important to help take decisions, they are not the only things that you can have an impact on. Things that may be more difficult to measure will most likely have an impact on some metric. For example, improving communication between teams in a department would hopefully see a reduction in the number of incidents.
A team that enjoys the work more, should see improvements in their metrics if all other things remain the same.
To answer the question of how much impact your work has, remember that the metrics you choose should provide a guide but they are not the only thing and should not be used in isolation.
Are you collecting the right metrics to show the impact of your work? Let us know the metrics you use in the comments section below.
In Management 3.0 we discuss the topic of metrics and objectives. If you want to be part of these conversations in Management 3.0, click here to check out when the next class will be.


dark teal pillow pillows amazon throw turquoise case decorative regarding sofa plan 5 bedrooms d velvet.
dark teal pillow creative home design fascinating throw pillows photos table and inside sofa.
dark teal pillow image 0 velvet.
dark teal pillow throw covers marine blue stars decorative cover printed home decor case 1 toss pillows.
dark teal pillow throw pillows velvet wool striped cover x masculine cabin pill toss.
dark teal pillow perfect accent color shams.
dark teal pillow cover oriental jade linen by green pillows lumbar.
dark teal pillow pillows luxury couch or sofa throw awesome best decorative in good blue.
dark teal pillow image 0 sofa pillows.
dark teal pillow throw lovely pillows at best grey bedrooms ideas on teen blue.
dark teal pillow pillows velvet sofa fabric cushion big back cushions blue.
dark teal pillow throw decorative velvet.
dark teal pillow pillows decorative medium size of turquoise covers green.
dark teal pillow pillows clouds gathering grey marbling floor toss.
dark teal pillow image 0 lumbar.
dark teal pillow and grey pillows toss throw lumbar.
dark teal pillow throw pillows s covers.
dark teal pillow brushstroke pattern cotton cases.
dark teal pillow green cotton poplin floral print square sofa cushion cover trade me cases.
dark teal pillow summer mermaid throw pillows.
dark teal pillow pillows blue green sofa throw covers.
dark teal pillow pillows medium size of accent covers blue.
dark teal pillow blue throw pillows photo 2 of 6 decorative x.
dark teal pillow extraordinary couch pillows decorative deer throw green.
dark teal pillow pillows green blue.
dark teal pillow pillows throw target covers.
dark teal pillow lime green decorative pillows awesome best gray images blue throw.


text:
Mercedes finally confirm James Allison as new Technical Director
STAFF WRITER | February 16, 2017 - 9:24pm
MONTMELO, SPAIN - MARCH 04: James Allison, Chassis Technical Director of Ferrari looks on outside the garage during day four of F1 winter testing at Circuit de Catalunya on March 4, 2016 in Montmelo, Spain. (Photo by Mark Thompson/Getty Images)
The Mercedes Formula One team today confirmed the speculation that former Ferrari man James Allison was indeed joining the Brackley based squad as Technical Director.
James, who is taking the place vacated by Paddy Lowe at the end of 2016, will join the team on March 1st under a slightly different guise.
A highly distinguished Formula 1 engineer who has won world championships with both Ferrari and Renault, in addition to holding senior leadership roles in both teams, will join Mercedes in the newly created role of Technical Director and will lead the Technical organisation.
"I am very excited to be getting back to work after this time away from the sport," he said. "It's a massive privilege to be given the trust of a position in a team that has done so spectacularly well in the past three seasons. I am really looking forward to playing my part in helping Mercedes go from strength to strength in the coming years."
James will be welcomed warmly by the established group of senior technical managers that delivered the last three Formula One double world championships and will report directly to Toto Wolff, who will have overall responsibility for running the team.
"I am delighted to welcome James to Mercedes and very much looking forward to working with him," Toto said. "Our technical team is extremely skilled at every level and at the top of its game after delivering three world championships in a row."
"It wasn't an easy task to find the right personality who can strengthen our experienced group of engineers, give our talented young team members the space to develop and also bring his own vision to this role. James is a sharp engineer; I think we have found the perfect guy and the right fit with our senior leaders."
AFL News
Motorsport News
US Sports News

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: How to add item which contains timer function using ng-repeat? I'm trying to dynamically add item which contains a timer.For now, it only update the timer value when added new item.
How to update the timer value of each item per second?
HTML

       ID:{{item.id}}

       time:{{item.time}}

Controller
function MyCtrl($scope) {
    $scope.items = [];
    function random(min,max) {
        return Math.floor(Math.random()*(max-min+1)+min);
    }
    $scope.addItem = function () {
        var item = {};
        item.id = random(0,10);
        item.created = new Date();
        item.timer =  setInterval(function() {
                        var cur = new Date();
                        item.time = (cur.getTime() - item.created);
                      },1000);
        $scope.items.push(item);
    }
}

jsfiddle

A: You need to wrap the body of timer with $scope.$apply to notify AngularJS that model is changed and it should update the view:
item.timer =  setInterval(function() {
   $scope.$apply(function(){
       var cur = new Date();
       item.time = (cur.getTime() - item.created);
   });
},1000);

DEMO

redpajama_set_name: RedPajamaStackExchange


text:
// Copyright (c) 2003 Microsoft Corporation.  All rights reserved.
// Last modified on Mon 30 Apr 2007 at 13:33:44 PST by lamport
//      modified on Thu Jan 10 18:41:04 PST 2002 by yuanyu

package tlc2.tool.liveness;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.CompletionService;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorCompletionService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;

import tlc2.TLC;
import tlc2.TLCGlobals;
import tlc2.output.EC;
import tlc2.output.MP;
import tlc2.output.StatePrinter;
import tlc2.tool.Action;
import tlc2.tool.EvalException;
import tlc2.tool.INextStateFunctor.InvariantViolatedException;
import tlc2.tool.ITool;
import tlc2.tool.ModelChecker;
import tlc2.tool.StateVec;
import tlc2.tool.TLCState;
import tlc2.tool.TLCStateInfo;
import tlc2.util.BitVector;
import tlc2.util.IStateWriter;
import tlc2.util.IStateWriter.Visualization;
import tlc2.util.LongVec;
import tlc2.util.NoopStateWriter;
import tlc2.util.SetOfStates;
import tlc2.util.statistics.IBucketStatistics;
import tlc2.value.impl.CounterExample;
import util.Assert;

public class LiveCheck implements ILiveCheck {

	private final String metadir;
	private final IBucketStatistics outDegreeGraphStats;
	private final ILiveChecker[] checker;

	public LiveCheck(ITool tool, String mdir, IBucketStatistics bucketStatistics) throws IOException {
		this(tool, Liveness.processLiveness(tool), mdir, bucketStatistics, new NoopStateWriter());
	}

	public LiveCheck(ITool tool, String mdir, IBucketStatistics bucketStatistics, IStateWriter stateWriter) throws IOException {
		this(tool, Liveness.processLiveness(tool), mdir, bucketStatistics, stateWriter);
	}

	public LiveCheck(ITool tool, OrderOfSolution[] solutions, String mdir, IBucketStatistics bucketStatistics) throws IOException {
		this(tool, solutions, mdir, bucketStatistics, new NoopLivenessStateWriter());
	}

	public LiveCheck(ITool tool, OrderOfSolution[] solutions, String mdir, IBucketStatistics bucketStatistics, IStateWriter stateWriter) throws IOException {
		metadir = mdir;
		outDegreeGraphStats = bucketStatistics;
		checker = new ILiveChecker[solutions.length];
		for (int soln = 0; soln < solutions.length; soln++) {
			final ILivenessStateWriter writer = stateWriter.isNoop() || !stateWriter.isDot()
					? new NoopLivenessStateWriter()
					: new DotLivenessStateWriter(stateWriter);
			if (!solutions[soln].hasTableau()) {
				checker[soln] = new LiveChecker(solutions[soln], soln, bucketStatistics, writer);
			} else {
				checker[soln] = new TableauLiveChecker(solutions[soln], soln, bucketStatistics, writer);
			}
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#addInitState(tlc2.tool.TLCState, long)
	 */
	public void addInitState(ITool tool, TLCState state, long stateFP) {
		for (int i = 0; i < checker.length; i++) {
			checker[i].addInitState(tool, state, stateFP);
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#addNextState(tlc2.tool.TLCState, long, tlc2.util.SetOfStates)
	 */
	public void addNextState(ITool tool, TLCState s0, long fp0, SetOfStates nextStates) throws IOException {
		for (int i = 0; i < checker.length; i++) {
			final ILiveChecker check = checker[i];
			final OrderOfSolution oos = check.getSolution();
			final int alen = oos.getCheckAction().length;

			// Check the actions *before* the solution lock is acquired. This
			// increase concurrency as the lock on the OrderOfSolution is pretty
			// coarse grained (it essentially means we lock the complete
			// behavior graph (DiskGraph) just to add a single node). The
			// drawback is obviously, that we create a short-lived BitVector
			// to hold the result and loop over actions x successors twice
			// (here and down below). This is a little price to pay for significantly
			// increased concurrency.
			//
			// The actions have to be checked here because - in the light of
			// symmetry - while we still have access to the actual successor
			// state rather than just its fingerprint that represents all states
			// in the symmetry set. Unless super-symmetry is in place (the
			// actions checks for all states in the symmetry set evaluate to the
			// same value), the "smallest" (see
			// tlc2.tool.TLCStateMut.fingerPrint()) cannot be used as a
			// replacement state to check the actions.
			// TODO: In the past (commit 768b8e8), actions were only evaluated for nodes
			// that are new (ptr == -1)
			// (see https://github.com/tlaplus/tlaplus/issues/614)
			final BitVector checkActionResults = new BitVector(alen * nextStates.size());
			for (int sidx = 0; sidx < nextStates.size(); sidx++) {
				final TLCState s1 = nextStates.next();
				oos.checkAction(tool, s0, s1, checkActionResults, alen * sidx);
			}
			nextStates.resetNext();
			check.addNextState(tool, s0, fp0, nextStates, checkActionResults, oos.checkState(tool, s0));

			// Write the content of the current graph to a file in GraphViz
			// format. Useful when debugging!
//			check.getDiskGraph().writeDotViz(oos, new java.io.File(
//					metadir + java.io.File.separator + "dgraph_" + i + "_" + System.currentTimeMillis() + ".dot"));
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#doLiveCheck()
	 */
	public boolean doLiveCheck() {
		for (int i = 0; i < checker.length; i++) {
			// If one of the disk graph's size has increased by the given
			// percentage, run liveness checking.
			//
			// TODO Alternatively:
			//
			// - LL suggest to dedicate a fixed fraction of model checking time
			// to liveness checking.
			//
			// - The level could be taken into account. Unless the level
			// (height) of the graph increases, no new cycle won't be found
			// anyway (all other aspects of liveness checking are checked as
			// part of regular safety checking).
			//
			// - The authors of the Divine model checker describe an algorithm
			// in http://dx.doi.org/10.1109/ASE.2003.1240299
			// that counts the "Back-level Edges" and runs liveness checking upon
			// a counter reaching a certain (user defined?!) threshold.
			//
			final AbstractDiskGraph diskGraph = checker[i].getDiskGraph();
			final long sizeAtLastCheck = diskGraph.getSizeAtLastCheck();
			final long sizeCurrently = diskGraph.size();
			final double delta = (sizeCurrently - sizeAtLastCheck) / (sizeAtLastCheck * 1.d);
			if (delta > TLCGlobals.livenessThreshold) {
				return true;
			}
		}
		return false;
	}

	@Override
	public int check(ITool tool, boolean forceCheck) throws Exception {
		if (forceCheck) {
			return check0(tool, false);
		}
		if (!TLCGlobals.doLiveness()) {
			// The user requested to only check liveness once, on the complete
			// state graph.
			return EC.NO_ERROR;
		}
		for (int i = 0; i < checker.length; i++) {
			// see note in doLiveCheck() above!
			final AbstractDiskGraph diskGraph = checker[i].getDiskGraph();
			final long sizeAtLastCheck = diskGraph.getSizeAtLastCheck();
			final long sizeCurrently = diskGraph.size();
			final double delta = (sizeCurrently - sizeAtLastCheck) / (sizeAtLastCheck * 1.d);
			if (delta > TLCGlobals.livenessThreshold) {
				return check0(tool, false);
			}
		}
		return EC.NO_ERROR;
	}

	@Override
	public int finalCheck(ITool tool) throws InterruptedException, IOException {
		// Do *not* re-create the nodePtrTable after the check which takes a
		// while for larger disk graphs.
		return check0(tool, true);
	}

	/**
	 * @param finalCheck
	 *            If the internal nodePtrTbl should be restored for a subsequent
	 *            liveness check. If this is the final/last check, it's pointless
	 *            to re-create the nodePtrTable.
	 */
	protected int check0(final ITool tool, final boolean finalCheck) throws InterruptedException, IOException {
		final long startTime = System.currentTimeMillis();

		// Sum up the number of nodes in all disk graphs to indicate the amount
		// of work to be done by liveness checking.
		long sum = 0L;
		for (int i = 0; i < checker.length; i++) {
			sum += checker[i].getDiskGraph().size();
		}
		MP.printMessage(EC.TLC_CHECKING_TEMPORAL_PROPS, new String[] { finalCheck ? "complete" : "current",
				Long.toString(sum), checker.length == 1 ? "" : checker.length + " branches of " });

		// Copy the array of checkers into a concurrent-enabled queue
		// that allows LiveWorker threads to easily get the next
		// LiveChecker to work on. We don't really need the FIFO
		// ordering of the BlockingQueue, just its support for removing
		// elements concurrently.
		//
		// Logically the queue is the unit of work the group of LiveWorkers
		// has to complete. Once the queue is empty, all work is done and
		// the LiveWorker threads will terminate.
		//
		// An alternative implementation could partition the array of
		// LiveChecker a-priori and assign one partition to each thread.
		// However, that assumes the work in all partitions is evenly
		// distributed, which is not necessarily true.
		final BlockingQueue<ILiveChecker> queue = new ArrayBlockingQueue<ILiveChecker>(checker.length);
		queue.addAll(Arrays.asList(checker));

		/*
		 * A LiveWorker below can either complete a unit of work a) without finding a
		 * liveness violation, b) finds a violation, or c) fails to check because of an
		 * exception/error (such as going out of memory). In case an LW fails to check,
		 * we still wait for all other LWs to complete. A subset of the LWs might have
		 * found a violation. In other words, the OOM of an LW has lower precedence than
		 * a violation found by another LW. However, if any LW fails to check, we terminate
		 * model checking after all LWs completed.
		 */
		final int wNum = TLCGlobals.doSequentialLiveness() ? 1 : Math.min(checker.length, TLCGlobals.getNumWorkers());
		final ExecutorService pool = Executors.newFixedThreadPool(wNum);
		// CS is really just a container around the set of Futures returned by the pool. It saves us from
		// creating a low-level array.
		final CompletionService<Boolean> completionService = new ExecutorCompletionService<Boolean>(pool);

		for (int i = 0; i < wNum; i++) {
			completionService.submit(new LiveWorker(tool, i, wNum, this, queue, finalCheck));
		}
		// Wait for all LWs to complete.
		pool.shutdown();
		pool.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS); // wait forever

		// Check if any one of the LWs found a violation (ignore failures for now).
		ExecutionException ee = null;
		for (int i = 0; i < wNum; i++) {
			try {
				final Future<Boolean> future = completionService.take();
				if (future.get()) {
					MP.printMessage(EC.TLC_CHECKING_TEMPORAL_PROPS_END,
							TLC.convertRuntimeToHumanReadable(System.currentTimeMillis() - startTime));
					return EC.TLC_TEMPORAL_PROPERTY_VIOLATED;
				}
			} catch (final ExecutionException e) {
				// handled below!
				ee = e;
			}
		}
		// Terminate if any one of the LWs failed c)
		if (ee != null) {
			final Throwable cause = ee.getCause();
			if (cause instanceof OutOfMemoryError) {
				MP.printError(EC.SYSTEM_OUT_OF_MEMORY_LIVENESS, cause);
			} else if (cause instanceof StackOverflowError) {
				MP.printError(EC.SYSTEM_STACK_OVERFLOW, cause);
			} else if (cause != null) {
				MP.printError(EC.GENERAL, cause);
			} else {
				MP.printError(EC.GENERAL, ee);
			}
			System.exit(1);
		}

		// Reset after checking unless it's the final check:
		if (finalCheck == false) {
			for (int i = 0; i < checker.length; i++) {
				checker[i].getDiskGraph().makeNodePtrTbl();
			}
		}
		MP.printMessage(EC.TLC_CHECKING_TEMPORAL_PROPS_END, TLC.convertRuntimeToHumanReadable(System.currentTimeMillis() - startTime));

		return EC.NO_ERROR;
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#checkTrace(tlc2.tool.StateVec)
	 */
	public void checkTrace(ITool tool, final Supplier<StateVec> traceSupplier) throws InterruptedException, IOException {
		final StateVec stateTrace = traceSupplier.get();
		// Add the first state to the LiveCheck as the current init state
		addInitState(tool, stateTrace.elementAt(0), stateTrace.elementAt(0).fingerPrint());

		// Add the remaining states...
		final SetOfStates successors = new SetOfStates(stateTrace.size() * 2);

		// For all states except last one add the successor
		// (which is the next state in stateTrace).
		for (int i = 0; i < stateTrace.size() - 1; i++) {
			// Empty out old successors.
			successors.clear();

			// Calculate the current state's fingerprint
			final TLCState tlcState = stateTrace.elementAt(i);
			final long fingerPrint = tlcState.fingerPrint();

			// Add state itself to allow stuttering
			successors.put(tlcState);

			// Add the successor in the trace
			final TLCState successor = stateTrace.elementAt(i + 1);
			successors.put(successor);
			addNextState(tool, tlcState, fingerPrint, successors);
		}

		// Add last state in trace for which *no* successors have been generated
		final TLCState lastState = stateTrace.elementAt(stateTrace.size() - 1);
		addNextState(tool, lastState, lastState.fingerPrint(), new SetOfStates(0));

		// Do *not* re-create the nodePtrTbl when it is thrown away anyway.
		final int result = check0(tool, true);
		if (result != EC.NO_ERROR) {
			throw new LiveException(result);
		}

		// We are done with the current subsequence of the behavior. Reset LiveCheck
		// for the next behavior simulation is going to create.
		reset();
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#getMetaDir()
	 */
	public String getMetaDir() {
		return metadir;
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#getOutDegreeStatistics()
	 */
	public IBucketStatistics getOutDegreeStatistics() {
		return outDegreeGraphStats;
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#getChecker(int)
	 */
	public ILiveChecker getChecker(final int idx) {
		return checker[idx];
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#getNumChecker()
	 */
	public int getNumChecker() {
		return checker.length;
	}

	/* Close all the files for disk graphs. */
	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#close()
	 */
	public void close() throws IOException {
		for (int i = 0; i < checker.length; i++) {
			checker[i].close();
		}
	}

	/* Checkpoint. */
	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#beginChkpt()
	 */
	public synchronized void beginChkpt() throws IOException {
		for (int i = 0; i < checker.length; i++) {
			checker[i].getDiskGraph().beginChkpt();
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#commitChkpt()
	 */
	public void commitChkpt() throws IOException {
		for (int i = 0; i < checker.length; i++) {
			checker[i].getDiskGraph().commitChkpt();
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#recover()
	 */
	public void recover() throws IOException {
		for (int i = 0; i < checker.length; i++) {
			MP.printMessage(EC.TLC_AAAAAAA);
			checker[i].getDiskGraph().recover();
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#reset()
	 */
	public void reset() throws IOException {
		for (int i = 0; i < checker.length; i++) {
			checker[i].getDiskGraph().reset();
		}
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#calculateInDegreeDiskGraphs(tlc2.util.statistics.IBucketStatistics)
	 */
	public IBucketStatistics calculateInDegreeDiskGraphs(final IBucketStatistics aGraphStats) throws IOException {
		for (int i = 0; i < checker.length; i++) {
			final AbstractDiskGraph diskGraph = checker[i].getDiskGraph();
			diskGraph.calculateInDegreeDiskGraph(aGraphStats);
		}
		return aGraphStats;
	}

	/* (non-Javadoc)
	 * @see tlc2.tool.liveness.ILiveCheck#calculateOutDegreeDiskGraphs(tlc2.util.statistics.IBucketStatistics)
	 */
	public IBucketStatistics calculateOutDegreeDiskGraphs(final IBucketStatistics aGraphStats) throws IOException {
		for (int i = 0; i < checker.length; i++) {
			final AbstractDiskGraph diskGraph = checker[i].getDiskGraph();
			diskGraph.calculateOutDegreeDiskGraph(aGraphStats);
		}
		return aGraphStats;
	}

	static abstract class AbstractLiveChecker implements ILiveChecker {

		protected final ILivenessStateWriter writer;

		protected final OrderOfSolution oos;

		public AbstractLiveChecker(OrderOfSolution oos, ILivenessStateWriter writer) {
			this.oos = oos;
			this.writer = writer;
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.ILiveChecker#getSolution()
		 */
		public OrderOfSolution getSolution() {
			return oos;
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.ILiveChecker#close()
		 */
		public void close() throws IOException {
			if (!ModelChecker.VETO_CLEANUP) {
				this.getDiskGraph().close();
			}
			this.writer.close();
		}
	}

	private class LiveChecker extends AbstractLiveChecker {

		private final DiskGraph dgraph;

		public LiveChecker(OrderOfSolution oos, int soln, IBucketStatistics bucketStatistics, ILivenessStateWriter writer)
			throws IOException {
			super(oos, writer);
			this.dgraph = new DiskGraph(metadir, soln, bucketStatistics);
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.LiveCheck.ILiveChecker#addInitState(tlc2.tool.TLCState, long)
		 */
		public void addInitState(ITool tool, TLCState state, long stateFP) {
			dgraph.addInitNode(stateFP, -1);
			writer.writeState(state);
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.ILiveChecker#addNextState(tlc2.tool.TLCState, long, tlc2.util.SetOfStates, tlc2.util.BitVector, boolean[])
		 */
		public void addNextState(ITool tool, final TLCState s0, final long fp0,
				final SetOfStates nextStates, final BitVector checkActionResults, final boolean[] checkStateResults) throws IOException {
			int cnt = 0;
			// if there is no tableau ...
			final int succCnt = nextStates.size();
			final int alen = oos.getCheckAction().length;
			synchronized (oos) {
				final GraphNode node0 = dgraph.getNode(fp0);
				final int s = node0.succSize();
				node0.setCheckState(checkStateResults);
				for (int sidx = 0; sidx < succCnt; sidx++) {
					final TLCState successorState = nextStates.next();
					final long successor = successorState.fingerPrint();
					// Only add the transition if:
					// a) The successor itself has not been written to disk
					//    TODO Why is an existing successor ignored?
					// b) The successor is a new outgoing transition for s0
					final long ptr1 = dgraph.getPtr(successor);
					if (ptr1 == -1 || !node0.transExists(successor, -1)) {
						// Eagerly allocate as many (N) transitions (outgoing arcs)
						// as we are maximally going to add within the for
						// loop. This reduces GraphNode's internal and
						// *performance-wise expensive* System.arraycopy calls
						// from N invocations to one (best case) or two (worst
						// case). It has been found empirically (VoteProof) that
						// the best case is used most of the time (99%).
						// It should also minimize the work created for Garbage
						// Collection to clean up even in the worst-case (two invocations)
						// when the pre-allocated memory has to be freed (see
						// realign call).
						// Rather than allocating N memory regions and freeing
						// N-1 immediately after, it now just has to free a
						// single one (and only iff we over-allocated).
						node0.addTransition(successor, -1, checkStateResults.length, alen,
								checkActionResults, sidx * alen, (succCnt - cnt++));
					} else {
						cnt++;
					}
					writer.writeState(s0, successorState, checkActionResults, sidx * alen, alen, ptr1 == -1);
				}
				nextStates.resetNext();
				// In simulation mode (see Simulator), it's possible that this
				// method is called multiple times for the same state (s0/fp0)
				// but with changing successors caused by the random successor
				// selection. If the successor is truly new (it has not been
				// added before), the GraphNode instance has to be updated
				// (creating a new record on disk). However, when the successor
				// parameter happens to pass known successors only, there is no
				// point in adding the GraphNode again. It would just waste disk
				// space.
				// The amount of successors is either 0 (no new successor has
				// been added) or used to be less than it is now.
				if ((s == 0 && s == node0.succSize()) || s < node0.succSize()) {
					node0.realign(); // see node0.addTransition() hint
					// Add a node for the current state. It gets added *after*
					// all transitions have been added because addNode
					// immediately writes the GraphNode to disk including its
					// transitions.
					dgraph.addNode(node0);
				} else {
					// Since the condition is only supposed to evaluate to false
					// when LiveCheck is used in simulation mode, mainChecker
					// has to be null.
					Assert.check(TLCGlobals.mainChecker == null, EC.GENERAL);
				}
			}
		}

		public DiskGraph getDiskGraph() {
			return dgraph;
		}
	}

	private class TableauLiveChecker extends AbstractLiveChecker {

		private final TableauDiskGraph dgraph;

		public TableauLiveChecker(OrderOfSolution oos, int soln, IBucketStatistics statistics, ILivenessStateWriter writer)
				throws IOException {
			super(oos, writer);
			this.dgraph = new TableauDiskGraph(metadir, soln, statistics);
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.LiveChecker#addInitState(tlc2.tool.TLCState, long)
		 */
		public void addInitState(final ITool tool, final TLCState state, final long stateFP) {
			// (state, tnode) is a root node if tnode is an initial tableau
			// node and tnode is consistent with state.
			int initCnt = oos.getTableau().getInitCnt();
			for (int i = 0; i < initCnt; i++) {
				TBGraphNode tnode = oos.getTableau().getNode(i);
				if (tnode.isConsistent(state, tool)) {
					dgraph.addInitNode(stateFP, tnode.getIndex());
					dgraph.recordNode(stateFP, tnode.getIndex());
					writer.writeState(state, tnode);
				}
			}
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.ILiveChecker#addNextState(tlc2.tool.TLCState, long, tlc2.util.SetOfStates, tlc2.util.BitVector, boolean[])
		 */
		public void addNextState(final ITool tool, final TLCState s0, final long fp0,
				final SetOfStates nextStates, final BitVector checkActionResults, final boolean[] checkStateResults) throws IOException {
			int cnt = 0;
			final int succCnt = nextStates.size();

			//TODO: See regression introduced by moving TBGraphNode#isConsistent
			//      out of the (synchronized) loop below (commit d4908d0).
			//      https://github.com/tlaplus/tlaplus/issues/614

			// Pre-compute the consistency of the successor states for all
			// nodes in the tableau. This is an expensive operation which is
			// also dependent on the amount of nodes in the tableau times
			// the number of successors. This used to be done within the
			// global oos lock which caused huge thread contention. This variant
			// trades speed for additional memory usage (BitVector).
			final TBGraph tableau = oos.getTableau();
			final BitVector consistency = new BitVector(tableau.size() * succCnt);
			final Enumeration<TBGraphNode> elements = tableau.elements();
			while(elements.hasMoreElements()) {
				final TBGraphNode tableauNode = elements.nextElement();
				for (int sidx = 0; sidx < succCnt; sidx++) {
					final TLCState s1 = nextStates.next();
					if(tableauNode.isConsistent(s1, tool)) {
						// BitVector is divided into a segment for each
						// tableau node. Inside each segment, addressing is done
						// via each state. Use identical addressing below
						// where the lookup is done.
						consistency.set((tableauNode.getIndex() * succCnt) + sidx);
					}
				}
				nextStates.resetNext();
			}

			// At this point only constant time operations are allowed =>
			// Shortly lock the graph.
			//
			// Tests revealed that "synchronized" provides better performance
			// compared to "java.util.concurrent.locks.Lock" even for high
			// thread numbers (up to 32 threads). The actual numbers for EWD840
			// with N=11 and 32 threads were ~75% compared to ~55% thread concurrency.
			synchronized (oos) {

				// Mark the fingerprint of s in s -> t as done. Internally it creates
				// or updates a record in the TableauNodePtrTable. We can safely mark
				// s0/fp0 done even though we release the oos lock, because no other
				// worker will work on s0/fp0 ever again, which is guaranteed by safety-
				// checking.
				final int loc0 = dgraph.setDone(fp0);
				final int[] nodes = dgraph.getNodesByLoc(loc0);
				if (nodes == null) {
					// There seems to be no case where nodes can end up as null.
					// setDone(fp0) creates an int[] in dgraph and
					// getNodesByLoc(loc0) returns it.
					return;
				}

				final int alen = oos.getCheckAction().length;

				// See node0.addTransition(..) of previous case for what the
				// allocation hint is used for.
				final int allocationHint = ((nodes.length / dgraph.getElemLength()) * succCnt);

				for (int nidx = 2; nidx < nodes.length; nidx += dgraph.getElemLength()) {
					final int tidx0 = nodes[nidx];
					final TBGraphNode tnode0 = oos.getTableau().getNode(tidx0);
					final GraphNode node0 = dgraph.getNode(fp0, tidx0);
					final int s = node0.succSize();
					node0.setCheckState(checkStateResults);
					for (int sidx = 0; sidx < succCnt; sidx++) {
						final TLCState s1 = nextStates.next();
						final long successor = s1.fingerPrint();
						final boolean isDone = dgraph.isDone(successor);
						for (int k = 0; k < tnode0.nextSize(); k++) {
							final TBGraphNode tnode1 = tnode0.nextAt(k);
							// Check if the successor is new
							final long ptr1 = dgraph.getPtr(successor, tnode1.getIndex());
							if (consistency.get((tnode1.getIndex() * succCnt) + sidx)
									// We cannot infer from successor t being in the fingerprint graph (FG), that it is
									// also in the behavior graph (BG):
									// a) Worker A might add t to FG. B observes t in the fingerprint graph and adds
									// t to BG *incorrectly assuming it is done*.
									// b) t in FG does not imply that <<t, tnode>> in BG
									// Without a), LiveChecker.addNextState(ITool, TLCState, long, SetOfStates,
									// BitVector, boolean[]) could skip checking t \in BG.
									// In other words, t \in FG is a necessary but not a sufficient condition...
									&& (ptr1 == -1 || !node0.transExists(successor, tnode1.getIndex()))) {
								node0.addTransition(successor, tnode1.getIndex(), checkStateResults.length, alen,
										checkActionResults, sidx * alen, allocationHint - cnt);
								writer.writeState(s0, tnode0, s1, tnode1, checkActionResults, sidx * alen, alen, true);
								// Record that we have seen <successor,tnode1>. If fp1 is done, we have
								// to compute the next states for <successor, tnode1>.
								if (ptr1 == -1) {
									dgraph.recordNode(successor, tnode1.getIndex());
									if (isDone) {
										addNextState(tool, s1, successor, tnode1, oos, dgraph);
									}
								}
							}
							// Increment cnt even if addTrasition is not called. After all,
							// the for loop has completed yet another iteration.
							cnt++;
						}
					}
					nextStates.resetNext();
					// See same case in LiveChecker#addNextState
					if ((s == 0 && s == node0.succSize()) || s < node0.succSize()) {
						node0.realign(); // see node0.addTransition() hint
						dgraph.addNode(node0);
					} else {
						// Since the condition is only supposed to evaluate to false
						// when LiveCheck is used in simulation mode, mainChecker
						// has to be null.
						Assert.check(TLCGlobals.mainChecker == null, EC.GENERAL);
					}
				}

				if (errorGraphNode != null) {
					MP.printError(EC.TLC_TEMPORAL_PROPERTY_VIOLATED);
					MP.printError(EC.TLC_COUNTER_EXAMPLE);

					// Lock mainChecker to prevent another TLC Worker from concurrently printing a
					// (state-graph) safety violation.
					synchronized (TLCGlobals.mainChecker) {

						dgraph.createCache();
						final LongVec prefix = dgraph.getPath(errorGraphNode.stateFP, errorGraphNode.tindex);
						dgraph.destroyCache();

						final int plen = prefix.size();
						final List<TLCStateInfo> states = new ArrayList<TLCStateInfo>(plen);

						// Reconstruct the initial state.
						long fp = prefix.elementAt(plen - 1);
						TLCStateInfo sinfo = tool.getState(fp);
						if (sinfo == null) {
							throw new EvalException(EC.TLC_FAILED_TO_RECOVER_INIT);
						}
						states.add(sinfo);

						// Reconstruct the path of successor states while dropping
						// *finite* stuttering.
						for (int i = plen - 2; i >= 0; i--) {
							long curFP = prefix.elementAt(i);
							if (curFP != fp) {
								sinfo = tool.getState(curFP, sinfo);
								states.add(sinfo);
								fp = curFP;
							}
						}

						for (int i = 0; i < states.size() - 1; i++) {
							final int j = i;
							StatePrinter.printInvariantViolationStateTraceState(
									tool.getLiveness().evalAlias(states.get(i), states.get(i + 1).state, () -> {
										return new ArrayList<>(states.subList(0, j));
									}));
						}
						// Evaluate alias on the last state that completes the violation of the safety
						// property.
						final TLCStateInfo last = states.get(states.size() - 1);
						StatePrinter.printInvariantViolationStateTraceState(
								tool.getLiveness().evalAlias(last, last.state, () -> {
									return new ArrayList<>(states.subList(0, states.size() - 1));
								}));

						// Stop subsequent state-space exploration.
						TLCGlobals.mainChecker.stop();
						if (states.size() == 1) {
							TLCGlobals.mainChecker.setErrState(last.state, null, false,
									EC.TLC_INVARIANT_VIOLATED_BEHAVIOR);
						} else {
							TLCGlobals.mainChecker.setErrState(states.get(states.size() - 2).state, last.state, false,
									EC.TLC_INVARIANT_VIOLATED_BEHAVIOR);
						}

						tool.checkPostConditionWithCounterExample(new CounterExample(states));

						errorGraphNode = null;
						throw new InvariantViolatedException();
					}
				}
			}
		}

		private GraphNode errorGraphNode = null;

		/**
		 * This method takes care of the case that a new node <<state, tableau>>
		 * in the (state X tableau) graph is generated after the state itself
		 * has been done. Done means that the state has been found during safety
		 * checking in the state graph already, except that the node <<state,
		 * tableau>> not been created.
		 * <p>
		 * In this case, we will have to generate the state graph successors of
		 * the state and create the permutation of all successors with all
		 * tableau nodes .
		 * <p>
		 * Hopefully, this case does not occur very frequently because it
		 * generates successor nodes.
		 */
		private void addNextState(final ITool tool, final TLCState s, final long fp, final TBGraphNode tnode, final OrderOfSolution oos, final TableauDiskGraph dgraph)
				throws IOException {
			final boolean[] checkStateRes = oos.checkState(tool, s);
			final int slen = checkStateRes.length;
			final int alen = oos.getCheckAction().length;
			final GraphNode node = dgraph.getNode(fp, tnode.getIndex());
			final int numSucc = node.succSize();
			node.setCheckState(checkStateRes);

			// see allocationHint of node.addTransition() invocations below
			int cnt = 0;

			// Add edges induced by s -> s (self-loop) coming from the tableau
			// graph:
			final int nextSize = tnode.nextSize();
			final BitVector checkActionResults = nextSize > 0 ? oos.checkAction(tool, s, s, new BitVector(alen), 0) : null;
			for (int i = 0; i < nextSize; i++) {
				final TBGraphNode tnode1 = tnode.nextAt(i);
				final int tidx1 = tnode1.getIndex();
				final long ptr1 = dgraph.getPtr(fp, tidx1);
				if (tnode1.isConsistent(s, tool)) {
					if (tnode1.isAccepting() && this.errorGraphNode == null) {
						// MAK 01/2022:
						//
						// If tnode1 is a sink in the tableau graph, i.e., it is accepting and state s
						// (from the state-graph) is consistent with this tnode1, we know that s is the
						// final state of a counter-example of a safety property.
						//
						// What then has to happen is to reconstruct the path in the behavior graph
						// (TableauGraph) from some initial node to the GraphNode node (with
						// <<s.fingerprint, tnode1.getIndex>). However, the GraphNodes of a suffix of
						// this path might not have been added to the behavior graph yet. Instead, these
						// GraphNodes have been pushed onto the (Java) call-stack and will only be added
						// after returning from this method. Thus, we remember/save GraphNode node in
						// errorGraphNode and preemptively return from behavior graph exploration.
						//
						// Once all GraphNodes from the suffix have been added to the behavior graph,
						// the calling method TableauLiveChecker.addNextState(ITool, TLCState, long,
						// SetOfStates, BitVector, boolean[]) can reconstruct the path from the
						// GraphNodes in the behavior graph (TableauGraph#getPath), and print the actual
						// error-trace by recreating the sequence of states from their fingerprints in
						// the state graph.
						this.errorGraphNode = node;
						return;
					}
					if (ptr1 == -1 || !node.transExists(fp, tidx1)) {
						node.addTransition(fp, tidx1, slen, alen, checkActionResults, 0, (nextSize - cnt));
						if (ptr1 == -1) {
							dgraph.recordNode(fp, tnode1.getIndex());
							addNextState(tool, s, fp, tnode1, oos, dgraph);
						}
					}
				}
				cnt++;
			}

			// Add edges induced by s -> s1 (where s1 is a successor of s in the
			// state graph):
			cnt = 0;
			final Action[] actions = tool.getActions();
			for (int i = 0; i < actions.length; i++) {
				final StateVec nextStates = tool.getNextStates(actions[i], s);
				final int nextCnt = nextStates.size();
				for (int j = 0; j < nextCnt; j++) {
					final TLCState s1 = nextStates.elementAt(j);
					if (tool.isInModel(s1) && tool.isInActions(s, s1)) {
						final long fp1 = s1.fingerPrint();
						final BitVector checkActionRes = oos.checkAction(tool, s, s1, new BitVector(alen), 0);
						boolean isDone = dgraph.isDone(fp1);
						for (int k = 0; k < tnode.nextSize(); k++) {
							final TBGraphNode tnode1 = tnode.nextAt(k);
							final int tidx1 = tnode1.getIndex();
							long ptr1 = dgraph.getPtr(fp1, tidx1);
							final int total = actions.length * nextCnt * tnode.nextSize();
							if (tnode1.isConsistent(s1, tool) && (ptr1 == -1 || !node.transExists(fp1, tidx1))) {
								node.addTransition(fp1, tidx1, slen, alen, checkActionRes, 0, (total - cnt));
								writer.writeState(s, tnode, s1, tnode1, checkActionRes, 0, alen, false, Visualization.DOTTED);
								// Record that we have seen <fp1, tnode1>. If
								// fp1 is done, we have to compute the next
								// states for <fp1, tnode1>.
								if (ptr1 == -1) {
									dgraph.recordNode(fp1, tidx1);
									if (isDone) {
										addNextState(tool, s1, fp1, tnode1, oos, dgraph);
									}
								}
							}
							cnt++;
						}
					} else {
						cnt++;
					}
				}
			}
			if (numSucc < node.succSize()) {
				node.realign(); // see node.addTransition() hint
				dgraph.addNode(node);
			}
		}

		/* (non-Javadoc)
		 * @see tlc2.tool.liveness.LiveCheck.AbstractLiveChecker#getDiskGraph()
		 */
		public AbstractDiskGraph getDiskGraph() {
			return dgraph;
		}
	}
}

redpajama_set_name: RedPajamaGithub


This training aimed to improve work efficiency and thereby provide hassle free operations and seamless flow of work for building automation professionals.
In collaboration with KNX, the first KNX certified training was conducted in Hager Middle East FZE, Dubai UAE, allowing electrical & design professionals along with system integrators to study and enhance hands-on experience on the world's number one open-architecture building control system. This training was conducted from 07th – 11th May 2017 by KNX certified tutor Riyaz Abdul and was attended by four professionals from our authorised System Integrators from Kuwait, Qatar & UAE.
The five day training module focused on KNX system awareness, site installations, product commissioning and troubleshooting techniques. This training aimed to improve work efficiency and thereby provide hassle free operations and seamless flow of work for building automation professionals.
KNX certifications offer true flexibility to professionals to integrate into a single communication network. Such trainings and courses benefit these professional to be listed as "KNX partner" (www.knx.org) which is accepted as the world's first open standard for the control of all types of intelligent buildings - commercial and residential.


text:
Biografia
Dopo la prima raccolta di poesie Les petites âmes, del 1908, Géraldy conobbe notevole successo con la seconda antologia Toi et moi, del 1912. Sono poesie semplici e apparentemente ingenue, ma molto innovative per l'epoca.

Fu anche autore di racconti e di opere teatrali, e mise in scena soggetti tradizionali del teatro psicologico borghese.

Opere

Poesia
Les petites âmes, 1908
Toi et moi, 1912
Vestiges, 1948
Vous et moi, 1960

Teatro
La comédie des familles, 1908
Les noces d'argent, 1917
Aimer, 1921
Les grands garçons, 1922
Se volessi (Si je voulais..., 1924) con Robert Spizer
Robert et Marianne, 1925
Son mari, 1927
L'homme de joie, 1929
Christine, 1932
Do, mi, sol, do!, 1934
Duo, 1938
Première étape, 1943

Narrativa
La guerre, Madame..., 1916
Le prélude, 1938
L'homme et l'amour, 1951

Note

Altri progetti

Collegamenti esterni

redpajama_set_name: RedPajamaWikipedia


text:
Posted on November 9, 2020 October 6, 2021
10 Great Russian Novelists – Bio | Works | Contributions | Facts
(Last Updated On: October 6, 2021)
The roots of Russian literature may be traced to the Middle Ages, with so many great Russian novelists. During this era, works had been composed in Old East Slavic or Old Russian. Russian literature was at its peak within the 19th century. During this era, among the undeniable masterworks of world literature had been produced in Russia. Alexander Pushkin is extensively thought to be the founding father of modern Russian literature.
Though he's most well-known for his poetry, he additionally wrote a number of novels together with Eugene Onegin. Nikolai Gogol is thought to be the first great Russian novelist.
Great Russian Novelists
Then got here Ivan Turgenev, who mastered each quick tale and novel. The second half of the 19th century noticed two towering figures of Russian literature: Fyodor Dostoevsky and Leo Tolstoy.
Regarded among the many biggest novelists of all time, the 2 grew to become internationally famous and took Russian literature to new heights.
The finest recognized Russian novelists of the 20th century embody Boris Pasternak, Vladimir Nabokov, and Aleksandr Solzhenitsyn. Here are the 10 great Russian novelists and their finest recognized works.
1. Leo Tolstoy
Lifespan: September 9, 1828 – November 20, 1910
Lev Nikolayevich Tolstoy, one of the great Russian novelists, was born in a prominent family of old Russian the Aristocracy. His first novel, Childhood, was printed in 1852. After serving within the military through the Crimean War, Tolstoy transformed from a privileged society creator to a non-violent and spiritual anarchist.
The most well-known works of Tolstoy are his novels War and Peace (1867) and Anna Karenina (1877), which are generally thought to be among the many best novels ever written.
His fiction consists of dozens of quick tales and several other novellas together with The Death of Ivan Ilyich (1886), thought to be among the finest examples of a novella. Apart from his work as a writer, Tolstoy additionally achieved fame as an ethical and religious trainer.
His concepts on nonviolent resistance had a profound effect on such pivotal 20th-century figures as Mahatma Gandhi and Martin Luther King Jr. A grasp of sensible fiction, Leo Tolstoy is thought to be one of many biggest authors of all time.
He obtained nominations for the Nobel Prize in Literature each year from 1902 to 1906. That he by no means received is a serious controversy. Leo Tolstoy is undoubtedly probably the most well-known Russian novelist.
Famous Novels:-
War and Peace (1867)
Anna Karenina (1877)
The Death of Ivan Ilyich (1886)
2. Fyodor Dostoevsky
Lifespan: November 11, 1821 – February 9, 1881
Fyodor Mikhailovich Dostoevsky was a part of a noble family of Russian Orthodox Christians. As a younger youngster, he was uncovered to heroic sagas, fairy tales, and legends by his nanny.
As he grew up, his parents uncovered him to a large range of literature. Dostoevsky himself studies that his creativeness was introduced alive by nightly readings by his parents.
After graduating from the Academy of Military Engineering in St. Petersburg, Dostoevsky took a job as a lieutenant engineer. However, he was unsuited for this occupation and shortly took up writing.
As quickly as his first novel Poor Folk was printed in 1846, Dostoevsky was hailed because of the great new expertise of Russian literature by probably the most influential critic of his day, Vissarion Belinsky.
Dostoevsky went on to put in writing 12 novels, Four novellas, 16 quick tales, and quite a few different works. His literature explores human psychology within the troubled political, social and spiritual atmospheres of 19th century Russia.
Fyodor Dostoevsky is regarded by critics as one of many best novelists who ever lived. Moreover, he's thought-about as one of many biggest psychologists within the history of literature.
Literary modernism, existentialism, and varied faculties of psychology, theology, and literary criticism have been profoundly formed by his concepts.
Demons (1872)
3. Maxim Gorky
Lifespan: March 28, 1868 – June 18, 1936
Alexei Maximovich Peshkov, primarily often known as Maxim Gorky, lost his father at the age of 5. His mom remarried and he was raised by his maternal grandparents.
His grandfather handled him harshly and ship him out to earn a residing at the age of 8. Maximovich was continuously overwhelmed by his employers and was typically hungry and sick-clothed.
The bitterness of those early experiences later led him to decide on the phrase gorky ("bitter") as his pseudonym. Maximovich traveled on foot throughout the Russian Empire for 5 years, which led him to experience life in Russia firsthand. These experiences would later be mirrored in his writings.
The first printed work of Gorky, Essays and Stories (1898), loved a sensational success. The following year his novel Foma Gordeyev established him as a serious novelist.
The most well-known novel of Gorky was Mother (1906), regarded within the Soviet Union as a classic of "socialist realism." Maxim Gorky was additionally a political activist who opposed the Tsarist regime and took half in revolutionary activities for a time.
As a writer, Gorky was a five-time nominee for the Nobel Prize in Literature. Many regard him as the best Russian author of the 20th century.
Foma Gordeyev (1899)
The Life of a Useless Man (1908)
4. Boris Pasternak
Lifespan: February 10, 1890 – May 30, 1960
Boris Leonidovich Pasternak, one of the great russian novelists, was born in an inventive Jewish family in Moscow. His father was an artwork professor and a well-known artist whereas his mom was a live performance pianist.
As his father was a portraitist, a number of main personalities had been frequent visitors at his dwelling together with novelist Leo Tolstoy, poet Rainer Maria Rilke and composer Sergey Rachmaninoff.
After initially planning to be a musician, Pasternak determined that his true calling was literature. With the publication of his assortment of poetry, My Sister Life, he gained a spot as a top graded poet amongst his Russian contemporaries.
Though Pasternak was primarily well-known as a poet in Russia, within the west he gained fame along with his novel Doctor Zhivago. The novel was refused publication in Russia attributable to its rejection of socialist realism.
The manuscript was then smuggled to Milan and printed in 1957. Doctor Zhivago grew to become a prompt sensation all through the non-Communist world. However, although it was a global finest vendor, it was circulated solely in secrecy and translation in his personal land.
It additionally helped Pasternak get the Nobel Prize for Literature in 1958, an award he refused attributable to stress within the Soviet Union. His descendants accepted the prize in 1988 and since 2003, Doctor Zhivago has been a part of the primary Russian college curriculum.
Doctor Zhivago (1957)
5. Vladimir Nabokov
Lifespan: April 22, 1899 – July 2, 1977
Also recognized by the pen name Vladimir Sirin, Vladimir Vladimirovich Nabokov, one of the great russian novelists, was born in a rich family in Russian the Aristocracy. After the Russian Revolution, his family was pressured to flee from Saint Petersburg.
While in England, Nabokov enrolled in Trinity College of the University of Cambridge. His family moved to Berlin in 1920 and he joined them two years later after finishing his research at Cambridge.
In Berlin, Nabokov grew to become a considerably acknowledged author. However, he needed to help himself by instructing languages and giving tennis and boxing classes.
In May 1940, the Nabokovs fled the advancing German troops and settled in Manhattan, United States. Vladimir wrote Lolita whereas touring within the western United States. Lolita rapidly attained a traditional standing and was tailored into a movie by Stanley Kubrick in 1962.
After the great financial success of Lolita, Nabokov returned to Europe and devoted himself to writing. It is to be famous that before Lolita, no e-book he wrote in Russian or English produced more than a couple of hundred {dollars}.
Apart from Lolita, his 1962 novel Pale Fire is thought to be among the finest works of the 20th century. Both these novels rank within the Modern Library 100 Best Novels checklist with Lolita occupying the 4th and Pale Fire the 53rd spot.
Lolita (1955)
Pale Fire (1962)
Pnin (1957)
6. Mikhail Bulgakov
Lifespan: May 15, 1891 – March 10, 1940
Son of a priest, Mikhail Afanasyevich Bulgakov, one of the great russian novelists, graduated from the Medical Department of Kyiv University in 1916. However, after a quick interval, he gave up his profession in medication to pursue writing.
A mix of realism and humor, the literary works of Bulgakov grew to become in style. However, the authorities discovered them unacceptably attributable to their criticism of Soviet tradition and conventions.
Bulgakov needed to face this subject for a lot of his life and several other of his works had been banned by the Russian authorities.
Soviet dictator Joseph Stalin was an admirer of Bulgakov and he went on to say {that a} author of his high quality was above "party words" like "left" and "right". It was Stalin's favor that protected Bulgakov from arrests and execution. Nonetheless, he couldn't get a lot of his writing printed.
The Master and Margarita, printed posthumously, is probably the most well-known novel of Bulgakov and it's thought to be one of many masterpieces of the 20th century. Bulgakov continues to get pleasure from reputation and his work is praised for its humor and penetrating satire.
The Master and Margarita (1966)
Heart of a Dog (1968)
The White Guard (1925)
7. Alexander Pushkin
Lifespan: June 6, 1799 – February 10, 1837
Born in Russian the Aristocracy, Pushkin, one of the great russian novelists, printed his first poem when he was 15 and by the point, he graduated his expertise was already widely known inside the Russian literary scene. Due to his controversial works just like the poem "Ode to Liberty", he was exiled by Tsar Alexander I of Russia.
Upon meeting with Tsar Nicholas I, Pushkin was capable of getting hold of his launch from exile however he was stored underneath surveillance and the tsar retained strict control of every little thing Pushkin printed. Pushkin married Natalia Goncharova, one of the talked-about beauties of Moscow.
Rumors of an affair between his spouse and French navy officer Georges-Charles de Heeckeren d'Anthès led to a duel between the 2 through which Pushkin was fatally wounded on the age of simply 37.
Alexander Pushkin is extensively thought to be the best Russian poet and the founding father of modern Russian literature. As a novelist, he wrote a number of great works probably the most well-known of which is his novel in verse, Eugene Onegin.
Eugene Onegin (1833)
The Captain's Daughter (1436)
Dubrovsky (1841)
8. Ivan Turgenev
Lifespan: November 9, 1818 – September 3, 1883
Born in Russian aristocracy, Ivan Sergeyevich Turgenev, one of the great russian novelists, grew to become fluent in French, German, and English at a younger age. After learning at the University of Moscow and the University of Saint Petersburg, he studied at the University of Berlin from 1838 to 1841.
Impressed with German society, he believed that Russia would enhance if it included concepts from the Age of Enlightenment. As an author, Turgenev first got here to prominence along with his assortment of quick tales titled A Sportsman's Sketches. Fathers and Sons, his most well-known and enduring novel, was printed in 1862.
Focusing on the connection between the older technology and the youth, it went on to develop into one of the acclaimed Russian novels of the 19th century.
Ivan Turgenev was the first Russian author to be extensively celebrated within the West and as such, he performed a key function in popularizing Russian literature exterior his nation.
However, he was hated by the radicals in addition to Tolstoy and Dostoyevsky for his devoted Westernism. The work of Turgenev is distinguished from his more well-known contemporaries by its refined lack of hyperbole and its steadiness.
Fathers and Sons (1862)
Rudin (1856)
On the Eve (1860)
9. Nikolai Gogol
Lifespan: April 1, 1809 – March 4, 1852
A member of the petty gentry, Nikolai Gogol spent the first nineteen years of his life in Ukraine, which was then a part of the Russian Empire. At the age of 22, his assortment of quick tales, Evenings on a Farm Near Dikanka, was printed.
His writing captivated the Russian literary world with his real folks' taste and liveliness alongside his sense of the macabre, one of the great russian novelists.
Though not his first, the storied assortment was his breakthrough work. It was a direct success making Gogol well-known in a single day. The most well-known work of Gogol, Dead Souls, was printed in 1842.
The novel is extensively thought to be an exemplar of 19th-century Russian literature. Although Gogol meant it to be a part of a trilogy, he suffered a creative decline in his later years and couldn't end its second half to his satisfaction.
Gogol had a singular fashion of writing which has been in comparison with the "ostranenie" approach, which makes people view widespread issues in a weird and unfamiliar method to know them deeply.
Nikolai Gogol had an enormous effect on Russian and world literature, which has been acknowledged by Fyodor Dostoevsky and Franz Kafka, amongst others.
Dead Souls (1842)
Taras Bulba (1835)
10. Aleksandr Solzhenitsyn
Lifespan: December 11, 1918 – August 3, 2008
Born right into a family of Cossack intellectuals, Aleksandr Isayevich Solzhenitsyn lost his father before he was born and was thus primarily raised by his mom and his aunt. Solzhenitsyn studied arithmetic and physics at Rostov State University.
At the identical time, he took correspondence programs in literature at Moscow State University. He fought through the Second World War however throughout his service he started doubting the ethical foundations of the Soviet regime. In a letter to a buddy, he criticized the Soviet dictator Joseph Stalin.
This led to his being arrested in 1945 and he needed to spend eight years in prisons and labor camps. Solzhenitsyn grew to become an outspoken critic of the Soviet Union and Communism. This led to his shedding his Soviet citizenship in 1974.
He moved along with his family to the United States in 1976, the place he continued to put in writing. Shortly before the dissolution of the Soviet Union, his citizenship was restored. He returned to Russia in 1994 and stayed there until his demise in 2008.
The most well-known work of Solzhenitsyn is The Gulag Archipelago, which "amounted to a head-on challenge to the Soviet state". Aleksandr Solzhenitsyn was awarded the Nobel Prize in Literature in 1970 and he stays among the finest recognized Russian novelists. Learn more about Jean-Michel-Basquiat-facts.
One Day in the Life of Ivan Denisovich (1962)
Cancer Ward (1968)
In the First Circle (1968)
28 Letesenbet Gidey Interesting Profile, Biography Facts
26 Louise Gluck Interesting Facts You Didn't Know
28 Florence Nightingale Facts – How She Changed the World
24 Interesting Facts about Malcolm X – How He Uplifted Himself
26 Laura Ingalls Wilder Facts – How She Faced Challenges
31 Interesting Facts about Stephen King – Secrets of Success
30 Fun Facts about Mother Teresa – What Did She Say before Died
24 Jean Michel Basquiat Facts – Why He Died So Young
27 Interesting Facts about Elon Musk – Secrets of Success
50 Joe Biden Fun Facts – The 46th US President
23 Surprising Catherine the Great Facts – Rise and Fall
48 Interesting Facts About Leonardo da Vinci
russian novelists
russian novelists famous
russian novelist dostoevsky
19th century russian novelists
russian born novelist
nabokov russian novels
24 Interesting Facts about Julius Caesar – Biography | Contributions
27 Martin Luther King JR – Biography | Interesting Fun Facts


Beck has hit the charts for 3 decades. Hits include 'Loser', 'Where it's at', 'E-Pro' and 'Girl'. All Beck MIDI Files and MP3 Backing Tracks are AMCOS licensed and royalty paid.
Popular related genres to Beck include Alt Rock, Hip Hop, Art Pop.
Beck MIDI Files, MIDI Karaoke MP3 professional backing tracks and Lyrics produced by Hit Trax. Click on any title to view song details like tempo, key, BPM, length and a preview Beck video. View and print Beck song lyrics which include MIDI Instrument track listing (* where available) all from the song page.
Is your favourite Beck MIDI Karaoke File or MP3 backing track missing? If you need a new backing track that's unavailable at the current time, click in the Contact button at the top of the page and request the backing track. If the song is current and in the charts, chances are we may produce it at normal catalogue prices.
All Beck song files are AMCOS Licensed and royalty paid. © 2000 - 2019 Hit Trax (Australia, USA, UK, Canada and Europe).


text:
Q: Not Understanding ? Why do we need BLOB in "Android Sqlite" I am not understanding why do we need BLOB in SQlite. I have seen this explanation in some of the documents
BLOB. The value is a blob of data, stored exactly as it was input.
But I did not get what it is ? and why is it necessary ? Please provide me some suggestions.
Regards
Anand

A: BLOB is an acronym that means
B inary L arge OB ject
So, it's a container for stuff that you want stored "as such" without the need to serialize them to eg a clean string, and that are typically larger than the usual types that are stored in a database.  Examples are serialized objects (a serialized object is represented by a stream of bytes), bitmaps, sound clips, etc.

A: when need store ordinary object in database like ImageView at that time
blob type use for that


Bjorn Olesen is a retired corporate executive, award-winning wildlife photographer and a passionate conservationist. He has travelled extensively in Asia, South America and Africa documenting many critically endangered species. With his wife Fanny his has authored the large format book 'A Visual Celebration of Giant pandas'.


text:
Q: Return random boolean and use to guide an "if" statement I've been researching how to return a random boolean and then use that returned boolean to drive an "if" statement, but I can't figure out how to structure or what syntax to use.
    private Random random;

public void mousePressed(MouseEvent e) {
    determineHit();
    if (random = true) {
    //Perform true//
    }
    else {
        //Perform false//
    }

private boolean determineHit() {
    return random.nextBoolean();
        }

How can I get my determineHit method to return the boolean and then plug that back into the main body of the method?
Thanks

A: private Random random;

public void mousePressed(MouseEvent e) {
    boolean hitResult = determineHit();
    if (hitResult) {
        //Perform true//
    }
    else {
        //Perform false//
    }

private boolean determineHit() {
    return random.nextBoolean();
}

Since an if () requires a boolean result, the == true is implied, no need to explicitly code it.
Just make sure that you have instantiated random before using it, in a constructor for example.

A: if (random.nextBoolean()) {
    //Perform true//
} else {
    //Perform false//
}


text:
Landing Page (11)
(-) Press Release (140)
(-) Press Release
Displaying 1 - 8 of 140 Results
Mars Petcare Launches Tech-Enabled Pet Health Studies
Mars Petcare announces the launch of Pet Insight Project at the North American Veterinary Community and Texas A&M University's Veterinary Innovation Summit.
Mars Appoints Chief Strategy Officer
MCLEAN, VA. (June 24, 2019) — Mars, Incorporated announced today a new senior hire in the business's enterprise-wide transformation agenda. Russell Stokes will join Mars, Incorporated in the...
Mars Makes Commitment to Support UN Sustainable Development Goal 14, Life Below Water
Mars announces adoption of UN Sustainable Development Goal 14, Life Below Water, as part of the Business Avengers. The company's commitments towards SDG 14 include sustainable fish sourcing...
World's Largest Coral Restoration Program Announced
SHEBA® has begun work on the world's largest coral restoration program, which aims to restore more than 185,000 square meters of coral reefs by 2029.
Mars Petcare Europe to Launch Petfood Packaging with Food Safe Recycled Content
Mars Petcare is getting ready to deploy petfood pouches of SHEBA® containing recycled plastic from advanced recycling techniques Deployment is set to begin in Europe in 2022 With this move...
Mars Wrigley engages in a climate-smart venture to catalyze a shift towards Modern Sustainable Cocoa Farming.
Joins forces with 12Tree and ECOM on the Andean Cacao venture to regenerate an initial 2,000+ hectares of unproductive farmland in Latin America Establishes a long-term agreement to support...
First Look at Mars Food's Microwave Rice Pouch Designed for Recyclability
LONDON (March 24, 2021) - Today, Mars Food announces the launch of the initial roll-out of the highly anticipated mono polypropylene (PP) packaging for its microwavable rice pouch range...


Seattle is pretty miserable, but not as miserable as Phoenix or Portland.
At least we're not alone. They say misery loves company.
That ranking is based on an analysis of data gathered by Dow Jones and the Wall Street Journal. But before you start blaming Seattle's weather or passive aggressive behaviors on its miserable outlook, note that this study looked at consumer attitudes.
The Wall Street Journal reports "slow progress on the job front and soaring gas prices" were the chief reasons for discontent among unhappy cities.
Real estate markets also factored into the ranking.
Gosh, but those coffee puns never get old.
And yes, that's labor with a 'U." This list was from Canada, after all.
Birthplace of Grunge and Bill Gates, Seattle is more than just Starbucks. With a strong high tech sector, high levels of venture capital investment, a strong GDP and high personal incomes, perhaps Seattle is overcompensating for its low-key reputation. The city's employment growth of 2.3 per cent last year outpaced all other cities in the ranking, and combined with its third ranked economy, it's becoming a Venti force to be reckoned with.


The 1989 Tiananmen Square protests, commonly known in mainland China as the June Fourth Incident, were student-led demonstrations in Beijing for the establishment of basic human and press rights and against the Communist-led Chinese government in mid-1989. More broadly, it refers to the popular national movement inspired by the Beijing protests during that period, sometimes called the '89 Democracy Movement. The protests were forcibly suppressed after Chinese Premier Li Peng declared martial law. In what became known as the Tiananmen Square Massacre, troops with assault rifles and tanks fired at the demonstrators trying to block the military's advance towards Tiananmen Square. The number of civilian deaths was internally estimated by the Chinese government to be near or above 10,000.
The Arab Spring, also referred to as Arab Revolutions, was a revolutionary wave of both violent and non-violent demonstrations, protests, riots, coups, foreign interventions, and civil wars in North Africa and the Middle East that began on 18 December 2010 in Tunisia with the Tunisian Revolution.
The 1992 Los Angeles riots, also known as the Rodney King riots, the South Central riots, the 1992 Los Angeles civil disturbance, the 1992 Los Angeles civil unrest, the 1992 Los Angeles Uprising, and the Battle of Los Angeles, were a series of riots, lootings, arsons, and civil disturbances that occurred in Los Angeles County, California in April and May 1992. The unrest began in South Central Los Angeles on April 29, after a trial jury acquitted four officers of the Los Angeles Police Department for usage of excessive force in the arrest and beating of Rodney King, which had been videotaped and widely viewed in TV broadcasts. The rioting spread throughout the Los Angeles metropolitan area, as thousands of people rioted over a six-day period following the announcement of the verdict.
The Unite the Right rally, also known as the Charlottesville rally or Charlottesville riots, was a white supremacist, anti-Semitic, White separatist and neo-Fascist rally that occurred in Charlottesville, Virginia, from August 11 to 12, 2017. Protesters were members of the far-right and included self-identified members of the alt-right, neo-Confederates, white nationalists Klansmen, neo-Nazis, and various militias. The marchers chanted racist and antisemitic slogans, carried semi-automatic rifles, swastikas, Nazi symbols, the Valknut, Confederate battle flags, Deus Vult crosses, flags and other symbols of various past and present anti-Muslim and antisemitic groups. Within the Charlottesville area, the rally is often known as A12 or 8/12. The organizers' stated goals included unifying the American white nationalist movement and to oppose removing a statue of Robert E. Lee from Charlottesville's Emancipation Park.
The Boston Tea Party was a political and mercantile protest by the Sons of Liberty in Boston, Massachusetts, on December 16, 1773. The target was the Tea Act of May 10, 1773, which allowed the British East India company to sell tea from China in American colonies without paying taxes apart from those imposed by the Townshend Acts, thus undercutting local tea merchants: Demonstrators, some disguised as Native Americans, destroyed an entire shipment of tea sent by the East India Company.
Provincial elections are scheduled to be held in the Netherlands on 20 March 2019. Eligible voters will elect the members of the Provincial States in the twelve provinces of the Netherlands. The elections will be held on the same day as the water board elections and, in the Caribbean Netherlands, island council elections.


text:
Home » Reviews » Hollis Dunlap
Artists »
Museums »
Hollis Dunlap
"Structure and Space," the title of Hollis Dunlap's recent show at Axelle Galerie in New York City, emphasized the formal values that undergird all good compositions, whether abstract or representational. Dunlap is a realist who knows how to create the illusion of depth and to give his figures convincing physical presence. He works in traditional genres—figure, still life, interior, landscape. But he has no interest in the legerdemain of smooth finish. He keeps the process raw, explaining "I have always enjoyed the look and feel of oil paint, and don't make the image look like anything other than a painting." In Black and Yellow Girl (all works 2014), a girl in a simple white shirt is posed in profile against the patterned backdrop, with her dark hair shadowing her face. Dunlap uses chiaroscuro to add drama to everyday situations. Caravaggio is one of his favorite artists.
Dunlap maintains a balance between the illusion of a three-dimensional world within his compositions and the two-dimensionality of the painted surface. In Far Away, a young woman reclines on a sofa, in a dark skirt and no top, daydreaming, with a white flower beside her. Dunlap exploits the textural variety of the paint—especially the different whites of the flower, the throw covering the sofa and her pallid skin—with energetic brushwork. Dreamtime moves in a less-quotidian direction. The model, a girl in a partially open red robe, confronts us from the center of what may have started as a bed but has morphed into a fish-eye curved background, with a strong painterly blue presence that suggests an altered state of consciousness. Her pose—knees pulled up to one side, arms open—seems hieratic. Dunlap cites an eclectic group of influences—abstractionists for their "experimental paint application and paint surfaces," Italian and Spanish Baroque for his figure work and Dutch artists for his interiors and still lifes. He does not mimic the artists he admires but has absorbed their ways of looking. Still Life with Yellow Vase, for example, owes much to Vermeer in its celebration of the alchemy of natural light. The slender yellow vase and a voluptuous white pitcher stand out as sculptural forms, while a goblet between them seems to blend into the shadows. Dunlap's main work space is his living room, and his viewers will come to recognize features from this home studio from picture to picture, notably the light from a window on the left. In Afternoon Interior, the rust-colored sofa provides a base line; above and beyond sit a white pitcher and ornate red bowl on a counter, and a workaday kitchen with brown cabinets. Brush marks add a smudgy expressiveness to every surface, especially the white-grey plaster around the visible window.
The window is off camera, as it were, for Early Morning, but the sunlight it admits is the moving force of the composition. We see more of the sofa, and its vibrant color dominates the room, enhanced by the gold-toned wood of a guitar, an instrument Dunlap enjoys playing. The architecture of the picture is established by that guitar, propped up and casting crisp shadows, and by the diagonal light that cuts across the sofa. Afternoon Interior has an observational charm. The same room, reframed in Early Morning, snaps into focus as a dynamic visual structure. The inviting warmth of the scene comes not only from the palette but also from the velvety nap of the artist's brushstrokes. The artist remarks: "I find the realism of an image can become more compelling when it is obviously made up of paint of various colors and shapes."
Dunlap's commitment to painterliness drives his approach to the landscape genre. He has been painting on site since he was fourteen, although he frequently works the scenes into larger compositions in the studio. He credits his plein-air experience with helping him "capture light effects very quickly and be decisive with brush marks." Distant City is an industrial landscape, a long perspective shot down an unprepossessing street of warehouses and trailers, with a glimpse of glittering buildings on the horizon, but the light transforms the mundane scene: it is the only natural element needed. The vista in Across the Bay has more immediate appeal. On the far side of the water, a handsome white house, with an old-fashioned porch, rises. It could be a conventionally pretty picture, except for the pulsing energy of the paint-handling—a loose scumble of varied green for foreground foliage, creamy smears of white paint for clouds—which suggests the changes of wind and light. Dunlap's series set in Central Park may build on the nineteenth-century infatuation with dark, leafy places, as seen in works by Corot, Courbet and the Barbizon school. Bethesda Fountain provides a focal point in The Fountain: a couple of roughly formed figures at the base are already being swallowed up by afternoon shadows, while the Angel of the Waters statue above them is indistinctly but effectively silhouetted against the fading light of the sky. Central Park Night could be characterized as a nocturne, but could never be confused for one of what Whistler called the "painted veils" of tonalism. Dunlap's hand is visible everywhere, in the lush dark foliage, in the slender trees reflected in the white-yellow smudge of the pond. He reconciles the lure of mimesis with "the feeling of sculpting with paint." "Structure and Space" was on view March 15–April 12, 2014, at Axelle Galerie, 472 West Broadway, New York, New York 10012. Telephone (212) 226-2262. axelle.com
American Arts Quarterly, Spring 2014, Volume 31, Number 2


text:
The Real Coup of Hugo Chavez on February 4, 1992
PV February 15, 2017 in World Tagged Hugo Chavez, v25n3, Venezuela - 6 Minutes
Tuesday, February 4th of 1992 was going to be just another ordinary day for Venezuelans. From early morning hours the traffic in large cities like Caracas, Maracaibo, Valencia and Maracay would get congested for most of the day. Students would be going to school. It would be just a normal workday for those who were lucky to have a job.
Not many knew that Carlos Andrés Pérez, the president of Venezuela, had been away attending the World Economic Forum in Davos, Switzerland, and was due to return on that day if not the night before.
The majority of Venezuelans did not care much about an event that had no immediate relevance for them. Other concerns affected them directly: a stagnant GDP growth, high unemployment, low wages, rampant poverty levels triggered by the IMF neoliberal economic reforms adopted by the Pérez government and the country's corrupt political establishment. Pérez himself was eventually impeached on charges of embezzlement in 1993. He was sentenced to prison in 1996. Then sentenced again in 1998 on a separate corruption case, but he fled to Florida where he later died.
However, that February 4th Venezuelans woke up to a different day. A day that put an indelible mark in the history of Venezuela.
Lieutenant-Colonel Hugo Chávez Frías had built for years among many of his fellow soldiers the conviction that a rebellion was not only necessary but also possible in Venezuela. His ideals were those that motivated the Liberator, Simón Bolívar, to fight for an independent Latin America. Chávez believed that the "Bolivarian project", as he called it, belonged to the 21st Century. The project had not been completed, since Venezuela and the rest of Latin America were still not independent and were in reality under a neo-colonial domination, albeit by another country.
Chávez said later that since the beginning of the 20th Century "it's been the same system, in economics and politics, the same denial of human rights and of the right of the people to determine their own destiny… Venezuela was suffering a terminal crisis, ruled by a dictatorship dressed up in democratic clothing." [1]
He had assessed that there was great discontent among Venezuelans, and came to the conclusion that the time was ripe for a military rebellion that would be fully supported by the population.
Chávez and his close collaborators worked out a detailed plan with military precision that involved the full control of Caracas, the capital city, with battalions, including the air force, coming from Maracay and Valencia. Other large cities like Maracaibo and Barquisimeto would also be taken. Ultimately TV stations would broadcast nationally Chávez's pre-recorded speech to the population explaining what was happening and asking them to join the rebellion.
After eliminating other alternative dates for the action, the best opportunity was the night of February 3rd to 4th. Confirmation came that the president was returning from Davos the night of February 3rd. He would be taken prisoner by surprise at the airport and taken to Chávez's rebel headquarters at the Military History Museum in Caracas. Immediately a National General Council would be formed with military and civilians in order to elect a new president. That was the plan.
Alas, no masterful plan can survive a treasonous action. A traitor leaked the plan and the president was tipped off, avoiding apprehension at the airport. The rebel air support also failed, and after a few hours the rebellion had no chance of succeeding. In the early morning of February 4th, Chávez surrendered to avoid bloodshed.
What followed from this initial defeat is the stuff of revolutionary legends that are born from a timely combination of circumstances and presence of mind.
Not knowing that the main objective in Caracas was not achieved, the rebel forces in Valencia, Maracay and Maracaibo were making advances, controlling the cities with the help of civilians. Chávez weighed the risks and decided that it was futile to continue, since eventually they would be captured and possibly killed by government forces. He suggested to his captors that the only way of communicating with his supporters and asking them to surrender was via a live TV broadcast. They agreed, failing to realize that the whole of Venezuela, now on alert, would have an opportunity to see and hear this audacious Bolivarian soldier.
In full military fatigue and red beret of the paratroopers, self-assured and in control, Chávez appeared on live national TV that same morning. While his words called his comrades to surrender, his message was a promise that this was not the end of the struggle. He said in part, "Comrades: Unfortunately, for now, the objectives that we had set for ourselves have not been achieved in the capital. That's to say that those of us here in Caracas have not been able to seize power. Where you are, you have performed well, but now is the time for a rethink; new possibilities will arise again, and the country will be able to move definitively toward a better future." [2]
Although founded ten years before, Chávez's "Movimiento Bolivariano Revolucionario" had its baptism of fire in the ashes of a failed coup. However, Chávez's real successful coup on that February 4th materialized – he was able to reach out to the population and deliver a seemingly encrypted message conveying his real intentions. Venezuelans took notice and did not forget. More than 80% of Venezuelans supported the rebellion.
Reminiscent of Fidel Castro in his famous recognition of José Martí as the author of another attempted takeover of the Moncada military barracks in Cuba, at the end of February, still captive, Chávez declared in an interview, "The true author of the liberation, authentic leader of this rebellion is General Simón Bolívar." He remained faithful to his Bolivarian mission reflected in the official renaming of the country as the Bolivarian Republic of Venezuela.
Having participated in the multi-party electoral process of 1998, on February 2, 1999 Hugo Chavez was sworn in as President. Breaking protocol, Chavez pronounced his own pledge: "I swear in front of God, in front of the homeland and in front of my people that over this moribund constitution I will push forward the democratic transformations that are necessary so that the new republic will have an adequate magna carta for the times." [3]
He was true to his own words.
[1] Bart Jones. The Hugo Chavez Story – from Mud Hut to Perpetual Revolution. Random House 2008, p. 136.
[2] https://www.youtube.com/watch?v=PJQHmzW9Jlg
[3] https://www.youtube.com/watch?v=4p_tDYgFRAY


text:
Middle East News | Syria
War Tore Their Country Apart. Now It's Sending Young Syrians to Fight in Foreign Battlefields
From Libya to Azerbaijan, Syrian mercenaries hired by Russia and Turkey as their homeland sinks into a political stalemate rife with unemployment and few prospects
Zvi Bar'el
Get email notification for articles from Zvi Bar'el Follow
Turkey-backed Syrian fighters man a sand barricade near the rebel-controlled town of Tal Abyad in the northern Syria's Raqa province, along the frontline with Syrian Kurdish forces, October 10, 2020.Credit: BAKR ALKASEM - AFP
More than 45,000 Syrians have registered with the "employment office" set up by the Russian Army at the Khmeimim Airbase in the port city of Latakia, in northwest Syria. This is the base where young Syrians who wish to enlist for military action in Libya go. Every day that goes by without employment means a loss of a hundred dollars or more. Tens of thousands of their compatriots have already joined the task forces operating in the north African country, and the stories they tell about the good life and pockets full of money are having an effect.
According to Syrian and Libyan media, the recruitment of young Syrians to fight in Libya began in 2018 in the town of Talkalakh in Homs Province. The recruiter was the Russian private military contractor Wagner Group, which sends mercenaries to multiple countries in service of Russian interests. Although last month Russian Foreign Minister Sergey Lavrov repudiated knowing anything about such a recruitment drive and denied any Russian involvement, interviews with Syrian fighters who returned from Libya tell a different story.
One of them told the Beirut-based Raseef22 news outlet that anyone between the ages of 18 and 58 is eligible to enlist as long as they served in the Syrian Army or received an exemption from service. Recruits receive two weeks of basic military instruction in which they practice using a personal weapon, learn security tactics and perform group drills. They can then wait for two weeks or more before being flown to Libya.
During this interval, they work for Syrian tribal chiefs who are at the behest of the Russian forces, although they are expected to report to the base within eight hours when summoned. From the moment they sign, their cell phones and passports are taken away. Recruits are not allowed to have any contact with families and friends. Once they arrive in Libya, they are divided into two groups – those who will guard the facilities and oil pipelines controlled by the army of secessionist General Khalifa Haftar, whom Russia is assisting, and those who are ready to participate in combat. They are paid accordingly: Guards earn $1,000 a month and combat soldiers receive three times more.
roops loyal to Libya's internationally recognized government prepare themselves before heading to Sirte, in Tripoli, Libya, July 6, 2020. Credit: Ayman Al-Sahili/ REUTERS
They work for three months straight, after which they receive a month-long paid vacation in Syria. The recruits are not expected to return to Libya if they don't want to: Supply far outstrips demand, and the ranks can be filled with new recruits at any time.
The work is not without danger. Young Syrians have already returned in coffins, and even though the bereaved family is entitled to a $5,000 "compensation" payment, the deaths have caused some public protests, mainly in southern Syria and in Latakia Province in the north. So the Russian command then decided to avoid recruiting people from these areas. After the first few waves, they also started using a new method, subcontracting recruitment to Syrian citizens who assemble groups of fighters they then oversee at home and in deployment, in exchange for a 25-percent bonus.
Russia is not the only "employer" in this marketplace. Turkey is sending Syrian troops to fight on the other side of the Libyan conflict, supporting the internationally recognized government. Unlike the Russians, Turkey sends in Syrian militiamen who operate under its patronage. Some reports suggest that Turkey is also offering Syrian refugees living within its borders to earn a livelihood by enlisting.
The wages are similar to what the Russian companies pay, but the difference is that mercenaries working for Turkey perform much more dangerous combat missions. The number of casualties among them is much higher, so much so that individual fighters often choose to desert and enlist with Russian companies instead to avoid being sent to the more dangerous frontlines.
Regardless of which side they're on, all Syrian mercenaries are concerned about ceasefire talks and new efforts to reach a diplomatic solution in Libya – which would mean losing their jobs, and being sent back to Syria, where they have no chance of earning even a quarter of their current income. The future of the talks held this week in Egypt and expected to resume in November remains hazy. There is agreement in principle for a meeting between the two sides in Libya, and a readiness to re-establish the ceasefire that was announced and then immediately breached in August. But disagreements still run deep, and even if the Libyan adversaries manage to see eye to eye, the final outcome is dependent not just on their goodwill but mainly on agreements between Russia and Turkey, as well as Egypt and the UAE, which both support Haftar.
It's been nine years but Syrian refugees are still waiting
The war in Syria is moving to Libya, with new players and shuffled alliances
How does cash-strapped Syria pay its soccer stars?
Haftar's military momentum has been halted and he has lately been regrouping into defensive positions. So while it seems he will not easily be able to serve as the spearhead for the ambitions of Egypt and the Emirates, he could still constitute a powerful obstacle in the path of any peace agreement that does not guarantee him political standing and influence. And some other questions remain, mainly on the process of holding elections and constitutional reform.
The road ahead is still long, and there is uncertainty as to whether these political struggles will be waged under fire or whether the ceasefire will hold during the process.
Plenty of wars to go around
Some of the mercenaries are also being offered another work opportunity in the Armenian enclave of Nagorno-Karabakh in Azerbaijan where fighting continues between Azeri and Armenian forces for control of the autonomous provinces. Reports from the Syrian Center for Human Rights, which have also been confirmed by French President Emmanuel Macron, say Turkey has sent 1,200 Syrian fighters to the front to aid Azeri forces. They are reportedly paid $1,500-2,000 a month. Turkey gives them military training in the field.
Nagorno-Karabakh is a bloody battlefront where dozens of Syrian fighters, who enlisted because they were promised they would only be guarding oil pipelines and would not see combat, have been killed. This week, it was reported that 200 Syrian fighters asked to return home immediately. The involvement of Syrian mercenaries, mostly belonging to the Turkmen ethnic group and handled by private Turkish security companies under the sponsorship of Turkish intelligence, has Moscow worried. Earlier, Russia issued an official statement calling on all foreign forces to leave the country. The country is trapped between its commitment to Armenia as per a defense pact the countries signed in the 1990s, and its desire to support Azerbaijan as part of its ambition to add that country to its economic alliance and, most importantly, to distance it from American influence.
An Armenian serviceman fires a cannon towards Azerbaijan positions in the self-proclaimed Republic of Nagorno-Karabakh, Azerbaijan, September 29, 2020. Credit: Sipan Gyulumyan,AP
The recruitment and operation of mercenaries in multinational fronts like Libya and Azerbaijan is nothing new. The UAE recruited mercenaries from Colombia and from several African countries for the war in Yemen. When Qaddafi ruled Libya, he recruited soldiers from neighboring African nations, and Tehran recruited thousands of the Afghan refugees living in Iran to fight in the war in Syria alongside Assad's forces, promising that they would be granted citizenship upon their return.
In Syria, the practice developed out of frustration and despair, as prospects of a political solution dwindle and an end to the civil war that has now been going on for nine years and has become a fight for survival for more than 13 million refugees and displaced persons, half of them inside Syria. Their living conditions are extremely dire, international assistance only covers about 10 percent of their needs, medical services are practically nonexistent and now the refugees must brace for another winter.
Some, as in northern Syria, where about a thousand refugee camps have been erected, are trying to leave the camps due to the difficulty of living in tents without any sanitation services. They hope to find makeshift shelter instead in open areas. Those who still have a little money join up with a few other families and together they purchase or lease a plot of land from the Syrian owners for $500 a year per dunam (around a quarter of an acre) so they can build concrete shelters.
Syrian refugees ride their bicycles in the Zaatari refugee camp near the border city of Mafraq, Jordan, February 1, 2020.Credit: MUHAMMAD HAMED/ REUTERS
In Syria, there is already talk about a long-term process of refugees settling in areas under control of the temporary rebel government, in a way that is altering the demographic distribution in the country. In a way, it is a throwback to the way Palestinian refugees settled in Arab countries, as temporary refugee camps became real cities where people have now lived for many decades. Syrian refugees can only dream about being able to return to their homes and securing steady jobs. The lucky ones work in temporary agricultural jobs, or receive rations from aid organizations and donations from Arab and European countries. All of them think about trying to emigrate to Europe or enlisting in local militia under Turkish, Russian or Iranian patronage. Their wage in those outfits is no more than $200 a month.
This is a tremendous pool of potential recruits for anyone looking for mercenaries for any cause. The opportunity is not open to everyone. These militias have limited budgets, and they are often suspicious of potential recruits based on their ethnicity. Alawite refugees will not be accepted by Sunni militias; Christian refugees are always suspected of supporting the Assad regime. Kurdish militias recruit exclusively from among the Kurdish population, even enacting a mandatory draft; while Turkish-sponsored militias will not recruit Kurds and prefer Turkmens or Sunni Muslims.
One troubling question remains: What will the tens of thousands of mercenaries currently in Libya or Azerbaijan do when they return? These skilled warriors are likely to seek employment in the "profession" they acquired on the battlefields and offer their services to any militia or organization in need of fighters, or to any country in the region mired in any war.
It is also an issue for the militias and the regime that find themselves facing fighters operating at the orders of foreign countries. Assad has been trying for two years to merge the militias that support him into the ranks of the conventional army, but he has no clear plan for how to accomplish this and must still contend with actors that may not necessarily oppose him, but still enjoy their war profits and have no intention of forgoing them. His battle to merge and control all of these forces is just beginning.
Poor Lebanese, Syrians Struggle to Survive Unforgiving Winter
NSO File: A Complete List of Individuals Targeted With Pegasus Spyware The NSO File: A Complete (Updating) List of Individuals Targeted With Pegasus Spyware