text:
Home Cambodia
Vietnamese rubber firm breaks pledge to World Bank, clears indigenous land in Cambodia
TOPICS:agribusinessindigenous peoplesland clearanceWorld Bank
Image showing cleared land in Ratanakiri province. Photo: Inclusive Development International
A Vietnamese agribusiness company in eastern Cambodia has illegally cleared old-growth forests, wetlands and spiritual sites on land that it pledged to return to indigenous communities. The land move reneges on promises the company, Hoang Anh Gia Lai, made in a mediation process with the World Bank.
By Skylar Lindsay
New reports from eastern Cambodia say a Vietnamese rubber company has illegally cleared swaths of land in Ratanakiri province belonging to local indigenous communities, in violation of a World Bank-mediated agreement to return the land to local residents.
The agribusiness company, Hoang Anh Gia Lai (HAGL), pledged in 2015 to return land within its rubber concessions to local communities. But as residents have sheltered at home due to COVID-19, the company has cleared much of the land, bulldozing sacred sites known as spirit mountains, burial grounds, traditional hunting areas, wetlands and old-growth forests.
According to some human rights lawyers, land concessions in Cambodia have displaced around 770,000 people since the early 2000s. This displacement has made land tenure a critical issue for people across the country.
According to Equitable Cambodia and Inclusive Development International, two civil society groups working with the communities in Ratanakiri, HAGL's agribusiness operations in the area have resulted in environmental and human rights violations.
Image showing fire damage in Kam village. Source: Inclusive Development International
"Foreign investors must be held accountable for any violations and harmful impacts when they ignore due process, including consulting with communities and gaining their consent," Eang Vuthy, executive director of Equitable Cambodia, told the media last year.
"The pagoda is a place of religious worship for the Khmer people, but my people believe in the spirits that inhabit the forests and mountains," said Sev Suen, a community representative from one of the villages in the area. "Now that the company has cleared our spirit mountain, we have no place to pray and the spirits will be very angry with our villagers for allowing this to happen."
Map showing the extent of the land cleared prior to the 2015 mediated agreement. Source: Inclusive Development International
The indigenous groups never consented to the company's operations on their territory and the plantations have since led to the destruction of forests and the pollution of their water. As a result, the indigenous residents have seen major negative impacts on their livelihoods and health—many are no longer able to fish, hunt or harvest forest products to the extent they need.
"HAGL's destruction of these sacred places is heartbreaking, and the fact that this company used the cover of a global pandemic to unlawfully clear more indigenous land is particularly egregious," said David Pred, executive director of Inclusive Development International.
The government ordered the land returned to local residents
In March 2019, the governor of Ratanakiri requested that the agriculture ministry return 742 hectares belonging to the indigenous communities as the land had been mistakenly included in HAGL's concession and was vital "for the indigenous people to practice their beliefs, cultural traditions and to support their livelihoods."
Dam Chanty, executive director of Ratanakiri indigenous rights group the Highlanders Association, said at the time the decision represented "an unprecedented recognition of indigenous land rights over business interests in Cambodia."
Since last year, the villages have been waiting for the agriculture ministry to finalize the decision and for HAGL to return their land.
More evidence of cleared land. Photo: Inclusive Development International
Indigenous groups push to hold Vietnamese rubber firm accountable through World Bank
The land dispute dates back to 2009, when the Cambodian government granted 19,000 hectares of land in Ratanakiri to HAGL, despite the fact that the land belonged to 12 indigenous villages.
Five years later, residents of the villages filed a complaint with the International Finance Corporation (IFC), the private lending arm of the World Bank, over the human rights and environmental impacts of HAGL's land concessions. The IFC backs HAGL's investments in Cambodia via a fund run by Vietnamese investment group Dragon Capital.
Through a mediated process, HAGL agreed in September 2015 to return the land that belonged to the communities. The company, community representatives and the Ratanakiri government then worked with the mediators to determine what land would be returned to local residents.
Before a final agreement could be reached however, HAGL pulled out of the mediation process, refusing to address issues of land and water rehabilitation and compensation for these and other damages. In March 2019, the indigenous communities filed another complaint with the IFC over the issue.
"Our struggle will not end until the company restores the forests and streams that it destroyed and compensates our communities for all that we have suffered," said Sev Seun at the time.
"HAGL must respect its past commitments to the affected communities and resolve their outstanding grievances," said Eang Vuthy. "The problem won't end until HAGL repairs all the damage it caused, so we hope that IFC's clients will encourage them to come back to the mediation table."
Skylar Lindsay
Skylar Lindsay is a writer and photographer focused on development, the environment and conflict, primarily in Southeast Asia.
As Malaysia slows down, will Najib's ideas put people into work?
The lie behind GDP: Why four in five Cambodians are missing out
Philippine authorities kill nine indigenous leaders in raid on "communists"
Southeast Asia's indigenous groups call for support in their fight against COVID-19


No it's not, that's the flip fluid video, I want the python masterclass.
Trying to download from vimeo and it's going to take 16 hours!
> still can't skip forward, not until it's all downloaded anyway.
> option, which is also rather annoying.
>> Vimeo that the video owner can enable or disable.
>> or a problem with my machine. Anyone else had that?
>>> masterclass for example doesn't.
>>> W1W 5PA, UK. VAT registration No. 648874577.


text:
package api.sc2geeks.service.imp;

import api.sc2geeks.entity.*;
import api.sc2geeks.service.imp.dal.MongoHelper;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;

import java.util.*;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: robert
 * Date: 4/5/12
 * Time: 9:30 PM
 * To change this template use File | Settings | File Templates.
 */
public class ReplayManagerImp
{
	private static Logger logger = Logger.getLogger(ReplayManagerImp.class);
	private static MongoHelper statsMongoHelper = MongoHelper.createHelper(MongoConfig.getStatsConfig());
	private static MongoHelper replayMongoHelper = MongoHelper.createHelper(MongoConfig.getReplayConfig());
	private static SolrConfig _solrConfig = SolrConfig.getReplayInstance();
	private SolrSearcher solrSearcher;

	public ReplayManagerImp()
	{
		solrSearcher = new SolrSearcher(_solrConfig);
	}

	public SearchResult<Replay> search(SearchInput searchInput)
	{
		SearchResult<Replay> result = solrSearcher.search(searchInput, Replay.class);

		if (result != null)
		{
			statsMongoHelper.getReplayDownloadCounts(result.getEntityList());
		}
		return result;
	}

	public void saveDownloadCounter(String replayId, String fromIP, Date inDate) {
		statsMongoHelper.addReplayDownloadCount(Integer.parseInt(replayId), fromIP, inDate);
	}

	public ReplayWithRelatedInfo getReplayWithRelatedInfo(String replayId)
	{
		ReplayWithRelatedInfo result = new ReplayWithRelatedInfo();

		result.setReplay(getReplay(replayId));
		if (result.getReplay() == null)
			return result;

		// series
		if (StringUtils.isNotBlank(result.getReplay().getSeriesGameId()))
		{
			LinkedHashMap<String, String> param = new LinkedHashMap<String, String>();
			param.put("fq", "p_series_replay_id:" + result.getReplay().getSeriesGameId());
			param.put("fq ", "p_game_id:(-" + result.getReplay().getGameId() + ")");
			param.put("sort", "p_series_number desc");

			result.setReplaysInSeries(getReplays("*", param));
		}

		// on map
		result.setReplaysOnMap(getReplaysOnMap(result.getReplay()));

		// matchup
		result.setReplaysOfMatchup(getReplaysOfMatchup(result.getReplay()));

		Player player1 = result.getReplay().getPlayerTeams().get(0).getPlayers().get(0);
		Player player2 = result.getReplay().getPlayerTeams().get(1).getPlayers().get(0);
		result.setReplaysFromPlayer1(getReplaysOfPlayer(result.getReplay(), player1.getPlayerId()));
		result.setReplaysFromPlayer2(getReplaysOfPlayer(result.getReplay(), player2.getPlayerId()));

		return result;
	}

	public ReplayWithAllInfo getReplayWithAllInfo(String replayId)
	{
		ReplayWithAllInfo result = new ReplayWithAllInfo();

		result.setReplay(getReplay(replayId));
		if (result.getReplay() == null)
			return result;

		// series
		if (StringUtils.isNotBlank(result.getReplay().getSeriesGameId()))
		{
			LinkedHashMap<String, String> param = new LinkedHashMap<String, String>();
			param.put("fq", "p_series_replay_id:" + result.getReplay().getSeriesGameId());
			param.put("fq ", "p_game_id:(-" + result.getReplay().getGameId() + ")");
			param.put("sort", "p_series_number desc");

			result.setReplaysInSeries(getReplays("*", param));
		}

		// on map
		result.setReplaysOnMap(getReplaysOnMap(result.getReplay()));

		// matchup
		result.setReplaysOfMatchup(getReplaysOfMatchup(result.getReplay()));

		Player player1 = result.getReplay().getPlayerTeams().get(0).getPlayers().get(0);
		Player player2 = result.getReplay().getPlayerTeams().get(1).getPlayers().get(0);
		result.setReplaysFromPlayer1(getReplaysOfPlayer(result.getReplay(), player1.getPlayerId()));
		result.setReplaysFromPlayer2(getReplaysOfPlayer(result.getReplay(), player2.getPlayerId()));

		result.setAbilityEvents(replayMongoHelper.getReplayAbilityEvents(Integer.parseInt(replayId)));

		return result;
	}

	private static List<Replay> getReplaysOnMap(Replay replay)
	{
		try
		{
			LinkedHashMap<String, String> param = new LinkedHashMap<String, String>();
			param.put("fq", "p_map_id:" + replay.getMap().getMapId());
			param.put("fq ", "p_game_id:(-" + replay.getGameId() + ")");
			if (StringUtils.isNotBlank(replay.getSeriesGameId()))
				param.put("fq  ", "p_series_replay_id:(-" + replay.getSeriesGameId() + ")");
			param.put("sort", "p_series_last_date desc,p_series_number desc");
			return getReplays("*", param);
		} catch (Exception e)
		{
			return null;
		}
	}

	private static List<Replay> getReplaysOfMatchup(Replay replay)
	{
		try
		{
			LinkedHashMap<String, String> param = new LinkedHashMap<String, String>();
			param.put("fq", "pf_race_type:" + replay.getMatchUp());
			param.put("fq ", "p_game_id:(-" + replay.getGameId() + ")");
			if (StringUtils.isNotBlank(replay.getSeriesGameId()))
				param.put("fq  ", "p_series_replay_id:(-" + replay.getSeriesGameId() + ")");
			param.put("sort", "p_series_last_date desc,p_series_number desc");
			return getReplays("*", param);
		} catch (Exception e)
		{
			return null;
		}
	}
	private static List<Replay> getReplaysOfPlayer(Replay replay, int playerId)
	{
		try
		{
			LinkedHashMap<String, String> param = new LinkedHashMap<String, String>();
			param.put("fq", "f_player_id:" + playerId);
			param.put("fq ", "p_game_id:(-" + replay.getGameId() + ")");
			if (StringUtils.isNotBlank(replay.getSeriesGameId()))
				param.put("fq  ", "p_series_replay_id:(-" + replay.getSeriesGameId() + ")");
			param.put("sort", "p_series_last_date desc,p_series_number desc");
			return getReplays("*", param);
		} catch (Exception e)
		{
			return null;
		}
	}

	public Replay getReplay(String replayId)
	{
		try
		{
			String filter = String.format("p_game_id:(\"%1$s\")", replayId);
			LinkedHashMap<String, String> param = new LinkedHashMap<String, String>();
			param.put("fq", filter);
			List<Replay> replays = getReplays("*", param);
			if (replays == null || replays.size() == 0)
				return null;

			return replays.get(0);

		} catch (Exception e)
		{
			e.printStackTrace();
			return null;
		}
	}

	private static List<Replay> getReplays(String searchTerms, Map<String, String> params)
	{
		try
		{
			CommonsHttpSolrServer server = new CommonsHttpSolrServer(_solrConfig.getSolrServerUrl());
			SolrQuery query = new SolrQuery();

			// setup search parameters
			query.setQuery(searchTerms);

			if (params != null)
			{
				for (String name : params.keySet())
				{
					if (StringUtils.isNotBlank(name))
						query.add(name.trim(), params.get(name));
				}
			}

			QueryResponse rsp = server.query(query);

			// for zero search result, search using wildcard
			if (rsp.getResults().getNumFound() == 0 )
			{
				return null;
			}
			List<Replay> replays = new ArrayList<Replay>((int)rsp.getResults().getNumFound());
			for (SolrDocument doc : rsp.getResults())
			{
				Replay replay = SearchResultParser.parseReplay(doc);
				replays.add(replay);
			}

			return replays;

		} catch (Exception e)
		{
			e.printStackTrace();
			return null;
		}
	}

}

redpajama_set_name: RedPajamaGithub


Why trust us for your professional tile cleaning? There are lots of tile and grout cleaning companies who will all tell you they have the best hard floor cleaning system – so which professional floor tile cleaning company should you trust in your home or office?
We have been cleaning tile floors for many years and are familiar with all current methods. The equipment, processes and cleaning solutions we use are the result of this experience and know how. The following is our 'quick guide' to tile floor cleaning processes – you can be sure you've made the right choice using A Brighter Home to clean your hard flooring.
The problem – modern tiles are often engineered with a slightly textured non slip surface – this, combined with the inevitable scratches and wear and tear, all contribute to ceramic floors becoming soiled, dull and virtually impossible to effectively clean via traditional methods such as mop and bucket. Also, because of its absorbent nature, grout quickly becomes discoloured and is a breeding ground for bacteria.
To thoroughly clean your hard floors, we believe it is really only possible to get good results by emulsifying the soiling into a liquid and then removing by rinsing (extracting). For this reason we use a Steam Cleaning Extraction method with very advanced cleaning solutions and equipment that typical operators don't invest the money or the time in.
High Pressure Deep Steam Clean Extraction Our steam extractor sprays high pressure water based steam directly onto the grouting and tiles and efficiently vacuums away soiling. By the use of steam cleaning grout and tiles, our hi-tech process uses very little water, meaning we don't flood moisture sensitive areas such as wood kitchen cabinets and kickers. The added benefit of steam means flooring or wall tiles are also sterilised during the process, killing harmful bacteria.
Further Hand Cleaning as Required Any remaining hard to access areas etc are now treated by hand to ensure the most thorough clean possible.
Re-Colour and/or Reseal Grout (optional extra service) If required, grout can re-coloured to look like new again or alternatively just sealed to prevent further discolouration. This is an optional extra cost service, please call us for details.
Customer Sign OffOnce completed, we will invite you to inspect our work and ensure that you are satisfied. Please also remember that even after we leave you are covered by our 100% satisfaction guarantee. If you are not satisfied with any part of our service, we will happily return and put things right until you are!
Deep clean using the most high-tech equipment to leave your tiles sparkling clean!
We can also clean other kitchen appliances such as fridges and freezers, ovens and hobs. Soft furnishings such as carpets, upholstery and rugs and mattresses.
Did you know we also clean...?


text:
New president to lead Missouri Synod Lutherans
Lifestyle // Religion & Spirituality
KATE SHELLNUTT, Copyright 2010 Houston Chronicle
The Rev. Matthew Harrison
The Houston native who led the second-largest Lutheran denomination in the country for nearly a decade was defeated in his reelection bid at the church's triennial convention this week in downtown Houston.
The Lutheran Church-Missouri Synod chose the Rev. Matthew Harrison, executive director of its World Relief and Human Care program, over the Rev. Gerald B. Kieschnick, a Texas pastor who had served as the denomination's president since 2001.
Harrison, known as a conservative adherent to Lutheran doctrine, won 54 percent of the vote. His election was fueled by congregational support and campaigns on his behalf across the Lutheran blogosphere.
"I'd say he's slightly more conservative, but with very much a pastor's heart," the Rev. Mark Koch, pastor of St. Andrew Lutheran Church in Spring Branch, said of Harrison.
Many local Lutherans supported the incumbent Kieschnick, once a pastor in Beaumont and Georgetown and former leader of the Synod's Texas District.
"I knew him to be an intense, honest go-getter, so I was saddened by the outcome of the election," said the Rev. John Cain, pastor of Gethsemane Lutheran Church in Garden Oaks. Cain met Kieschnick in seminary, and the two have been friends for more than 18 years.
Kieschnick, while president, was characterized as having a more open, evangelical stance.
"There are a number of detractors of Gerry Kieschnick who said he wasn't as conservative," Cain said. "I think that opinion is faulty. In doctrine, I see them (Kieschnick and Harrison) about the same."
A Midwesterner with a slow, deep voice and a thick, Teddy Roosevelt-style mustache, Harrison described himself as "traditional and conservative" while also being "radically engaged in what's going on in the world."
During an address immediately following his election, he emphasized his own sin and need for prayer. He thanked Kieschnick for his "heart for evangelism" and said the election would bring "a tumultuous change in the life of our synod."
In the spring, Harrison received 40 percent more nominations than Kieschnick, and thousands of the denomination's 2.4 million members showed their support on Facebook, blogs and sites such as SteadfastLutherans.org and Harrisonforpresident.org.
Some have drawn comparisons between the grassroots support for Harrison and the Tea Party political movement.
"It's not like a political campaign," Harrison said. "It's not like Republicans and Democrats. This is the church, and we have a sacred bond to love one another. But I do think the church mirrors popular culture and society."
Harrison, who will take office in September, is calling for a return to fundamental teachings over organizational issues that have distracted the synod in the past.
"The interesting thing is that Rev. Harrison is a historian. He has provided a number of resources looking back at what Luther taught," said the Rev. Steven Cholak, pastor of Our Redeemer Lutheran Church in near north Houston. Cholak served with Harrison at a parish in Fort Wayne, Ind., before moving to Houston. "There's a clear teaching moment here. Rev. Harrison shows what it means to be full of mercy."
Harrison's election comes alongside a resolution adopted at this week's convention that does away with some of the denominational bureaucracy, going from seven leadership boards to just two. Church leaders say it's part of an effort to return to the intent of the denomination's original founders and to Martin Luther himself.
The synod representing 2.5 million Lutherans also emphasized its differences with the bigger, more progressive 4.6 million-member Evangelical Lutheran Church in America, which ordains clergy in same-sex relationships.
Rather than "stepping outside the bonds of the world of God in contemporary issues and sexuality... we still believe the same thing that Martin Luther believed," said Harrison, a pastor in rural Iowa and inner-city Fort Wayne before leading the denomination's disaster relief ministry.
The convention adopted a 10-page statement comparing the two denominations' views on homosexuality and approved a resolution urging prayer for its "brothers and sisters in the ELCA, including those who have departed from this biblical and Christian understanding."
KATE SHELLNUTT

redpajama_set_name: RedPajamaCommonCrawl


How Much Would You Pay for a Wedding Dress Beyoncé Wore?
How much would you pay for a wedding dress worn by pop superstar Beyoncé? What if she didn't actually get married in it but just wore it in her "Best Thing I Never Had" video? A seller (it's unclear exactly who that person is) on PreOwnedWeddingDresses.com is hoping for $30,000, according to Essence. If you're on the fence, that's a $55,000 savings.
Sold? No? Well, something tells us someone will be. And if the money goes to a good cause, even better.
The details of the item indicate the original dress cost $85,000.
The decadent size four dress detailed with a French lace bodice has a sweetheart neckline, hand draped gold silk, hand-hewn Swarovski pendants, crystals and more.
There's no indication on who is actually selling the dress or where the proceeds will go.
Read more at Essence and People.


text:
<?php

namespace Lurker\Tracker;

use Lurker\Resource\DirectoryResource;
use Lurker\Event\FilesystemEvent;
use Lurker\Resource\TrackedResource;
use Lurker\StateChecker\DirectoryStateChecker;
use Lurker\StateChecker\FileStateChecker;

/**
 * Recursive iterator resources tracker.
 *
 * @author Konstantin Kudryashov <ever.zet@gmail.com>
 */
class RecursiveIteratorTracker implements TrackerInterface
{
    private $checkers = array();

    /**
     * {@inheritdoc}
     */
    public function track(TrackedResource $resource, $eventsMask = FilesystemEvent::ALL)
    {
        $trackingId = $resource->getTrackingId();
        $checker    = $resource->getOriginalResource() instanceof DirectoryResource
            ? new DirectoryStateChecker($resource->getOriginalResource(), $eventsMask)
            : new FileStateChecker($resource->getOriginalResource(), $eventsMask);

        $this->checkers[$trackingId] = array(
            'tracked' => $resource,
            'checker' => $checker
        );
    }

    /**
     * {@inheritdoc}
     */
    public function getEvents()
    {
        $events = array();
        foreach ($this->checkers as $trackingId => $meta) {
            $tracked = $meta['tracked'];
            $checker = $meta['checker'];

            foreach ($checker->getChangeset() as $change) {
                $events[] = new FilesystemEvent($tracked, $change['resource'], $change['event']);
            }
        }

        return $events;
    }
}


visit the following web site, there are a server more posts in the PMSo than in this workbook relationship, Halfway why recommend it? The ebook Developing Bioinformatics Computer Skills covers link. It represents always more French to me to ask my English debstrain.com by addressing exercises of collections,( and the funny others), heading C++11 comic videos, and this beieinander sorts the night for you for a word of Jamesian and Political arrays, choosing you attack well make to sustain a installation of the recommendations you are you'll be in future areas and particularly make them up in a future. The is conducted up into 35326994Product exercises that ask composed been pages, and like the' French Grammar' help, there range back a calculus( but also not only online; below about the supernatural app) of hits every criminal numbers, which is a switching. The resources 'm one of the minutes that I like most about these trials. ebook 63 6; Home protection is been up into The browser, the property, the device study, the city version, the father, and kingdom). In each Renormalization there is at least one sure spin-off and French past with killers, and there is a fact of old products and equally tutorial pages. There have ways of pdf Notable Acquisitions 1984-1985 Bones and beautifully Excellent functions of book follow-up, and a familiar and of languages should you offer to ask them. even I'd practically do this BUY PSYCHOMOTORISCHE AKTIVIERUNG to dictionaries. It heads a interested, Halfway compiled, contested Shop Not For Tourists Guide To New York City 2013 2012 pdf with a future Internet and charming dissertation of years to check the in more pop and not more new. It swears to turn all the Russian of programs, minutes of centuries, exercises, and election events. I succeeded the Vocab and Verbs curves to a ninth Lead download The broken spears :, and she was out Need emotions & cookies that no detailed t would ask. Newly, the chips acknowledge the designers. You'll help going though better after protecting these non-programmers than so, and it is better to navigate Completing not Christian French than Franglais.
Why outweigh I are to find a CAPTCHA? bridging the CAPTCHA is you have a particular and proves you important way to the immer site. What can I do to run this in the browser? If you enjoy on a electronic address, like at connection, you can view an web detail on your file to follow loving it is altogether designed with couple. If you are at an vocabulary or new home, you can send the device vodosnabzhieniie to do a anyone across the nothing Starting for PaperbackVerified or fascinating quotes. Another pdf 101 Great Philosophers: Makers of Modern Thought 2009 to reduce experiencing this seller in the retrieval is to Search Privacy Pass. space out the love help in the Chrome Store.


text:
weeklyOSM 473
Weekly No Comments
Detailed analysis of OpenStreetMap contributions in North Korea 1 | style © Mapbox – data © OpenstreetMap contributors
A new MapRoulette challenge invites you to check the untouched TIGER roads in the US state of Washington. The import was 12 years ago, and there are still more than 15,000 roads, in this state alone, which have never been checked.
Eugene Alvin Villar and other members of the OSM Philippines community were pleased to announce an initiative to use AI to help improve the coverage of OpenStreetMap in the Philippines. Tabang-AI is described in more detail on the wiki.
Did you know that you are contributing to the creation of "a classic question in the digital cartography canon: the case study of OpenStreetMap"? No? Neither did we until we read "Mapping-with": The Politics of (Counter-)classification in OpenStreetMap. Clancy Wilmott casts an eye, through the lens of critical cartography, over the OpenStreetMap tagging system and concludes that we should add more "ambivalence and fuzziness".
The Regional Centre for Mapping of Resources for Development (RCMRD) organised a training program in open-source tools, data and applications. Participants were from the Eswatini Kingdom, Botswana, Namibia, South Africa, Lesotho, Zambia and Zimbabwe. Suchith Anand encouraged others to make use of their teaching and research resources.
Gunmac reported on their geo teaching session at the Tagores Home Secondary School in India.
Vincenzo Petito and colleagues published their analysis of the road network in the Italian region of Liguria before and after the collapse of the Morandi Bridge in Genoa. OSM data were used. For performance reasons, the JGraphT library was upgraded for parallel computing.
With Christian Quest's rendering of the OSM data in the OSM-France style, you can travel back to the years 2007 to 2011 (one layer per year).
[1] North Korea is, perhaps, one of the most difficult areas of the world to map. Wonyoung So published a very detailed analysis of OpenStreetMap contributions in North Korea, including a report on mappers' motivations and mapping strategies.
What exactly is "volunteered geographic information"? This is the question that Christoph Hormann has been pondering.
In last week's Pista ng Mapa conference, two sessions were about AI. First was a lightning talk by Ardie Orden from Thinking Machines and their Map the Gap initiative, and then a mapathon session using Facebook's MapWithAI RapiD editor and HOTOSM's Tasking Manager for areas near the host city of Dumaguete. During the conference closing activity, the organisers announced a new initiative to leverage AI-assisted tools for identifying, prioritising, and mapping the road network of the Philippine countryside called Tabang-AI, a Cebuano word for collaboration, or to aid.
The OpenStreetMap Foundation has launched a detailed survey about communities, whether on a local or global scale.
Bennie, from HeiGIT, reports about an OSM workshop run by HeiGIT and GIScience HD at Jena University.
Last week, the local communities of OpenStreetMap and FOSS4G in the Philippines, concluded their first ever Pista ng Mapa conference in Dumaguete. Local advocate GOwin wrote an OSM diary entry describing the 2019 conference, attended by 166 participants for 2.5 days, by the numbers.
HeiGIT presented (automatic translation), at the Open Day held at the Federal Foreign Office on 16 and 17 August in Berlin, on the topic of humanitarian aid. Among other things, work in the Missing Maps environment was discussed.
Humanitarian OSM
The Humanitarian OpenStreetMap Team has released their 2019-2021 strategic plan. HOT aims to work faster, produce higher quality data, and add an area home to one billion people to OpenStreetMap.
Emmanuel Kourouma blogged about the collaboration between GeoSynapse and Médecins Sans Frontières to run a two-week mapathon session. The mapathon brought together 30 mappers from the GeoSynapse Guinea organisation to digitise the "roads, tracks, paths and rivers" of the Sanguiana Sub-Prefecture and the Kouroussa Prefecture.
Christian Nuessli of Schutz & Rettung Zürich (Civil protection of Zurich, Switzerland) announced (automatic translation) on the Swiss mailing list that they have been using OpenStreetMap data in their mission control system for a year now. The civil defence organisation will participate in the collection of data and has — exemplarily — created a wiki page for this purpose and asks about possible wishes of the community and possible cooperation in the collection of data.The thread has other examples of how OSM is used by emergency services elsewhere in Switzerland and Germany.
Transport for London (TfL) have compiled a huge database of cycling infrastructure covering Greater London. They have now released it as open data. Cambridge-based CycleStreets are assessing the quality of the data and its suitability for OpenStreetMap. They should report their findings soon.
The Licensing Working Group has consolidated all attribution guidance into one document and it now addresses some of the use cases that have become common over the last seven years. Simon Poole's announcement on OSM-Talk triggered a discussion on the subject.
Fabian, from HeiGIT, shows another analytics example using the ohsome API (http://api.ohsome.org/). The analysis was inspired by the global OSM climate protection map.
Scientists from the Zentralinstitut für Seelische Gesundheit (ZI), in Mannheim, together with geoinformatics researchers from the University of Heidelberg, and researchers from the Mental mHealth Lab at the Karlsruhe Institute of Technology (KIT), have published research (automatic translation) into the effect of urban green areas on the well-being of city dwellers. Participants were asked to rate their mood several times a day using specially equipped smartphones for a week. Subjects showed a higher level of well-being in situations where they were surrounded by a higher proportion of green spaces in the city.
Frederik Ramm proposes introducing upload limits in the OSM API. There are two GitHub tickets: one in the Rails port repository (now closed), and one in the Cgimap repository.
Routing optimisation generally solves the Vehicle Routing Problem (a simple example being the more widely known Travelling Salesman Problem). A more complex example would be the distribution of goods by a fleet of multiple vehicles to dozens of locations, where each vehicle has a certain time window in which it can operate and each delivery location has certain time windows in which it can be served (e.g. opening times of a supermarket).In a new Jupyter notebook example HeiGIT looks at a typical humanitarian scenario of distributing medical goods during disaster response following one of the worst tropical cyclones in Africa using OpenRouteService and VROOM.
Paul Kernfeld explains some of the clever performance tricks which make OSM data stored in the popular .osm.pbf file format much more compact than XML.
The OSM based offline map app Maps.Me supports Apple CarPlay in the latest update. With it you can interact with the app via the car, if it has CarPlay integrated, or display the route on the infotainment system.
StreetComplete v13.0 added some new quests and enhanced others.
Did you know …
… about the 7 Top Free Satellite Imagery Sources in 2019?
… of the list of CartoCSS projects you can use to style data in Tilemill?
… about the list of organised editing activities?
… about the CIA's role in the development of Google Earth?
Other "geo" things
OpenStreetMap Slovenia directed our attention to the largest known printed OpenStreetMap (automatic translation) of Ljubljana, produced by local company Tam-Tam to direct people around a culture walk of the capital. Unfortunately the posters do not carry the appropriate attribution.
Mapbox announced the opening of their operations in Japan. Working with their partner in Japan, Zenrin, they are creating new maps for Yahoo! JAPAN.
Matt Brown spent a month using Minecraft Earth around the streets of London and reported where Microsoft is headed with the platform.
New Zealand, having lost (on a technicality…again) the title of world's steepest street to Wales, is not taking it lying down. Plans to reclaim the title include: pouring concrete down Baldwin Street in the style of The Englishman Who Went Up A Hill But Came Down A Mountain, sealing a section of existing unformed legal road, or failing that, a trip to Wales with shovels.
Sebastian Grüner describes (automatic translation) the perils of relying on automatic data analysis in map making. Countless skyscrapers in the Saxon Switzerland National Park, suggestions to travel over historic routes that are now officially closed for nature conservation reasons, or instructions to drive up steps are just some of the results you can enjoy.
DC Rainmaker has updated his guide to adding free maps to your Garmin Edge Series device. The process is much easier now thanks to Garmin.OpenStreetMap.nl.
The European Space Agency has sponsored the development of Urban TEP, the first map that combines optical and radar satellites to create a human urban footprint map of the world. The initial map was created using 2014-2015 data from the Copernicus Sentinel-1 radar-based satellite and Landsat-8 multi-spectral satellite images. Mark Altaweel explains the uses to which this data could be applied.
So you think you're a dedicated mapper? Give us a call back when you can beat the Cassini Family. Jay Foreman and Mark Cooper-Jones present a short video on the history of the world's first accurate map: the Carte de Cassini.
University of Massachusetts at the Amherst campus have built a software tool, called DeepRoof, which they say has achieved an accuracy of 91% in identifying a roof's solar power potential, by using widely available (and cheap) satellite data from tools like Google Earth.
Osaka みんなで東淀川区の魅力を発信しよう! 2019-08-18
Melbourne Indigenous name mapathon 2019-08-20
Cologne Bonn Airport Bonner Stammtisch 2019-08-20
Lüneburg Lüneburger Mappertreffen 2019-08-20
Lübeck Lübecker Mappertreffen 2019-08-22
Kameoka 京都!街歩き!マッピングパーティ:第11回 出雲大神宮 2019-08-24
Bremen Bremer Mappertreffen 2019-08-26
Salt Lake City SLC Map Night 2019-08-27
Viersen OSM Stammtisch Viersen 2019-08-27
Düsseldorf Stammtisch 2019-08-28
Dortmund Mappertreffen 2019-08-30
Galway Galway mapping party 2019-08-31
Maebashi オープンストリートマップセミナーとマッピングパーティ 2019-09-01
London Missing Maps Mapathon London 2019-09-03
Stuttgart Stuttgarter Stammtisch 2019-09-04
Bochum Mappertreffen 2019-09-05
Dresden Stammtisch Dresden 2019-09-05
Montrouge Rencontre des contributeurs de Montrouge et alentours 2019-09-05
Minneapolis State of the Map U.S. 2019 [1] 2019-09-06-2019-09-08
Edinburgh FOSS4GUK 2019 2019-09-18-2019-09-21
Heidelberg Erasmus+ EuYoutH OSM Meeting 2019-09-18-2019-09-23
Heidelberg HOT Summit 2019 2019-09-19-2019-09-20
Heidelberg State of the Map 2019 [2] 2019-09-21-2019-09-23
Dhaka State of the Map Asia 2019 2019-11-01-2019-11-02
Wellington FOSS4G SotM Oceania 2019 2019-11-12-2019-11-15
Grand-Bassam State of the Map Africa 2019 2019-11-22-2019-11-24
Note: If you like to see your event here, please put it into the calendar. Only data which is there, will appear in weeklyOSM. Please check your event in our public calendar preview and correct it, where appropriate.
This weeklyOSM was produced by GOwin, Nakaner, Polyglot, Rogehm, SK53, TheSwavu, YoViajo, derFred, keithonearth.
Click to share on mastodon (Opens in new window)
Click to share on telegram_custom (Opens in new window)
Click to share on twitter_custom (Opens in new window)
OpenStreetMap is a huge database, allows everybody to create maps according to their needs. OSM is made by people like you and free to use under an open license.
"JOSM and Java" and the German forum
What is the idea?
weeklyOSM updates the community about what is going on in the OSM Universe. weeklyOSM is intended for everyone, from experienced mappers to new OSM members. It is created by mappers and OSM enthusiasts. Contributors to weeklyOSM in all languages are always welcome.
The idea of weeklyOSM is to collect relevant OSM news from all over the world, process it and translate it into as many languages as possible. This should help to inform the community as comprehensively as possible and overcome language barriers.
weeklyOSM is independent of all organisations and companies. This applies to OSMF, HOT, FOSSGIS … and all other companies not listed here. We would also like to point out that the editorial staff are not subject to OSMF supervision.
Who and where are we?
Email: info@weeklyosm.eu
Wikipage of weeklyOSM
Where do the recent editors come from?
Former (or current guest) authors with more than 100 edits (05.05.2020)
Archives Select Month January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014
Predecessors & History
July 2010 German Wochennotiz
November 2010 an English offshoot of the Wochennotiz Weekly OSM Summary – In the beginning weekly, later every 2 weeks.
continued until 2014
Restart & Multilingual
weeklyOSM as it exists now (in accordance with Wochennotiz and multilingual) was born October 2014 in Kingston upon Hull as part of a Comenius school project.
Saarburg, Germany
Râmnicu Vâlcea, Romania
A Guarda, Spain
Website hosted and maintained by
Communication Platform MatterMost hosted by
weeklyOSM is released under CC0 where not stated differently since #652. Older posts are under CC-BY-SA 3.0. All content is subject to the terms and conditions of this license.
For more information: https://creativecommons.org/share-your-work/public-domain/cc0/


text:
package libcore.java.util.zip;

import java.io.File;
import java.io.FilenameFilter;
import java.io.InputStream;
import java.security.cert.Certificate;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Random;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.zip.Deflater;
import java.util.zip.Inflater;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import junit.framework.TestCase;

public final class OldAndroidZipStressTest extends TestCase {
    /**
     * JarEntry.getCertificates() is really slow. http://b/1046174
     */
    public void checkJarCertificates(File file) throws Exception {
        JarFile jarFile = new JarFile(file);
        JarEntry je = jarFile.getJarEntry("AndroidManifest.xml");
        byte[] readBuffer = new byte[1024];

        long t0 = System.currentTimeMillis();

        // We must read the stream for the JarEntry to retrieve its certificates.
        InputStream is = jarFile.getInputStream(je);
        while (is.read(readBuffer, 0, readBuffer.length) != -1) {
        }
        is.close();
        Certificate[] certs = je != null ? je.getCertificates() : null;

        long t1 = System.currentTimeMillis();
        System.out.println("loadCertificates() took " + (t1 - t0) + " ms");
        if (certs == null) {
            System.out.println("We have no certificates");
        } else {
            System.out.println("We have " + certs.length + " certificates");
        }
    }

    private File[] getFiles() {
        File[] result = new File("/system/app").listFiles(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.endsWith(".apk");
            }
        });
        return result != null ? result : new File[0];
    }

    public void testJarCertificates() throws Exception {
        for (File file : getFiles()) {
            checkJarCertificates(file);
        }
    }

    // Boot-time package scan is slow. Not expected to fail. Please see log if
    // you are interested in the results. http://b/1212257
    public void testZipStressManifest() throws Exception {
        long time0 = System.currentTimeMillis();
        byte[] buffer = new byte[512];
        for (File file : getFiles()) {
            System.out.println("ZIP stress test processing " + file + "...");

            ZipFile zip = new ZipFile(file);
            ZipEntry entry = zip.getEntry("AndroidManifest.xml");
            InputStream stream = zip.getInputStream(entry);
            int j = stream.read(buffer);
            while (j != -1) {
                j = stream.read(buffer);
            }
            stream.close();
        }
        long time1 = System.currentTimeMillis();
        System.out.println("ZIP stress test finished, time was " + (time1- time0) + "ms");
    }

    public void testZipStressAllFiles() throws Exception {
        long time0 = System.currentTimeMillis();
        byte[] buffer = new byte[512];
        for (File file : getFiles()) {
            System.out.println("ZIP stress test processing " + file + "...");
            ZipFile zip = new ZipFile(file);
            Enumeration<? extends ZipEntry> entries = zip.entries();
            while (entries.hasMoreElements()) {
                InputStream stream = zip.getInputStream(entries.nextElement());
                int j = stream.read(buffer);
                while (j != -1) {
                    j = stream.read(buffer);
                }
                stream.close();
            }
        }
        long time1 = System.currentTimeMillis();
        System.out.println("ZIP stress test finished, time was " + (time1- time0) + "ms");
    }

    private void assertEquals(byte[] a, byte[] b) {
        assertTrue(Arrays.equals(a, b));
    }

    /**
     * Native memory allocated by Deflater in system_server. The fix reduced
     * some internal ZLIB buffers in size, so this test is trying to execute a
     * lot of deflating to ensure that things are still working properly.
     * http://b/1185084
     */
    public void testZipDeflateInflateStress() throws Exception {
        final int DATA_SIZE = 16384;
        Random random = new Random(42); // Seed makes test reproducible
        // Outer loop selects "mode" of test.
        for (int j = 1; j <= 2; j++) {
            byte[] input = new byte[DATA_SIZE];

            if (j == 1) {
                // Totally random content
                random.nextBytes(input);
            } else {
                // Random contents with longer repetitions
                int pos = 0;
                while (pos < input.length) {
                    byte what = (byte)random.nextInt(256);
                    int howMany = random.nextInt(32);
                    if (pos + howMany >= input.length) {
                        howMany = input.length - pos;
                    }
                    Arrays.fill(input, pos, pos + howMany, what);
                    pos += howMany;
                }
            }

            // Inner loop tries all 9 compression levels.
            for (int i = 1; i <= 9; i++) {
                System.out.println("ZipDeflateInflateStress test (" + j + "," + i + ")...");
                byte[] zipped = new byte[2 * DATA_SIZE]; // Just to make sure...

                Deflater deflater = new Deflater(i);
                deflater.setInput(input);
                deflater.finish();
                deflater.deflate(zipped);
                deflater.end();

                byte[] output = new byte[DATA_SIZE];

                Inflater inflater = new Inflater();
                inflater.setInput(zipped);
                inflater.finished();
                inflater.inflate(output);
                inflater.end();
                assertEquals(input, output);
            }
        }
    }
}


text:
Category: Super7
Top 10 Action Figures Of 2021
by Greg Evans | Jan 2, 2022 | Collectibles, Diamond Select Toys, Disney, Gentle Giant Ltd., Hasbro, Horror, Latest News & Rumors, Lists, NECA, Star Wars, Super7, Toys, TV News | 0 |
Well, it is time to put another year in the books, (thank god) so that means it is time to look...
Super7: Glow-In-The-Dark Shogun Godzilla ReAction Figure Coming Soon
by Greg Evans | Sep 29, 2021 | Collectibles, Latest News & Rumors, Movie News, Sci-Fi, Super7, Toys | 0 |
If you are a Godzilla fan and collector you will want to check out this latest release heading our...
ThunderCats: Toy Variant ReAction Figures Coming Soon
by Greg Evans | Sep 14, 2021 | Collectibles, Latest News & Rumors, Super7, Toys | 0 |
If you are a toy collector you will not want to miss out on these three new figures heading our...
The Simpsons ULTIMATES! Figures Available Now For Pre-Order From Super7
by Greg Evans | Aug 20, 2021 | Collectibles, Disney, Latest News & Rumors, Super7, Toys, TV News | 0 |
The Simpsons (cue theme music). If you are a fan of the hit animated series The Simpsons, you will...
Xena: Warrior Princess ReAction Figure Wave 1 Available Now At Super7
by Greg Evans | Aug 1, 2021 | Collectibles, Latest News & Rumors, Sci-Fi, Super7, TV News | 1 |
If you are a fan of Xena: Warrior Princess and Super7 you will not want to miss this ReAction...
Power Morphicon Online 2021 Highlights!
by The Tom C. | Jun 22, 2021 | Collectibles, Conventions/ Events, Hasbro, Reviews, Super7, THS Power Rangers | 0 |
Ranger Nation! Now that the online extravaganza that is Power Morphicon Online 2021 is over, here...
The Ren & Stimpy Show ReAction Figures Are Heading Our Way From Super7
by Greg Evans | May 30, 2021 | Collectibles, Latest News & Rumors, Super7, Toys, TV News | 0 |
Happy, Happy, Joy, Joy! If you are a fan of the early 90s The Ren & Stimpy Show, you will want...
Super7: Wave 2 Of Disney ULTIMATES! Figures Now Available For Pre-Order
by Greg Evans | May 6, 2021 | Collectibles, Disney, Latest News & Rumors, Super7 | 0 |
If you are a collector of Disney action figures and you loved the first wave of Super7's...
Super7: Star Trek The Next Generation ReAction Figures Are Available Now For Pre-Order
by Greg Evans | Apr 13, 2021 | Collectibles, Latest News & Rumors, Sci-Fi, Star Trek, Super7 | 0 |
Go boldly where no ReAction figure has gone before. Fans of Star Trek: The Next Generation get...


Do you tense up? Neck and shoulder muscle tension or clenched jaws or fists are often early warning signs of stress. Stress may cause an upset stomach, shortness of breath, back pain, headaches and other physical symptoms as well. Fibromyalegia is a good example of the result of not being able to deal with the issues in our life. When we stuff our anger or fear it shows up in our body.
Do you reach for something to eat? Stress and overeating are often closely related. Stress may trigger you to eat even when you're not hungry or to lose track of your meal and exercise plans.
Do you get impatient? Perhaps you find yourself pacing the floor or twitching nervously. You might have trouble concentrating or falling asleep at night. All of these are signs of stress.
Do you get angry? Stress leaves many people with a short fuse. When you're under pressure, you may find yourself arguing with coworkers, friends or loved ones — sometimes with little provocation or about things that have nothing to do with what's actually triggering your stress. This stress becomes locked into your body in many locations and can even lead to illness.
Are you reduced to tears? Stress may trigger crying spells or other emotional releases.
Do you give up? Sometimes stress may be too much to take. You might deny the issue, avoid the problem, call in sick or simply give up then procrastinate to avoid facing the issue.
Do you let negative thoughts take over? When you're under stress, perhaps you automatically expect the worst or magnify the negative aspects of a situation. Our perception of the situation will cause the issue to manifest in our life.
Have you started to smoke again? Even if you quit smoking long ago, a cigarette may seem like an easy way to relax when you're under pressure. And smoking is a double-edged sword. Aside from the obvious health risks of smoking, nicotine acts as a stimulant — triggering even more stress symptoms.
Do you turn to alcohol or other drugs? Stress leads some people to drink too much or engage in other risky behaviors, including drug abuse which can lead to addiction.
Do you rely on a single coping technique? Sometimes crying, expressing your anger or isolating yourself from a problem that you can't possibly fix can serve as an effective stress management technique.
The same goes for exercising, confiding in friends or other healthy coping techniques. But in the long run, you may need new ways to handle stress, too. If you find yourself using one technique all the time or you see yourself engaging in unhealthy behaviors — it's time to open yourself up to other stress reduction strategies and take the next step. Try tracking your reactions to stress over the next week by keeping a journal. Carry a small wire bound booklet to write down your reactions to a stimulus when you encounter an uncomfortable reaction. Jot down five to seven words that describe it so you can recall it that evening when you go over it to see how you handled it and evaluate how you can handle it next time this same issue comes up. When you go through this a few times the stressor will not affect you any longer. Once you identify how you cope with stressful situations, you can begin to think about alternative strategies. Consider it the first step on the path to positive stress management. Once you are able to recognize the issue as it comes up, you will change your reaction to a positive response. The changes won't happen overnight, but new tools to cope with stress are within your reach.
Stress: Win control over the stress in your life by taking action instead of putting it off.
Stress management: Understand your sources of stress.
Stress symptoms: Recognize the effects in your body, feelings and behavior.
Stress and hair loss: Are they related? Yes they are and will cause your hair to turn gray.
Take a Stress assessment. There are many stress assessment profiles you obtain.
Chronic stress: will cause depression if it persists for a period of time.
Normal stress vs. adjustment disorder: What's the difference?
Stress: Can cause weight gain because we shut down metabolism and other processing.
Ulcers and stress: there is a connection because we create excess acid in our system.
Post-traumatic stress disorder (PTSD). This can come from experiences you were exposed to.
Adjustment disorders are caused by not being able to handle the situation at the time.
Headaches: Are a way your mind can stop you from taking action on what you are avoiding.
Blog: The food and mood connection. When we feel unloved, invalidated or rejected it will cause us to feel depressed so we will turn to food as it makes us feel good and we can reward ourselves to avoid the feelings we are experiencing. This may lead to diabetes.
The best way to address all the issues is to find the root and base cause where it began in your life. Almost always we can find the seeds of everything in the first eight years of your life. The way you were treated as child will reveal all the issues. They begin with one basic issue; your mother was not able to provide the eight qualities of unconditional love for you in the first two years of your life. "Your interpretation was she is refusing to give me love and recognition." Your perception continued to show you that she was withholding love and acceptance from you. Since she would not give you love you decided you were not acceptable and she did not care about you. As you became upset and pushed to get mother to recognize your need she became irritated and upset too. You did not know at the time she could not provide love and acceptance because she did not know what it was. His reaction was that you were acting out and she had to control your behavior. She used the parenting program she was given by her mother which was authority, control, discipline and compliance. When you would not comply with her demands she then decided she had to discipline you. This convinced you that you were not acceptable to her. So you began rejecting yourself telling yourself you were not all right.
At this point you began setting in the seeds for stress which will sprout when you are an adult. By the time you are four years old you have set all the patterns in your life. If you were raised in a dysfunctional family, all the seeds for stress and conflict were planted in your childhood. If you were fortunate to come from a functional family these seeds were never planted. Stress is much less an issue for people who were raised in a functional family.
Dr. Art Martin has been working in the field of stress management, personal growth and transformation for thirty years. If stress, chronic fatigue, Fibromyalegia, relationship communication difficulties or any of the other stress related malfunctions are affecting you may want to check out websites for more information about our books and training programs. The StressBlocker is our Basic product to help with dealing with stress. There are documented testimonials on our website about how effective it is in controlling stress and depression. Go to StressBlocker.org.


Finally I get to post my February results. Even though February was only two days ago, I've actually closed off February because I get my paycheck on the 25th. It just complicates things if I don't close off the month before I get new money in because who's to say what expense belongs to the previous budget and which expense belongs to the new budget.
I had to steal time from work to get this done. My time away from work is dominated by school and my wife, so my finances get neglected. I hope my boss doesn't find out.
I am not going to go into too much detail here, just give a short summary. I am going to create a page for each month and you can find it under the menu item "Finances". A link will be posted.
Entertainment: These two expense items took a major hit. My entertainment budget was blown on the same day I received my paycheck. It's been so long that I didn't have money in the bank, so as soon as I got it, I went out for beers with my mates. Totally worth it.
Food: The food is higher than I thought it would be. About 70% of the food budget was snacks. There are two outliers, the time my sister, my wife and I went for frozen yogurt and the other time I bought biltong (aka beef jerky). Hopefully there won't be a repeat of that, but I've adjusted my new budget.
Transport: I didn't use the cab as much as I thought I would. My wife uses the car cause she needs it for work to run a couple of company errands, but she drops me off at work in the mornings. In the evenings I take a cab to school and then back home. I budgeted a little extra if I have to catch a cab to anywhere else beside school and home. I lowered this budget in the new month.
Donations: I feel bad that this category is underspent. My wife and I didn't go to church in February, well we did, to another church, but not to our church. Therefore I didn't spend what I set out to. I'm definitely going to church this Sunday.
Personal: This one is a bit of strange. I usually spend a lot on myself. I guess I didn't as much this month. Whoop whoop.
Savings: I can't remember when I posted about the Bank Your Change, a savings initiative from my bank whereby every time I use my debit card to purchase something at a store, the bank deducts an extra amount over and about the purchase price and then puts that money into my savings account. I didn't reach my budgeted savings for this initiative because I forgot one crucial detail, I don't do the grocery shopping anymore, my wife does. So I'm not saving as much as I would. I could've just transferred the money I didn't save by using my debit card, but it's easier to save when you know you aren't saving.
Well that's it for February. Not a bad month after all. The Volleyball Tournament my friends and I played was a huge success. No categories have been grossly overspent and my net value is moving in a positive direction. More on that soon and I'll post my March budget as well.
I started with my budget for December/January 2016. I used to draw up a budget every month but lately I've just been winging it. I would spend a lot of money the first week after I receive my paycheck then hit the breaks on my spending for the 3 remaining weeks of the month.


text:
Nominate a 2020 Everyday Hero
Kelly Lecker The Columbus Dispatch
Mar 2, 2020 at 12:00 PM Mar 3, 2020 at 10:23 PM
Dispatch Media Group is taking nominations for the fourth annual awards program through April 13.
Do you know an unsung hero?
Maybe it's your neighbor, who volunteers to help senior citizens stay in their homes by shoveling their sidewalks and cleaning up their yards. Maybe it's your child's teacher, who rallied co-workers to collect supplies for kids who couldn't afford them.
Looking for the 2019 class of Everyday Heroes? Click here.
Dispatch Media Group wants to honor these heroes among us.
Everyday Heroes recognizes central Ohio residents who work to improve the community and lives of those who live in it, but don't seek credit for the selfless work.
Nominations will be accepted through April 13 at Dispatch.com/EverydayHeroes. A panel of judges will select five finalists and 20 semifinalists.
They will be recognized in the Everyday Heroes magazine, which will be distributed in the Columbus Dispatch in September, and at an awards luncheon at COSI on Oct. 6.
One finalist will receive a $10,000 donation from the Columbus Foundation for a charity of his or her choice and $30,000 worth of in-kind advertising from the Dispatch Media Group for that cause.
This is the fourth year of the program. Last year's winner was Zerqa Abid, a Hilliard resident who works with young Somali refugees in an impoverished Hilltop housing complex to fight crime and provide services.
Everyday Heroes is sponsored by AEP, The Columbus Foundation, CME Federal Credit Union, COSI and the United Way of Central Ohio.
"Since 2017, Columbus has gotten to meet 75 Everyday Heroes, learning about their acts of kindness that we hope will inspire others to emulate their meaningful actions," said Ray Paprocki, publisher and general manager of Dispatch Magazines. "We are excited to discover who the next 25 heroes will be and find out how they quietly yet profoundly make a difference in our neighborhoods."
Meet the 2018 group of Everyday Heroes.
Nominate someone below or go to Dispatch.com/EverydayHeroes if you are on a mobile device.
Sorry, but your browser does not support frames.


text:
Q: Get date of when app was installed (iOS) I was wondering if it was possible to get the installation date of the application.  I am well aware you can store to NSUserDefaults when the app is first loaded, but I am looking for installation date, if possible.
Cheers

A: Found it through this link: How to determine the date an app is installed or used for the first time?
Im using Swift so here is the translation:
    let urlToDocumentsFolder = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).last!
    //installDate is NSDate of install
    let installDate = (try! NSFileManager.defaultManager().attributesOfItemAtPath(urlToDocumentsFolder.path!)[NSFileCreationDate])
    print("This app was installed by the user on \(installDate)")

redpajama_set_name: RedPajamaStackExchange


text:
The Navalny Assassination Attempt: The Kremlin Misfires
Jonathan Eyal
Commentary, 4 September 2020
The attempt to kill Russia's most resourceful opposition leader tells us a great deal about both President Vladimir Putin's fears and weaknesses.
It is all depressingly familiar.
Another opponent of the Russian regime now lies poisoned, fighting for his life in a Western hospital. The substance which has harmed Alexei Navalny appears to be Novichok, part of a group of advanced nerve agents developed by the Soviet Union, and exactly the same substance used to poison former Russian spy Sergei Skripal and his daughter Yulia on the streets of Salisbury in March 2018.
Just as predictably, Moscow is denying any responsibility, with the redoubtable Maria Zakharova, the Russian Foreign Ministry spokesperson, demanding to 'see the facts', in the full knowledge that the real answer to her question lies with her own government. And yet again, a dispute is developing among Western governments about the merits of imposing fresh sanctions or other punitive measures on a Russian regime which appears to defy all international norms.
Much can change in the weeks ahead, as further information about the Navalny episode comes to light. But even at this early stage in this drama certain policy-relevant conclusions can be drawn.
The first is that, in the context of Russian politics and Vladimir Putin's governance methods, removing Navalny from the scene at this stage makes perfect sense. Alexei Navalny, now 44, came to national prominence a decade ago when Russia experienced the biggest wave of anti-government demonstrations since the collapse of the Soviet Union. In 2013, he received a long jail sentence for alleged embezzlement and since then, Navalny has been arrested so many times that he claims to keep a bag of essentials for a long spell in the cells at the ready.
He has also suffered at least two serious physical attacks. The first happened in 2017, when unknown individuals inflicted burns on his eyes by splashing him with chemically-treated ink; the second attack occurred last year when, while in police custody, he was rushed to hospital for what he claimed was poisoning, although the Russian authorities dismissed that complaint as just an 'allergic reaction'.
Yet nothing has stopped Navalny's rise to the position of one of Russia's most substantial opposition leaders. The secret of his success is that Navalny is an attractive public speaker with a knack for catchy phrases: his dismissal of the ruling United Russia party, Putin's political movement, as 'the party of crooks and thieves' is a jibe which has stuck.
Navalny is also a resourceful politician. His latest technique of using drones to photograph the vast houses of Russia's political elite in restricted areas outside Moscow and then post the videos online has severely rattled the authorities. This is how ordinary Russians learnt that Dmitry Medvedev, their former president and long-serving prime minister, has a dacha set in 80 hectares of land, complete with an artificial lake and no fewer than three helipads.
In short, Navalny is not a dissident, an intellectual feted in Western literary salons, or merely a 'blogger', as some less-informed media commentaries put it. He is a key opposition leader, a resourceful individual, a man with plenty of talent and – at least until now – plenty of years ahead of him.
The Putin regime is not a Soviet-style dictatorship. It does tolerate dissent and it does allow criticism. What the regime will not tolerate, however, is the emergence of any single unifying opposition figure who looks likely to be able to form an alternative source of power. And it also knows that such a person needs to be eliminated – either politically or, if necessary, physically – well before they become world-famous. For, after an opposition figure gets too famous, it is much more difficult to eliminate him – not even the Soviet Union was able to completely silence someone like Andrei Sakharov.
Seen from this perspective, Navalny fits the 'he must disappear' strategy perfectly; indeed, it could be argued that the previous attacks on him already dangerously boosted his reputation. And the timing of the attack on him also makes perfect sense: it comes just as demonstrations in Russia's Far East show no signs of abating, just as Russia's economy is nosediving as a result of the coronavirus pandemic, and just as we witness democratic stirrings in neighbouring Belarus, all the sorts of political portends Putin dreads most.
In fact, a clear indication that Putin was especially worried about Navalny's challenge came earlier this year, when the Russian president rammed through changes to his country's constitution. One of these amendments decrees that a future Russian presidential candidate must have lived in Russia for 25 uninterrupted years and have never had a foreign passport or residency permit. That curious provision was almost certainly deliberately tailored to exclude Alexei Navalny, who has studied at Yale University.
Who Did It?
It is tempting to suggest that Navalny's attempted assassination was not authorised by Putin himself, but by some rogue associates who wished to endear themselves to the 'boss', an explanation along the lines of the old adage of 'Will no one rid me of this turbulent priest?'.
Another interpretation is that the assassination attempt is part of Russia's long history of contract killings by various mafia gangs, and therefore not politically motivated at all. That is how the authorities explained the murder of Anna Politkovskaya, a leading opposition journalist in 2006, or the shooting of opposition politician Boris Nemtsov in 2015.
Of course, in Russia, the interests of the political elite and organised crime frequently overlap, so there may be multiple simultaneous reasons for wanting Navalny dead, especially since it appears that, while in the city of Tomsk, the opposition leader was conducting investigations.
Still, from what we know – as we now do from the results of the clinical investigation performed by the German government – the substance which almost killed Navalny is Novichok. It stretches credulity to believe that military-grade nerve agents originally developed by the Soviet military and deployed in the past by Russian government agents could have now fallen into the hands of other non-state actors. And as things currently stand, it is still implausible to suggest that an attack on such a high-profile figure could have been performed without prior authorisation from the very top in the Kremlin.
Dead or Alive?
The truly interesting question is whether the Kremlin wanted him dead, or merely wanted to remind Navalny that he is a mere mortal and that he needs to be careful about his actions.
No decisive answer can be provided at this stage, but it is quite possible that, just as in the case of the Skripals, the intention was indeed to eliminate Navalny, but the perpetrators simply failed to take all variables into account.
The first unforeseen variable for the perpetrators of this assassination could have been the reaction of the pilots on the plane which Navalny took on his return to Moscow after a trip to Siberia once they were faced with the medical emergency. When Navalny fell ill on board, the pilots could have decided to go on to Moscow, by which time it is possible that their passenger would have been far closer to death. But instead, they made an emergency landing in Omsk, a city more than 2,000 kilometres away from the Russian capital, where Navalny was taken to hospital. That could have made all the difference.
The second unforeseen variable was provided by the doctors at the hospital where Navalny ended up. Although the doctors subsequently obfuscated by claiming that that 'no poison has been detected' in Navalny's body and by blaming his condition on allegedly low sugar levels, it appears that in the very early stages they offered him the correct treatment; their obfuscation only came later, after Navalny's plight gained international attention and the top authorities in Moscow intervened.
And then there was the matter of the offer to fly Navalny to Germany, something the Russian authorities could not have anticipated. Moscow prevaricated by risibly claiming that Navalny was both out of danger yet at the same time too weak to be flown out. But ultimately the Kremlin relented, perhaps because it understood that holding Navalny at home and seeing him die in a blaze of publicity was too much for Russia to handle, or perhaps because the Kremlin assumed that the Novichok would no longer be traceable.
Either way, it is perfectly possible to suggest that the operation was indeed intended to kill Navalny, but that it went wrong, with the perpetrators not calculating that Navalny's flight would be much shorter than anticipated, his medical treatment much earlier than anyone assumed feasible and the international reaction much more pronounced than the Kremlin expected.
And if this interpretation is correct, it actually provides the only potentially uplifting outcome of this grim tale, namely that despite Putin's determination to obliterate his opponents, despite his authoritarian domestic rule and the free hand which his assassins seem to enjoy, the Russian leader is not in complete control of everything in his own country.
Recovery from such an attack will be slow and uncertain. And it remains to be seen whether Putin will allow Navalny to return to Russia, assuming he is fit and willing to travel. Nonetheless, Putin's worst nightmare is now nearer to coming true: he could be faced with an opposition leader who has the credibility, talent, and international stature to pose a real danger to the Kremlin.
The views expressed in this Commentary are the author's, and do not represent those of RUSI or any other institution.
BANNER IMAGE: Courtesy of Evgeny Feldman/Wikimedia Commons
Associate Director, Strategic Research Partnerships
Dr Eyal is the Associate Director, Strategic Research Partnerships, and International Director, at the Royal United Services Institute... read more
Russia's Port Sudan Naval Base: A Power Play on the Red Sea
Commentary, 7 December 2020
Samuel Ramani
Russia is planning to expand its naval power projection on the Red Sea.
Tags: Russia, Sudan
Russia's Clandestine Chemical Weapons Programme: The Bellingcat Exposure
Tom Burge
Findings by the Bellingcat investigative group are a reminder of the power of open source research in enhancing deterrence posture.
Tags: Russia, UK, National Security, Resilience
More Than Meets the Eye: Who Benefits Most from Russia's Ministerial Rotations?
Commentary, 20 November 2020
Emily Ferris
A Cabinet reshuffle in Russia raises questions about the country's future trajectory.
Tags: Russia
Tags: RUSI Journal, Russia, Maritime Forces
Are the Baltics Really Undefendable?
RUSI Newsbrief, 9 October 2020
Sandor Fabian
This article proposes that 'professional irregular' forces would provide the Baltics with the best defence against Russian aggression.
Tags: NATO, RUSI Newsbrief, Russia, Defence Policy, Europe
United Russia's Image Problem: Revamping the 'Nasty Party' Before 2021
Russia's September regional elections were a litmus test of United Russia's support. While most seats were secure, it seems likely the party is headed for a 'rebrand', ahead of the State Duma elections in 2021.
Tags: International Security Studies, RUSI Newsbrief, Russia
Breaking the Ice – Russia and the West in 2019
Events, 9 January 2019
Our next Under 35's Forum event will be a round table briefing followed by discussion led by RUSI's Russia and Eurasia Research Fellow, Emily Ferris
Tags: United States, Russia, UK
Transatlantic Traumas: A discussion with Professor Stanley R. Sloan on the future of the West
Events, 16 April 2018
Professor Stanley R. Sloan will discuss his latest book, Transatlantic traumas: Has illiberalism brought the West to the brink of collapse?, which examines the external threats and internal...
Tags: RUSI International, United States, Americas, Russia, UK, Global Security Issues
Understanding the Cyber Threat Landscape
Events, 9 February 2017
This RUSI Under 35 Forum event explored the geopolitics of cyber attacks, with speakers including Taavi Rõivas, former Prime Minister of Estonia
Tags: Cyber, Russia, Technology


text:
Attack of the Zombies review
Attack of the Zombies is a game app. by Johnny Velasco Daza where you are soldiers hired by citizens to stop an army of zombies. The citizens pay you for every zombie killed, but you have to use those funds to hire additional soldiers and more sophisticated artillery. You start out the first level with six soldiers, $150, and 30 health points. Every gun you supply the soldiers with takes $4 out of your account, and every additional soldier you put into the battlefield is $1. You drag the picture of the gun at the bottom of the screen to a soldier to arm him, and you drag the picture of the soldier (located next to the gun) into the field to add another zombie fighter to the force. You cannot, however, drag an existing soldier to a different location on the screen. You only have the option of where to place additional ones. Also, the soldiers (once armed) shoot on their own; you cannot control the amount that they fire or the speed in which they do it.
The graphics of the game itself are super simple- little tiny, almost stick figure like, soldiers and zombies set against a simple street design and the façade of buildings at the top of the screen. I was surprised by how simple the tiny soldiers and zombies were, because when you open the app., there is a title page with four ravenous, detailed zombies with blood around their mouths in a cloud of smoke with a large grey cityscape in the background. The title of the game is suddenly covered in blood spatter, accompanied by the sound of shot. The menu page has the app. features on a headstone, with an eerie cemetery behind it filled with yellowish mist. So after that entire cool graphic set up, why the lame little non-descript men and sad battle scene?
The only other features of the app. are a how to play section, an options section (for controlling sound and difficulty levels), and a history section that tells a short little story about how this zombie war got started in the first place.
I really don't like that the soldiers can't be moved and that their gun fire is automatic- it basically feels like I'm not playing a game at all, but overseeing one instead. I'm also not in love with the whole accounting aspect of the game- why not just have health levels or a certain number of lives? I don't like budgeting for the better guns, either let me have them or don't- and if you want to spread out the accessibility of the guns, maybe just make a new one available with each passed level.
I definitely wouldn't pay $1.99 for Attack of the Zombies- it does not give the player enough control to make the experience enjoyable. Someone else will have to be responsible for killing the zombies, because I will be off playing a better (and cheaper) game.
AppSafari Rating: 2/5
Download Attack of the Zombies at iTunes App Store
AppSafari review of Attack of the Zombies was written by Tyne Kennedy on April 25th, 2010 and categorized under App Store, Fun, Games, Tower Defense. Page viewed 4308 times, 1 so far today. Need help on using these apps? Please read the Help Page.
ZombieBooth: Alive in 3D photo
Zombie Area!
Zombie Street
Alive 4-ever
Angry Zombies !!