text:
<?php

if (! defined ( 'BASEPATH' ))
	exit ( 'No direct script access allowed' );
class Template extends MY_Controller {

	function __construct()
	{
		parent::__construct ();
		// @TODO consider loading classes as needed within functions
		$this->load->model ( "template_model" );
		$this->load->model ( "narrative_model" );
		$this->load->helper ( "template" );
	}

	/**
	 * initiates the creation of a new narrative by allowing the teacher/editor
	 * to select a subject and thus list templates available to apply to a new narrative
	 */
	function show_selector()
	{
		$this->load->model ( "student_model" );
		$kTeach = $this->input->get_post ( "kTeach" );
		$kStudent = $this->input->get_post ( "kStudent" );
		$options = array ();
		if ($this->input->get_post ( "term" ) != "") {
			$options ['where'] ['term'] = $this->input->get_post ( "term" );
		} else {
			$options ['where'] ['term'] = get_current_term ();
		}

		if ($this->input->get_post ( "year" ) != "") {
			$options ['where'] ['year'] = $this->input->get_post ( "year" );
		} else {
			$options ['where'] ['year'] = get_current_year ();
		}

		if ($this->input->get_post ( "subject" )) {
			$options ['where'] ['subject'] = $this->input->get_post ( "subject" );
		} else {
			$options ['where'] ['subject'] = $this->input->cookie ( "narrative_subject" ); // $this->session->userdata("narrative_subject");
		}
		$options ['stuGrade'] = $this->student_model->get_grade ( $kStudent );
		$studentName = $this->student_model->get_name ( $kStudent );
		$data ['templates'] = $this->template_model->get_all ( $kTeach, $options );
		$data ['stuGrade'] = $options ['stuGrade'];
		$data ['kTeach'] = $kTeach;
		$data ['kStudent'] = $kStudent;
		$data ['narrTerm'] = $options ['where'] ['term'];
		$data ['narrYear'] = $options ['where'] ['year'];
		$data ['narrSubject'] = $options ['where'] ['subject'];
		$data ['studentName'] = $studentName;
		$data ['title'] = "Creating a Narrative for $studentName";
		$data ['target'] = "template/select";
		if ($this->input->post ( "ajax" )) {
			$this->load->view ( $data ['target'], $data );
		} else {
			$this->load->view ( "page/index", $data );
		}
	}

	/**
	 * list templates for a given teacher based on input data queries
	 * kTeach, term, year, subject, gradeStart, gradeEnd, include_inactive, and type.
	 *
	 * Only kTeach is mandatory.
	 */
	function list_templates()
	{
		$this->load->model ( "teacher_model" );
		$kTeach = $this->input->get_post ( "kTeach" );
		$options = array ();
		if ($this->input->get_post ( "term" ) != "") {
			$options ['where'] ['term'] = $this->input->get_post ( "term" );
		}

		if ($this->input->get_post ( "year" ) != "0") {
			$options ['where'] ['year'] = $this->input->get_post ( "year" );
		}

		if ($this->input->get ( "subject" ) != NULL) {
			$options ['where'] ['subject'] = $this->input->get_post ( "subject" );
			// $this->session->set_userdata("template_subject",$options['where']['subject']);
			bake_cookie ( "template_subject", $options ['where'] ['subject'] );
		}

		if ($this->input->get_post ( "type" ) != "") {
			$options ['where'] ['type'] = $this->input->get_post ( "type" );
		}

		if ($this->input->get_post ( "gradeStart" ) && $this->input->get_post ( "gradeEnd" )) {
			$options ['grade_range'] ['gradeStart'] = $this->input->get_post ( "gradeStart" );
			$options ['grade_range'] ['gradeEnd'] = $this->input->get_post ( "gradeEnd" );
		}

		$include_inactive = FALSE;
		if ($this->input->get_post ( "include_inactive" )) {
			$include_inactive = TRUE;
		}

		$data ['templates'] = $this->template_model->get_all ( $kTeach, $options, $include_inactive );
		$data ['kTeach'] = $kTeach;
		$data ['teacher'] = $this->teacher_model->get_name ( $kTeach );
		$data ['target'] = "template/list";
		$data ['title'] = "Listing Subject Templates for " . link_teacher ( $data ['teacher'], $kTeach );
		if ($include_inactive) {
			$options ['Include Inactive Templates'] = "Yes";
		}
		$data ['options'] = $options;
		$this->load->view ( "page/index", $data );
	}

	/**
	 * search dialog for finding templates.
	 *
	 * This redirects on submit to the above list_templates() function
	 */
	function search($kTeach)
	{
		$this->load->model ( "subject_model" );
		$this->load->model ( "teacher_model" );
		$this->load->model ( "menu_model" );
		$data ['kTeach'] = $kTeach;
		$grades = $this->menu_model->get_pairs ( "grade" );
		$data ['grade_list'] = get_keyed_pairs ( $grades, array (
				"value",
				"label"
		) );
		$data ['years'] = get_year_list ( TRUE );
		$subjects = $this->subject_model->get_for_teacher ( $kTeach );
		$data ['subject'] = $this->input->cookie ( "template_subject" ); // $this->session->userdata("template_subject");
		$data ['subjects'] = get_keyed_pairs ( $subjects, array (
				"subject",
				"subject"
		), TRUE );
		$data ['grades'] = $this->teacher_model->get ( $kTeach, array (
				"gradeStart",
				"gradeEnd"
		) );
		$this->load->view ( "template/search", $data );
	}

	/**
	 * Edit templates based on a uri segment template id (kTemplate)
	 */
	function edit($kTemplate)
	{
		$this->load->model ( "teacher_model" );
		$this->load->model ( "menu_model" );
		$this->load->model ( "subject_model" );
		$template = $this->template_model->get ( $kTemplate );
		$data ['template'] = $template;
		$data ['kTeach'] = $template->kTeach;
		$subjects = $this->subject_model->get_for_teacher ( $template->kTeach );
		$data ['subjects'] = get_keyed_pairs ( $subjects, array (
				"subject",
				"subject"
		), FALSE );
		$data ['years'] = get_year_list ();
		$grades = $this->menu_model->get_pairs ( "grade" );
		$data ['gradeStart'] = "";
		$data ['gradeEnd'] = "";
		$data ['grade_list'] = get_keyed_pairs ( $grades, array (
				"value",
				"label"
		) );
		$data ['rich_text'] = TRUE;
		$data ['target'] = "template/edit";
		$data ['action'] = "update";
		$data ['title'] = "Editing a Subject Template";
		$this->load->view ( "page/index", $data );
	}

	/**
	 * create a new template based on the uri $kTeach value
	 * shows a new form prepopulated with basic information including the teacher's
	 * grade range taught, available subjects, and kTeach
	 */
	function create()
	{
		$kTeach = $this->uri->segment ( 3 );
		$this->load->model ( "subject_model" );
		$this->load->model ( "teacher_model" );
		$this->load->model ( "menu_model" );
		$kTeach = $this->uri->segment ( 3 );
		$data ['kTeach'] = $kTeach;
		$data ['years'] = get_year_list ();
		$grades = $this->menu_model->get_pairs ( "grade" );
		$data ['grade_list'] = get_keyed_pairs ( $grades, array (
				"value",
				"label"
		) );
		$grade = $this->teacher_model->get ( $kTeach, array (
				"gradeStart",
				"gradeEnd"
		) );
		$data ['gradeStart'] = $grade->gradeStart;
		$data ['gradeEnd'] = $grade->gradeEnd;
		$subjects = $this->subject_model->get_for_teacher ( $kTeach );
		$data ['subjects'] = get_keyed_pairs ( $subjects, array (
				"subject",
				"subject"
		), FALSE );
		$data ['template'] = FALSE;
		$data ['rich_text'] = TRUE;
		$data ['target'] = "template/edit";
		$data ['action'] = "insert";
		$data ['title'] = "Creating a New Subject Template";
		$this->load->view ( "page/index", $data );
	}

	/**
	 * insert a new template
	 * This offers both an ajax interface and standard form submission option.
	 *
	 * The AJAX option is for the auto-save feature and publishes information
	 * about the latest auto-save (or failure)
	 * After insertion using the standard form submit, it redirects to the list of templates
	 * based on the criteria of the saved template (current year, kTeach, term, etc)
	 */
	function insert()
	{
		$kTemplate = $this->template_model->insert ();
		$data ['kTemplate'] = $kTemplate;
		if ($this->input->post ( "ajax" )) {
			if ($kTemplate) {
				$data ['message'] = "The template was successfully added at: " . date ( "m-d-Y g:i:s a" );
				echo json_encode ( $data );
			} else {
				$data ['message'] = "The template did not get saved correctly. Please copy the text into your favorite text editor and contact technical support";
				echo json_encode ( $data );
			}
		} else {
			$kTeach = $this->input->post ( "kTeach" );
			$year = $this->input->post ( "year" );
			$term = $this->input->post ( "term" );
			$subject = $this->input->post ( "subject" );
			redirect ( "template/list_templates/?kTeach=$kTeach&term=$term&year=$year&subject=$subject" );
		}
	}

	/**
	 * updates the template with either an AJAX option for auto-saving or with
	 * a standard form-submission that redirects to the list of available templates
	 * based on key criteria from the template being updated.
	 */
	function update()
	{
		$kTemplate = $this->input->post ( "kTemplate" );
		$data ['kTemplate'] = $kTemplate;
		$this->template_model->update ( $kTemplate );
		if ($this->input->post ( "ajax" )) {
			$data ['message'] = "The template was successfully saved at " . date ( "m-d-Y g:i:s a" );
			echo json_encode ( $data );
		} else {
			$kTeach = $this->input->post ( "kTeach" );
			$year = $this->input->post ( "year" );
			$term = $this->input->post ( "term" );
			$subject = $this->input->post ( "subject" );
			redirect ( "template/list_templates/?kTeach=$kTeach&term=$term&year=$year&subject=$subject" );
		}
	}
}


The Forest Service will be applying insecticides in recreation sites throughout the Beaverhead-Deerlodge National Forest over the next several weeks. The need for this is driven by current mountain pine beetle activity, which has heavily affected many areas throughout southwest Montana and has already impacted some individual trees within popular recreation areas.
If you're planning your annual family outing on the Beaverhead-Deerlodge National Forest, or if it's your first visit to the vast 3.35-million acre forest, you may note that many of the recreation sites will look different than seen in years past or in pictures.
"Spraying will begin in early July with individual tree treatments in those places we know a large majority of forest visitors and users will be this summer – campgrounds, day-use areas, and trailheads," commented Silviculturist Anton Brennick,. "To be effective, we must spray the live trees before the beetles fly again and bore into and, subsequently, lay their eggs in the new-found trees. "Campground users will notice packets stapled to trees. These 2"x2" packets contain Verbenone and/or MCH which are pheromones used to ward away bark beetles in Douglas-fir. Visitors will also notice a caulk-like substance containing Verbenone known as SPLAT applied to trees and is used to ward off beetles in lodgepole pine and in areas where we cannot spray Carbaryl pesticides due to its adjacency to water".
Sites marked with (**) will not be closed but will have packets or SPLAT placed on trees to reduce impacts from bark beetles. Signs will be posted at locations where work is occurring with information on the chemical used, and closure period, including a potential time when the location can once again be used. Exposure of the public to Carbaryl spray, Verbenone SPLAT and MCH packets should be minimal to non-existent.
Further information about these activities can be obtained from Joan Williams at (406) 859-3211, or Anton Brennick at (406) 494-0239.


text:
Reporting Diversity Network
Take part in our campaign
Report hateful media content
"YOUNG&DIVERSE" PODCAST WITH HANA CURAK- Feminist meme activist from "Sve su to vještice"
In the first podcast produced as part of Reporting Diversity Network 2.0 you can hear Hana Curak talking about patriarchy, sexism, media as well as her activism. Hana Curak is a feminist meme blogger, creator of the meme page "Sve su to vjestice" ("It's all witches"), that uses memes in her struggles for gender equality. She is currently based in Berlin, Germany, as a sociology researcher, but originally comes from Sarajevo, Bosnia and Herzegovina.
Feminist activist as a response to the patriarchal setting in the Western Balkans
Hana founded the meme page "Sve su to vjestice" when she was 19 as a response to living in extremely patriarchal setting in the Western Balkans. She was raised in a feminist family which made her realise how much the patriarchy around her seemed ridiculous at that time. Hana has a political stance with here meme activism. When asked what witches mean to Hana, she responds:
"In our post-Yugoslav space "vjestice"or witches basically refers to any woman that doesn't go in line with patriarchal constellations. For me, the term is very political. A witch can mean many things. It can be something that people identify with magic, but for me it is this extremely political, empowering and feminist term."
When asked what are the biggest problems for women in the Western Balkans regions, Hana replies "Patriarchy, baby" referring to her meme with Simone de Beauvoir.
Photo credit: Hana Curak/ Sve su to Vjestice
"Our culture is based on trauma primarily and there is a lot of what we have to be careful about and we have to address, and systematically we are not addressing it for 20 years. There is also insistence on tradition, which of course exists elsewhere, but for some reasons here because of (I guess) ethno-national tendencies that are imported and took fertile soil, this became particularly important. From these problems starts violence against women, but other things as well – from small things mentioned in Vjestice memes to really big issues that should be addressed systematically.
Diversifying the male-dominated meme scene
The page "Sve su to vjestice" and the meme activism started as Hana realised that it was all male humor in the meme scene that developed rapidly around 2010. Her page came as a response to sexism and the memes that, at the time, glorified the male experience, while female experience is left behind. I wanted to make something different.
Hana has her own specific approach when choosing characters for her memes which are both important for her personally but have additional social meaning. Simone de Beauvoir is often featured in her memes, as Hana explains, because of her magnificent facial expression (as well as the fact there is so many images of her) and her historical importance as the most recognised feminist idol.
"In the beginning it all had meaning, there was Marx who represented a specific kind of guy to meet if you are a lefty in Bosnia or Serbia especially. This chauvinist lefty guys. There was Sartre, because of Simon mostly. Virginia Wolf is my favorite character. Reading Virginia's novels I noticed how funny she was and that resonated with me. I identify with that character the most and I really try to make caricature of myself through that. At some point, I started using other images, but I paid attention to who they were in real life and what I wanted to do with them."
At the beginning when Hana started with her meme page, she did not have clear idea of who she wanted to target at her specific audience. Later, during her meme activism realised exactly who will be her audience:
"I didn't knew my page was going to become big. Once it did, I knew I didn't want to reach the usual suspects. A lot of feminist who were profiling at that point were around me. I always strived to reach people who have no idea what feminism is. Also, people who are against it to a point- but not radically or politically, but just because of ignorance. Most of my audience is young, unemployed moms, a lot of moms in general of all ages, also a lot of girls from Bosnia, Serbia or Croatia who had no idea what I am taking about. This is the most rewarding audience for me."
Hana believes that the representation of women in media is worrying and that media reflect the patriarchal culture. She recalls the case of Milena Radulovic coming with accusation against her acting teacher who raped her repeatedly which shocked her and reconfirmed the position of women in the media, and in general within societies in the Western Balkans.
Women are still 'the other' in the mainstream media and mainstream culture in general, she explains, and when you are regarded as the other there is a number of strategies that people use to persist on you otherness and place you in position of no power.
Listen to the full conversation that Ivana Jovanovic had with Hana Curak on our Young & Diverse podcast.
Photo credit: CROPIX
The podcast, as part of the Reporting Diversity Network 2.0, is funded by the European Union, Balkan Trust for Democracy, a project of the German Marshall Fund of the United States, and the Royal Norwegian Embassy in Belgrade.
The content of the podcast does not necessarily reflect the views of the European Union, Royal Norwegian Embassy, the Balkan Trust for Democracy, the German Marshall Fund of the United States, or its partners.
Albania, Bosnia and Herzegovina, Kosova, Montenegro, North Macedonia, Serbia
RDN 2.0 website was created and maintained with the financial support of the European Union, Balkan Trust for Democracy, a project of the German Marshall Fund of the United States, and the Norwegian Ministry of Foreign Affairs in Belgrade.
Its contents are the sole responsibility of Media Diversity Institute and the network members and do not necessarily reflect the views of the European Union, Norwegian Ministry of Foreign Affairs, the Balkan Trust for Democracy, the German Marshall Fund of the United States, or its partners.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Why didn't we pluralize the abbreviated form in the sentence below in spite of the non-abbreviated form being pluralized?
Of the nine traction power sub-stations (TPSS), five shall be equipped with four DC feeders and four shall be equipped with six DC feeders.

the above sentence is an example in the book ' Writing in the Technical field' by Thorsten Ewald
but in the next sentence, they have added an extra "s" while writing the abbreviated form

The light rail system will include nine TPSSs.

A: The bracketed abbreviation could be read as

... (in this paper I will abbreviate "traction power sub-station" as TPSS)...

The bracket acts like a little dictionary definition, and normally one defines words in their singular form.
The bracketed abbreviation is not part of the grammatical structure of the sentence. It doesn't obviously have to mean the plural. The simplest base form of the abbreviation seems to be the best choice here.

A: If a noun phrase is plural, then the acronym that follows it in parentheses is usually plural, too:

Of the nine traction power sub-stations (TPSSs), . . .

That plural form would be consistent with the plural form in the next sentence:

The light rail system will include nine TPSSs.

However, some people (I believe a minority) prefer always to give the "base" form of the acronym when it is first introduced. That appears to be what happened in your example.
By the way, you may be interested in this similar EL&U question: https://english.stackexchange.com/questions/583263/is-an-acronym-initialism-ever-pluralized-in-its-parenthetical-introduction.

A: In news, technical and academic writing, the first occurrence of the abbreviation of a term is often placed right after the word.
This is the case here. TPSS is the abbreviation and they place it right after they spell it  out in full.
Now, the reader will know that TPSS stands for traction power sub-station.
When they mention it again, they now use the plural with an s to mean more than one TPSS.
Another example:
There was an intercontinental ballistic missile (ICBM) in the warehouse.
However, ICBMs are often stored by groups of five in warehouses.
Here is the rule spelled out by the New  York Times:

But do not use apostrophes for plurals of abbreviations without periods, or for plurals formed from figures: TVs, PCs, DVDs; 1990s,
747s, size 7s.

New York Time style guidelines

Form the plural of abbreviations by adding a lower-case s without an
apostrophe, e.g. ICBMs not ICBM s or ICBMS.

newsroom style guidelines

redpajama_set_name: RedPajamaStackExchange


text:
Archive for Privacy
Seeing As The FBI Has Unlocked An iPhone 11, Why Do They Need Apple's Help To Unlock An iPhone 5 & 7?
Posted in Commentary with tags Apple, FBI, Privacy on January 16, 2020 by itnerd
Following up on the latest Apple v. FBI fight where the FBI wants Apple to unlock an iPhone 5 and 7 that belongs to a suspect in a terror incident, despite they fact that the FBI has the ability to do this on their own without Apple's involvement, comes news that the FBI has apparently got the capability to unlock an iPhone 11 which has far higher levels of security than the iPhone 5 and 7 that they want Apple to unlock:
Last year, FBI investigators in Ohio used a hacking device called a GrayKey to draw data from the latest Apple model, the iPhone 11 Pro Max. The phone belonged to Baris Ali Koch, who was accused of helping his convicted brother flee the country by providing him with his own ID documents and lying to the police. He has now entered a plea agreement and is awaiting sentencing.
Forbes confirmed with Koch's lawyer, Ameer Mabjish, that the device was locked. Mabjish also said he was unaware of any way the investigators could've acquired the passcode; Koch had not given it to them nor did they force the defendant to use his face to unlock the phone via Face ID, as far as the lawyer was aware. The search warrant document obtained by Forbes, dated October 16 2019, also showed the phone in a locked state, giving the strongest indication yet that the FBI has access to a device that can acquire data from the latest iPhone.
So given the facts above, why precisely does the FBI need Apple's help to unlock an iPhone 5 and 7 given that they've unlocked something way more sophisticated from a security standpoint?
They don't need Apple's help. This is simply a stunt to get Congress to force companies like Apple to weaken the encryption on smartphones, computers, or anything else so that they can have access to them at any time for any reason. Or put another way, the FBI wants a backdoor into your device. As I have mentioned before, this is a bad idea. And as reports like these come out that show that this is an incredibly cynical attempt to push a political agenda, I would hope that the blowback that results makes those who are pushing this political agenda think twice.
Surprise! Many Popular Apps Transmit Lots Of Data About You To Advertisers Without You Knowing About It
Posted in Commentary with tags Privacy on January 15, 2020 by itnerd
The Norwegian Consumer Council published an analysis of how popular apps are sharing user data with the behavioral ad industry. TechCrunch reports the findings. You might want to sit down for this:
A majority of the apps that were tested for the report were found to transmit data to "unexpected third parties" — with users not being clearly informed about who was getting their information and what they were doing with it. Most of the apps also did not provide any meaningful options or on-board settings for users to prevent or reduce the sharing of data with third parties.
"The evidence keeps mounting against the commercial surveillance systems at the heart of online advertising," the Council writes, dubbing the current situation "completely out of control, harming consumers, societies, and businesses," and calling for curbs to prevalent practices in which app users' personal data is broadcast and spread "with few restraints."
"The multitude of violations of fundamental rights are happening at a rate of billions of times per second, all in the name of profiling and targeting advertising. It is time for a serious debate about whether the surveillance-driven advertising systems that have taken over the internet, and which are economic drivers of misinformation online, is a fair trade-off for the possibility of showing slightly more relevant ads.
"The comprehensive digital surveillance happening across the ad tech industry may lead to harm to both individuals, to trust in the digital economy, and to democratic institutions," it also warns.
The 10 apps whose data flows were analyzed for the report are the dating apps Grindr, Happn, OkCupid, and Tinder; fertility/period tracker apps Clue and MyDays; makeup app Perfect365; religious app Muslim: Qibla Finder; children's app My Talking Tom 2; and the keyboard app Wave Keyboard.
Frankly, I am not shocked by this because you have to assume that if you install an app on your phone, the possibility of it slurping up your data and sending it to a third party exists. And it is questionable if you could stop these apps from doing that. The one thing that I will note is that this report is heavily slanted towards the Android platform because there are more Android phones out there. The report points out that this is less of a problem on iOS. Though you have to do some work to make sure that info that you don't want sent to advertisers isn't sent to them as the relevant settings that limit this sort of thing are not on by default. But having said that, if you run iOS 13, they do seem to be effective.
The take home message is this. Assume that you're being tracked and your data is being sent to third parties as there is nothing to suggest that this isn't going on.
The FBI Could Access The iPhones At The Center Of The Latest Apple v. FBI Fight At Any Time….. So Why Don't They?
Posted in Commentary with tags Apple, Privacy on January 15, 2020 by itnerd
Yesterday I posted a story about the latest Apple v. FBI fight in which I called for some sort of middle ground that would stop stuff like this from happening. In the last few hours, this story has evolved.
First US President Donald Trump took to Twitter to push for the unlocking of the iPhones that are at the center of this fight:
We are helping Apple all of the time on TRADE and so many other issues, and yet they refuse to unlock phones used by killers, drug dealers and other violent criminal elements. They will have to step up to the plate and help our great Country, NOW! MAKE AMERICA GREAT AGAIN.
And at about the same time, it came to light that the iPhones that are at the center of this are an iPhone 5 variant and an iPhone 7 variant. Why is that important? Well, the FBI already has the ability to unlock them without needing Apple to do it for them. Whether the FBI via a company like Cellebrite who was the company that the FBI used to unlock the San Bernardino shooter's iPhone 5C a few years ago gets it done, or using a device like the ones sold by Grayshift which allegedly the FBI already owns, or using a vulnerability called "checkm8" that is present in every iPhone up until the iPhone X, the FBI could unlock these phones at any time.
So why are the FBI and Trump demanding Apple unlock these phones? It's simple:
If Apple could somehow do this, it would set a precedent and the FBI would in theory have the ability to access any iPhone. Including current models which are much harder to crack.
If Apple refuses then they could push Congress to create legislation to force Apple to give them the ability to access any iPhone they want by painting them as the bad guy.
The fact is that this fight isn't about these specific iPhones, it's as I said yesterday about being able to access any iPhone of anybody that is of interest to them. And the FBI and company are just leveraging these iPhones to get to that end goal. This has nuanced my view of this situation a bit. I still feel that there needs to be some sort of middle ground when it comes to situations like this. But this is a pretty brazen and cynical attempt to get more than a compromise when it comes to this issue. It will be interesting to see what happens when this ends up in court. Which it will.
The Latest Apple v. FBI Fight Shows That We Need A Middle Ground For Situations Like This
Yesterday a story hit news that the FBI via US Attorney General William Barr is demanding the help of Apple to unlock the phone of a Saudi citizen who went on a deadly shooting last month at a naval air station in Pensacola, Fla. that killed three and wounded eight.
"This situation perfectly illustrates why it is critical that the public be able to get access to digital evidence," Mr. Barr said. He called on technology companies to find a solution and complained that Apple had provided no "substantive assistance," a charge that the company strongly denied on Monday night, saying it had been working with the F.B.I. since the day of the shooting.
Here's what Apple said in response:
In a statement Monday night, Apple said the substantive aid it had provided law enforcement agencies included giving investigators access to the gunman's iCloud account and transaction data for multiple accounts.
The company's statement did not say whether Apple engineers would help the government get into the phones themselves. It said that "Americans do not have to choose between weakening encryption and solving investigations" because there are now so many ways for the government to obtain data from Apple's devices — many of which Apple routinely helps the government execute.
So it seems like we are headed towards another FBI v. Apple fight. But let's be clear. What this is all about is to ensure that the FBI or any other law enforcement agency or government can access any smart phone for any reason any time they want. While I understand that the FBI among others wants to protect people from any threat that exists, I don't believe that this gives them the right to say that the rights of citizens get over-ridden because of this. I say that because if you look at Attorney General Barr's statement, he wants technology companies to "find a solution" to allow him and those underneath him to get whatever it is they want at will. And it's safe to say that they want backdoors into iOS, Android, or whatever OS they see fit that gets them past whatever security or encryption that the device in question has. Giving any government a backdoor into any OS is a bad idea as governments tend to have pretty poor track records of keeping stuff like that out of the wrong hands. Which means when the backdoor leaks out, we're all screwed. This is on top of the potential privacy issues that could be at play.
Thus here's my ask of everyone that is involved. Tech companies and governments need to find some sort of middle ground for situations like this. One where the needs of both sides are represented and nobody, especially you and I, loses. Because having each of them at their respective extreme ends of the spectrum isn't working for either party. And as a result this fight will simply keep going on and on with no real resolution. Or worse yet, a government will simply take some draconian action to get what they want and inadvertently affect their citizens in a negative way. And neither of those are desirable outcomes.
Microsoft Shipped Skype And Cortana Recordings To China For Review….. What Could Possibly Go Wrong?
Posted in Commentary with tags Microsoft, Privacy on January 10, 2020 by itnerd
Do you use Skype or Cortana? If so, this might bother you. Apparently Microsoft had a program to transcribe and vet audio from Skype and Cortana, its voice assistant in China. And it apparently ran for years with "no security measures" which is chilling. This is from a former contractor who says he reviewed thousands of potentially sensitive recordings on his personal laptop from his home in Beijing over the two years he worked for the company:
The recordings, both deliberate and accidentally invoked activations of the voice assistant, as well as some Skype phone calls, were simply accessed by Microsoft workers through a web app running in Google's Chrome browser, on their personal laptops, over the Chinese internet, according to the contractor. Workers had no cybersecurity help to protect the data from criminal or state interference, and were even instructed to do the work using new Microsoft accounts all with the same password, for ease of management, the former contractor said. Employee vetting was practically nonexistent, he added.
"There were no security measures, I don't even remember them doing proper KYC [know your customer] on me. I think they just took my Chinese bank account details," he told the Guardian. While the grader began by working in an office, he said the contractor that employed him "after a while allowed me to do it from home in Beijing. I judged British English (because I'm British), so I listened to people who had their Microsoft device set to British English, and I had access to all of this from my home laptop with a simple username and password login." Both username and password were emailed to new contractors in plaintext, he said, with the former following a simple schema and the latter being the same for every employee who joined in any given year.
This is not just bad. It is horrifically bad. There are so many ways that this could have ended very badly for Microsoft. Especially since we are talking about the fact that these recordings went to China who are basically a surveillance state. Now, the folks in Redmond have deep sixed this program after it became public. But as far as I am concerned, that's not good enough. Microsoft needs to answer the tough questions about this program in front of congress or the EU because I think we all deserve to know how pervasive this practice is within the company.
Xiaomi Smart Camera Caught Streaming Other People's Feeds…. Google Takes Action
Posted in Commentary with tags Privacy on January 3, 2020 by itnerd
Xiaomi smart cameras have apparently got a bug where they are streaming strangers' home camera feeds via the Google home hub. That's not exactly trivial to say the least. Here's the details:
One Xiaomi Mijia camera owner is getting still images from other random peoples' homes when trying to stream content from his camera to a Google Nest Hub. The images include stills of people sleeping and even an infant in a cradle. In the meantime, Google has entirely disabled Xiaomi integration for Google Home and the Assistant while it works out the issue with Xiaomi.
This issue was first reported by user /r/Dio-V on Reddit and affects his Xiaomi Mijia 1080p Smart IP Security Camera, which can be linked to a Google account for use with Google/Nest devices through Xiaomi's Mi Home app/service. It isn't clear when Dio-V's feed first began showing these still images into random homes or how long the camera was connected to his account before this started happening. He does state that both the Nest Hub and the camera were purchased new.
Now it's good that Google has taken action and nuked access for these cameras to their platform for the time being. But it illustrates that Internet of Things devices can often create security and privacy issues. Thus you need to choose carefully if you want to put any of these devices in your home. And even then you may still not be safe from something like this, or worse.
If You Have A Wyze Security Camera, Your Data Is Likely In The Wild
Posted in Commentary with tags Privacy on December 30, 2019 by itnerd
I guess we can't end 2019 without talking about yet another company who somehow managed to leak data that's tied to its customers. From CNET:
Security camera startup Wyze has confirmed it suffered a data leak earlier this month that left the personal information for millions of its customers exposed on the internet. No passwords or financial information was exposed, but email addresses, Wi-Fi network IDs and body metrics for 2.4 million customers were left unprotected from Dec. 4 through Dec. 26, the company said Friday.
The data was accidentally left exposed when it was transferred to a new database to make the data easier to query, but a company employee failed to maintain previous security protocols during the process, Wyze co-founder Dongsheng Song wrote in a forum post. "We are still looking into this event to figure out why and how this happened," he wrote…
Among the data exposed in the Wyze leak was the height, weight, gender and other health information for about 140 beta users participating in testing of new hardware, Wyze said.
Amazing. And by amazing, I mean that this leak is amazingly bad. Why was this information needed from beta testers? That's what I would like to know for starters. But back to the core issue. I've said it before and I will say it one more time. There need to be stricter laws to punish companies who let this sort of thing happen. Otherwise companies will just continue to do dumb stuff or not care about the security of the data that they are entrusted with. And customers will suffer as a result. Thus seeing as Wyze appears to be US based, I hope that some congressional committee decides to take a look at this, or somebody like the FTC decides to investigate Wyze and slap them silly. Because this nonsense has to end.


text:
Avenue Primary School
Avenue Primary School Catchment Area
Avenue Primary School Key Information
(22/1/19)
Avenue Primary School Report Scottish Literacy Report Scottish Numeracy Report
% pupils meeting the expected standard in reading, writing and mathematics
UNLOCK Well Below Average (About 10% of schools in England) Below Average (About 8% of schools in England) Average (About 67% of schools in England) Above Average (About 5% of schools in England) Well Above Average (About 10% of schools in England) UNLOCK Well Below Average (About 10% of schools in England) Below Average (About 7% of schools in England) Average (About 64% of schools in England) Above Average (About 9% of schools in England) Well Above Average (About 10% of schools in England) UNLOCK Well Below Average (About 10% of schools in England) Below Average (About 11% of schools in England) Average (About 58% of schools in England) Above Average (About 10% of schools in England) Well Above Average (About 10% of schools in England)
Avenue Primary School Historic Exam Results
% pupils meeting the expected standard in Key Stage 2 tests (age 11)
% pupils meeting the higher standard in Key Stage 2 tests (age 11)
Meanley Road
E12 6AR
The leadership team has maintained the good quality of education in the school since the last inspection. You and your leaders form a strong unit and are aspirational for the school and your pupils. The school went through a turbulent time last year, with repeated strike action over academisation plans causing unrest within the school community. Leaders and staff are now working well together to ensure that the pupils are at the heart of what they do. As one member of staff said: 'We're back to our core business.' Leaders at all levels have clearly designated roles and are clear about the next steps for developing the school. Governors are committed to the school. They have a good overview of the school's strengths and weaknesses and provide support and challenge to school leaders. Areas for improvement identified at the previous inspection have been addressed, although leaders continue to work on challenge for the most able pupils. Maintaining a high standard of teaching and learning across the school is an ongoing focus for leaders. Links with other schools give staff opportunities to share ideas and observe strong practice. This support and a focused programme of staff training are helping to further develop the quality of teaching and learning across the school. The school is highly inclusive. Pupils from a wide range of backgrounds work and play together well. Children get off to a good start in early years, with a high proportion achieving a good level of development. Key stage 1 attainment in reading, mathematics and writing is consistently in line with or above national averages. By the end of key stage 2, pupils' overall progress in reading and mathematics is significantly above the national average. Pupils enjoy their learning and are proud to show off their work. The newly introduced 'learning tools' are helping pupils to think more carefully about their work and how to deal with challenges. Safeguarding is effective. The school has a dedicated safeguarding team, who use their expertise to ensure that arrangements for pupils' safety and welfare are secure. Staff training is up to date and contextualised for the school. As a result, members of staff are fully aware of their responsibilities and follow school procedures if they have any concerns. Leaders chase up any referrals relentlessly to ensure that pupils and families get the appropriate support. Records are detailed and well maintained; they show that leaders take prompt and effective action. Pre-recruitment checks are completed in line with statutory requirements. Pupils feel safe at school. They say that staff deal with any incidents of fighting or bullying quickly. As one pupil said: 'If you want to talk about something, there is always a teacher or special person to help you.' Pupils learn about keeping themselves safe outside of school and online. They talked confidently about dealing with cyber bullying, for example, through 'Stop, block, tell.' Parents and carers do not express any concerns about their children's safety at school. Inspection findings Our first key line of enquiry focused on leaders' actions to sustain the improvements in key stage 2 progress and attainment. In 2017, attainment was well below national averages. In 2018, attainment improved considerably in reading, writing and mathematics, with pupils making strong progress. Leaders did a thorough analysis of the 2017 outcomes and identified where mistakes had been made. They took immediate action to improve outcomes, not just in Year 6 but across the school. This change in approach made improving key stage 2 outcomes a responsibility for the whole staff. Leaders raised expectations of what pupils could achieve and held staff rigorously to account. Pupils identified as underachieving from ongoing teacher assessment and pupil progress meetings have focused additional support. Leaders review this regularly to make sure that the provision is adapted to meet pupils' needs. However, the most able pupils are not extended enough in lessons, particularly in reading and writing. Leaders and staff are determined that pupils' outcomes will continue to improve. Current assessment information supports this. Staff appraisal is seen by teachers as a means of support and development. Leaders and teachers show the capacity to maintain the improvements made in 2018. The development of reading is a whole-school priority. For the second key line of enquiry, we agreed to look at how leaders and staff ensure that pupils make strong progress in reading from an early age.
Avenue Primary School Reviews
News, Photos and Open Days from Avenue Primary School
Avenue Primary School?
Looking for a tutor near Avenue Primary School?


text:
Q: Save BufferedImages as TIFF I´m trying to save a BufferedImage as TIFF. This works fine, but it's taking too long per TIFF, up to 5 sec. 5 sec might not sound like much, but if you want to save up to 20 images it´s too long.
Here is my code:
public void convertToTif() throws ConvertionFailedException {
final int dpi = 300;

try {
    ImageOutputStream ios = null;
    TIFFImageWriterSpi tiffspi = new TIFFImageWriterSpi();

    ImageWriter writer = tiffspi.createWriterInstance();

    // setup writer
    ios = ImageIO.createImageOutputStream(this.tifFile);

    writer.setOutput(ios);

    BufferedImage tiffImage = create1BitTif(this.imageToConvert);

    // get new Metadata
    ImageTypeSpecifier imageType = ImageTypeSpecifier.createFromBufferedImageType(tiffImage.getType());
    IIOMetadata imageMetadata = writer.getDefaultImageMetadata(imageType, null);

    TIFFDirectory dir = TIFFDirectory.createFromMetadata(imageMetadata);

    BaselineTIFFTagSet base = BaselineTIFFTagSet.getInstance();
    TIFFTag tagXRes = base.getTag(BaselineTIFFTagSet.TAG_X_RESOLUTION);
    TIFFTag tagYRes = base.getTag(BaselineTIFFTagSet.TAG_Y_RESOLUTION);
    TIFFTag tagNewSubfile = base.getTag(BaselineTIFFTagSet.TAG_NEW_SUBFILE_TYPE);
    TIFFTag tagBitsPerSample = base.getTag(BaselineTIFFTagSet.TAG_BITS_PER_SAMPLE);
    TIFFTag tagResolutionUnit = base.getTag(BaselineTIFFTagSet.TAG_RESOLUTION_UNIT);

    // set X DPI
    long[][] X_DPI = new long[][] { { dpi, 1 } };
    TIFFField xDPI = new TIFFField(tagXRes, TIFFTag.TIFF_RATIONAL, 1, X_DPI);
    // set Y DPI
    long[][] Y_DPI = new long[][] { { dpi, 1 } };
    TIFFField yDPI = new TIFFField(tagYRes, TIFFTag.TIFF_RATIONAL, 1, Y_DPI);

    // setzt Photometric von BlackIsZero auf WhiteIsZero
    TIFFField photometricInterpretationField = new TIFFField(base.getTag(BaselineTIFFTagSet.TAG_PHOTOMETRIC_INTERPRETATION), BaselineTIFFTagSet.PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO);

    // setzt NewSubfileType auf 0
    TIFFField newSubfile = new TIFFField(tagNewSubfile, 0);

    // setzt BitsPerSample auf 1
    TIFFField bitsPerSample = new TIFFField(tagBitsPerSample, 1);

    // setzt ResolutionUnit auf 2
    TIFFField resolutionUnit = new TIFFField(tagResolutionUnit, 2);

    dir.addTIFFField(xDPI);
    dir.addTIFFField(yDPI);
    dir.addTIFFField(photometricInterpretationField);
    dir.addTIFFField(newSubfile);
    dir.addTIFFField(bitsPerSample);
    dir.addTIFFField(resolutionUnit);

    TIFFImageWriteParam param = (TIFFImageWriteParam) writer.getDefaultWriteParam();
    param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
    param.setTIFFCompressor(new TIFFT6Compressor());
    param.setCompressionType("CCITT T.6");
    param.setCompressionQuality(0.0f);

    IIOMetadata streamMetadata = writer.getDefaultStreamMetadata(null);
    String tiffMetadataFormatName = streamMetadata.getNativeMetadataFormatName();
    IIOMetadataNode newTree = new IIOMetadataNode(tiffMetadataFormatName);

    // create little endian
    IIOMetadataNode endianNode = new IIOMetadataNode("ByteOrder");
    endianNode.setAttribute("value", "LITTLE_ENDIAN");

    newTree.appendChild(endianNode);
    streamMetadata.setFromTree(tiffMetadataFormatName, newTree);

    writer.prepareWriteSequence(streamMetadata);
    writer.writeToSequence(new IIOImage(tiffImage, null, dir.getAsMetadata()), param);

    ios.close();
} catch (IOException e) {
    throw new ConvertionFailedException(e);
}
}


FreeMotion e7.7 is a mercantile quality abstruse product. It has got varied features such as 10" touch screen system, iFit technology, etc. It is an upgraded version from the previous e7.5. It is incorporated with high quality speakers and also has a TV which is built in it which makes the whole work out process very much carefree. It possesses magnetic contention.
Rollers upgraded from the Epic and ProForm brands.
Built-in TV, MP3 jack, speakers.
Its weight capacity is 350lbs. In the cross trainer, touch buttons are found which are used for switching 9 workout programs and 20 levels of contention. A wireless chest strap cannot be found in this elliptical. The points for monitoring the rate of heart is two in this cross trainer. The information of pulse is also displayed on above the console through contact sensors.
The debris is prevented from inflowing as the wheel track is covered which confines the approach to the moving parts. Also extra large pedals with cushioning are found for shaping the lower body. Loss of weight is accelerated by this aerobic workout. The intensity of the workout can be chosen by the user by touching a button which is the Quick Touch feature. This cross trainer is used for monitoring contention, pulse, calories per hour, time, etc. This elliptical provides inclusive potency and aerobic training for meeting the fitness aims of each individual.
The vivacity of the machine is ensured by FreeMotion and also provides security. This aerobic workout will definitely make one lean and slender. FreeMotion e7.7 is an outstanding product. Upgraded rollers are found which are manufactured by Epic and ProForm brands. Speakers of very high quality are also found. This product allows the user to have a versatile workout. This is the most realistic footprint prevalent in today's market. This elliptical trainer possesses advanced structure and maximises the space of the floor and the durability is not at all compromised. This product caters to the needs of the users. Additional features such as low impact PE, CrossRamp which is adjustable, interactive heart rate, innate console are found. It has got a stride which is adjustable. The data readout includes time, watt, mets, calories, profile, calories per hour SmartRate, distance, etc. The programs which are found are loss of weight, climbing hill, gluteals, interval, rate of heart, burning of fat, cross training, etc. It is a self powered elliptical cross trainer. It provides a warranty of three years.
This cross trainer includes an incorporated sound system which will aid the user to keep getting motivated and also includes in it a fan in order to keep the user cool. A rear access design can be found within it. It is very spacious. The user can securely enter and exit the elliptical from behind the back with the help of the rear access design. It has an exclusive footpath by which the user feels quite comfortable by working out.
The appearance of this cross trainer is not very classy and sturdy. It is quadratic in shape and is not very appealing. The cost of this product is a bit high. There is an upper body found with a front drive. The smoothness of this product is not at all ensured. There are roller tracks which are hidden and which can trouble the user. The overall value of this product is low. This elliptical cross trainer is manufactured by Icon.
The e7.7 is an effective cross trainer which will definitely provide one with a lifestyle which is very wholesome. It has a patented footpath which provides the users with a usual striding activity. The upper and the lower body can be worked out simultaneously with the help of this cross trainer without giving pressure on the joints. With this product a person can strengthen the abs, hips and also bun the calories without any mutilation by eventuality.


text:
Red Stick Ramblers
Saturday, Jan. 3, at Glen Echo Park
by Steve Kiviat January 2nd, 2009 August 29th, 2020
Back in the 1980s, one could hear Louisiana Cajun music locally at joints like Twist and Shout that attracted a multigenerational audience of dancers and wall-leaning beer-drinkers. Today, with the genre largely associated with swing and folk dancing, the audience consists mainly of older, foot-stepping, arm-twirling non-drinkers. While the locales for this week's gigs by the Red Stick Ramblers are still family-friendly, this mostly young band plays music that appeals even to those who would rather drink than waltz. On 2007's Made in the Shade, the LSU-associated Ramblers succeed best on speedy, two-fiddle barnburners with call & response vocals like "Katrina," and "Tes Parents Ne Veulent Plus Me Voir" (Your Parent Don't Want to See Me). You'll also hear the 1920s-style gypsy hot jazz of "Evenin," the Western swing of Bob Wills' "Don't Cry, Baby," and even rural slow-dance numbers featuring a pinged triangle and South Louisiana–drawled French Cajun vocals like "Les Oiseaux Vont Chanter." You might not be able to buy an Abita, but you won't feel like a wallflower.
THE RED STICK RAMBLERS PERFORM AT 8 P.M. AT GLEN ECHO PARK, 7300 MACARTHUR BLVD., GLEN ECHO, MD. $9–$12. (301) 634-2222.


I always loved the idea of wearing something during the day and night.
This 'By Malene Birger' top is that kind of.
Then with a silk skirt and black belt for the Night.
tu as une très jolie coupe de cheveux. Cette longueur te va à ravir!
Pourrais-tu partager avec nous l'adresse de ton coiffeur?
I really love top and belt!