Greve Geral

A Brasa é uma empresa jovem, formada por gente jovem que está tentando fazer na prática as coisas de uma forma diferente. Aqui todos temos acesso aos resultados financeiros de forma aberta, é parte do nosso controle, assim como as formas de divisão e reconhecimento de trabalho, que são geridas pela própria equipe, de maneira horizontal. Sobre a paralisação da próxima 6a feira não foi diferente, compreendemos que é momento de todo brasileiro se posicionar, então assim, estamos o fazendo.

A equipe da Brasa irá aderir à paralisação nacional do dia 28/04/2017, pois consideramos este um exercício legítimo e consciente de cidadania. Os movimentos sociais e centrais sindicais convocaram essa greve geral nacional contra a reforma da Previdência e mudanças na legislação trabalhista propostas pelo governo de Michel Temer, e nós como cidadãos conscientes da importância dos direitos sociais adquiridos mediante muitas lutas dos que vieram antes, vamos atender a esse chamado.

Convidamos vocês a unirem-se a nós nesta reflexão e contamos com a compreensão de todos neste momento delicado que vivemos em nosso país. Estaremos disponíveis para esclarecimentos e emergências caso necessário.

Desde 1996 o país não tem uma greve geral

O último movimento que teve a proposta de paralisar o Brasil aconteceu há mais de 20 anos. “Desde 1996 o Brasil não vive uma greve geral. Os sindicatos estão mobilizando suas bases, aprovando a participação das categorias em assembleia“, disse João Cayres, secretário-geral da CUT.

Segundo Paula Marcelino, professora do departamento de Sociologia da FFLCH (Faculdade de Filosofia, Letras e Ciências Humanas) da USP (Universidade de São Paulo), o que vai garantir o sucesso da greve geral é quais categorias vão aderir a ela. “Certas categorias têm uma capacidade de pressão mais expressiva, como os metalúrgicos, o setor dos transportes, petroleiros. Os professores, por exemplo, não têm praticamente nenhuma”, explica.

Estamos falando de um país de dimensão continental, mesmo para uma única categoria conseguir com que os trabalhadores parem em todos os Estados não é algo simples“, pondera Marcio Pochmann, professor do Instituto de Economia com com ênfase em políticas e do trabalho da Unicamp (Universidade Estadual de Campinas).

Diferentemente das greves gerais das últimas décadas, os temas tratados dizem respeito à problemas econômicos que são sentidos no bolso do trabalhador. “Além disso, há uma capacidade muito maior de mobilização que ultrapassa os sindicatos”, disse Pochmann.

Mas porque Greve? E pode?

Ligamos a TV e ouvimos no noticiário que os médicos entraram em greve deixando milhares de pacientes nas filas dos hospitais à espera de atendimento médico; que a educação sofre os efeitos das greves de professores que querem ter atendidas suas reivindicações; que determinada cidade está parada porque o sistema de transporte coletivo entrou em greve deixando a população em casa quando cada cidadão deveria estar em determinada empresa exercendo sua função.

Situações assim fazem com que se questionem as responsabilidades destes profissionais. Afinal, como pode um médico deixar seus pacientes, um professor deixar seus alunos? Para que serve e o que vem a ser uma greve?

Sobre o verbete greve o Grande Dicionário Larousse Cultural da Língua Portuguesa, afirma: “GREVE s.f. (De Grève, nome de uma praça em Paris, onde os operários sem trabalho reuniam-se para serem contratados.) Parada coletiva, voluntária e combinada do trabalho ou do estudo, para obter o atendimento de reivindicações”.

Ou seja, greve é, sobretudo, um instrumento de pressão dos trabalhadores sobre os empregadores, sejam as empresas ou o Estado, para que suas reivindicações sejam atendidas. Greve é uma paralisação de atividades de determinada área, feita em comum acordo, geralmente sob orientação de sindicatos que são os responsáveis por lutar pela garantia dos direitos da dita categoria.

Originalmente, quando acontecia uma greve ela chagava ao fim quando uma das partes vencia, em geral vencia o mais forte. Significa dizer que as greves não eram consideradas um direito dos grevistas e, portanto, não eram regulamentadas por lei. Com o tempo, porém, reivindicar melhores salários, melhores condições de trabalhos etc, passou a ser um direito dos cidadãos que podiam ser exigidos através das paralisações de atividades, isto é, das greves.

No Brasil, apesar de proibidas ao longo do período do regime militar, o direito à greve é atualmente assegurado pela Constituição Federal de 1988 – lei maior vigente no país -, que afirma em um de seus artigos:

Art. 9º É assegurado o direito de greve, competindo aos trabalhadores decidir sobre a oportunidade de exercê-lo e sobre os interesses que devam por meio dele defender.

§ 1º A lei definirá os serviços ou atividades essenciais e disporá sobre o atendimento das necessidades inadiáveis da comunidade.

§ 2º Os abusos cometidos sujeitam os responsáveis às penas da lei.

O que se pode perceber é que, como qualquer outro direito, o direito à greve traz em contrapartida alguns deveres como o de manter os serviços essências à comunidade e o de não abusar do direito sob pena de sofrer punições legais. Não se trata, portanto, de interromper atividades porque se quer ficar em casa, mas de reivindicar condições dignas de trabalho. Cada um que esteja envolvido deve estar ciente das condições, do que é seu direito mas também do que é seu dever enquanto grevista.

A experiência da greve, com o tempo deixou de ser uma ação específica dos trabalhadores, bem como ligada a atividade remunerada. Por isso é que se pode ouvir falar, por exemplo, em greve de fome. Alguém que resolve fazer greve de fome está, sem dúvida, reivindicando algo que lhe traz insatisfações.

A pressão que uma greve exerce sobre os empregadores acontecerá de forma diversa para os diferentes setores. Daí porque algumas categorias têm suas reivindicações atendidas mais facilmente que outras. Ou seja, o atendimento das reivindicações levará em conta os transtornos que a paralisação trouxer à sociedade. Assim, se, por exemplo, o sistema de transporte coletivo de uma cidade como São Paulo parar, as empresas terão muito mais pressa em entrar em acordo com os grevistas para que eles retornem ao trabalho, caso contrário, a cidade pára e a produção, consequentemente, também deixa de acontecer. Se, no entanto, se tratar de uma paralisação dos professores, as providências não são tomadas tão imediatamente como no caso anterior, pois os efeitos desta só serão percebidos muito posteriormente e, ainda assim, se alguém resolver observá-los.

Fontes: UOL, Mídia Ninja, Info Escola

Utilizando a busca do WordPress em termos de taxonomia

Imagine que em um site eu tenho uma taxonomia chamada “Tipo”, com os termos “Praia”, “mirante”, “restaurante” e “pousada”.
Quero fazer com que a busca do wordpress procure também nos nomes desses termos, ou seja, se eu digitar na busca a palavra “Praia” ele deve me retornar também os posts que estão associados a este termo (praia).

A busca padrão do WordPress tenta encontrar ocorrências dos termos pesquisados dentro dos campos título, conteúdo e resumo do post.

Podemos utilizar o mecanismo da busca padrão para encontrar ocorrências em outros campos também, neste caso, o nome dos termos de uma taxonomia associadas aos posts.

Minha primeira tentativa foi utilizar o hook  pre_get_posts para modificar os argumentos da query, incluindo um argumento tax_query.

function tax_na_busca($query) {
 if ( !$query->is_search ){
    
    //caso não seja busca retorna $query sem alteração
    return $query;
 }
 
 //caso é uma query de busca:

 //pega todos os termos da taxonomia "nome_taxonomia" que o tenham o nome igual ao valor digitado na busca
 $term = get_term_by('name', $query->query['s'], 'nome_taxonomia');
 
 
 //verifica se existe algum termo
 if ($term) {
   
   //pega a id do termo
   $id_termo = $term->term_id;
   
   //cria uma variavel com a tax_query que iremos inserir
   $tax_query = array(
   array(
     'taxonomy' => 'nome_taxonomia',
     'field' => 'id',
     'terms' => $id_termo,
     )
   );
 
   // modifica a query, adicionando a tax_query
   $query->set( 'tax_query', $tax_query );
 }

}
add_action( 'pre_get_posts', 'tax_na_busca' );

Não fiquei satisfeito com o resultado pois se existe o termo buscado na taxonomia a query irá trazer só os posts que tem esse termo de taxonomia ligado a ele.

Por exemplo, ao buscar pela palavra “praia” no site com os seguintes posts publicados:

Post 1:
título: Praia de Boiçucanga
conteudo: Lorem ipsum dolor sit amet
termos: praia, mirante
Post 2:
título: Camburi
conteudo: Praia Lorem ipsum dolor sit
termos: mirante
Post 3:
título: Toque toque pequeno
conteudo: Lorem ipsum dolor sit amet
termos: praia

em uma busca padrão ( sem a modificação ) teríamos como resultado os posts que se enquadram na seguinte regra lógica:
( (Tem praia no nome) OU (tem praia no conteúdo) OU (tem praia no resumo) )
ou seja, só os posts 1 e 2.

Na nossa busca modificada, como o termo “praia” existe na taxonomia “tipo”, temos como resultado os posts que se enquadram na seguinte regra lógica:
( (Tem praia no nome) OU (tem praia no conteúdo) OU (tem praia no resumo) ) E (é associado ao termo “praia” da taxonomia “tipo”)
ou seja, o post 1.

Para resolver o meu problema eu queria uma função que fizesse com que a busca retornasse esses três posts, seguindo a seguinte regra lógica:
( (Tem praia no nome) OU (tem praia no conteúdo) OU (tem praia no resumo) ) OU (é associado ao termo “praia” da taxonomia “tipo”)

Decidi então (após conselho do Matheus) utilizar o hook do wordpress posts_where para adicionar um filtro que altera a clausula WHERE do sql da query.

A minha nova função ficou assim:

function busca_tax( $where,&$wp_query ){
   	global $wpdb;
    global $wp_query;

		//verifica se a query é uma busca e se é main query
		if ($wp_query->is_main_query() AND $wp_query->is_search) {
			$busca = $_GET['s'];

			//Adiciona na clausula WHERE a busca por nome de termos mantendo o conteúdo anterior ( utilizando .= em vez de = ).
			$where .= "
				OR $wpdb->posts.ID
				IN (SELECT tr.object_id
					FROM $wpdb->term_relationships
					AS tr
					INNER JOIN $wpdb->term_taxonomy
					AS tt
					ON tr.term_taxonomy_id = tt.term_taxonomy_id
					WHERE tt.taxonomy = 'tipo'
					AND tt.term_id
					IN (SELECT t.term_id
						FROM $wpdb->terms
						AS t
						WHERE name
						LIKE '%$busca%'
					)
				)";
		return $where;
		}
return $where;
}
add_filter( 'posts_where', 'busca_tax', 10, 2 );

Em uma busca padrão pela palavra “praia” teriamos a seguinte clausula WHERE:

AND 
  (
    (
      (wp_posts.post_title LIKE '%praia%') 
      OR 
      (wp_posts.post_excerpt LIKE '%praia%') 
      OR 
      (wp_posts.post_content LIKE '%praia%')
    )
  )  
  AND 
  wp_posts.post_type IN ('post', 'page', 'attachment')
  AND 
  (
    wp_posts.post_status = 'publish' 
    OR 
    wp_posts.post_status = 'private'
  )

Na nossa nova busca com o filtro ativo temos a seguinte clausula WHERE:

AND 
(
  (
    (wp_posts.post_title LIKE '%praia%') 
    OR      
    (wp_posts.post_excerpt LIKE '%praia%') 
    OR 
    (wp_posts.post_content LIKE '%praia%')
  )
)  
AND 
wp_posts.post_type IN ('post', 'page', 'attachment') 
AND 
(
  wp_posts.post_status = 'publish' 
  OR 
  wp_posts.post_status = 'private'
)
OR   wp_posts.ID IN 
(
  SELECT tr.object_id
  FROM wp_term_relationships AS tr
  INNER JOIN wp_term_taxonomy AS tt
  ON tr.term_taxonomy_id = tt.term_taxonomy_id
  WHERE tt.taxonomy = 'tipo'
  AND tt.term_id
  IN 
  (
    SELECT t.term_id 
    FROM wp_terms AS t
    WHERE name
    LIKE '%praia%'         
   )
)

Você pode observar que até a linha 18 o código é o mesmo, a parte que adicionamos começa com um “OR”, para adicionar os resultados à busca padrão.
Dessa forma se o post contem a palavra “praia” no título mas não está relacionada com o termo “praia” da taxonomia ele também será retornado.

O novo código cria uma relação entre as tabelas wp_term_relashionships e wp_term_taxonomy da base de dados para limitar a busca dos termos que estejam incluídos na taxonomia “tipo”.

Durante esse processo utilizei a ferramenta Query Monitor, muito echo e print_r() para ver os parâmetros das querys e o conteúdo da variável $where.

 

Aplicando SSL grátis no seu site com cPanel

No futuro, sites sem SSL (HTTPS) serão considerados inseguros, e esse futuro é breve. Pensando nisso, foi lançado o projeto Let’s Encrypt, que tem em sua fundação o intuito de levar HTTPS gratuitamente para todos.

Por padrão, o Lets Encrypt funciona através de linha de comando no servidor, mas aqui usaremos um site que funciona como uma interface web do Let’s Encrypt. O site é o sslforfree.com.

Continuar lendo

Parabéns (atrasado) ao Linux!

Na ultima Quinta-feira (dia 25/08) foi o aniversário de 25 anos do GNU/Linux. E mesmo que atrasados, nós da Brasa desejamos um feliz aniversário ao OS mais utilizado no mundo!

Pra comemorar, resgatamos o primeiro post do Linus Torvalds (fundador do Linux) anunciando o sistema:

 

Olá a todos que usam minix-

Estou criando um sistema operacional (livre) (apenas como hobby, não será grande e profissional como o gnu) para clones AT 386(486). Estou me preparando desde abril, e está começando a tomar forma. Gostaria de receber qualquer feedback de coisas que as pessoas gostam ou não gostam no minix; como meu SO se assemelha um pouco (algum layout físico no sistema de arquivos devido a razões práticas) além de outras coisas.

Eu já portei o bash (1.08) e o gcc (1.40), e as coisas parecem estar funcionando. Isso implica que eu terei algo em prática em alguns meses, e gostaria de saber que recursos a maioria das pessoas quer. Quaisquer sugestões são bem-vindas, mas eu não prometo implementá-las 🙂

Linux Torvalds torvalds@kruuna.helsinki.fi

PS. Sim – ele está livre de qualquer código minix, e tem um fs de multithread. Ele não é portável (usa chaveamento de tarefas, etc. 386) e provavelmente nunca será compatível com nada além de discos rígidos AT, pois isso é tudo que eu tenho :-).

 

Essa mensagem antiga mostra muito bem como funciona o software livre e como uma simples brincadeira de um recém adulto (Linus tinha 21 anos quando iniciou o Linux em 1991) foi capaz de virar a base de toda uma comunidade global, dos que pensam o software livre como meio de liberdade.

O GNU/Linux nos deu possibilidade de criar o novo sem ficar preso a sistemas operacionais fechados. Graças a eles (GNU e Linux) surgiram todas essas inovações baseadas em software livre, graças a esse sistema, temos o WordPress e tudo mais.

Parabéns Linux!

Contribua com o WordPress no WP Translation Day

Entendo que muitas vezes a contribuição com WordPress fica focada em usuários técnicos, ou seja, desenvolvedores, designers, administradores de servidores, etc. O usuário comum, aquele que de fato usa a plataforma acaba ficando de lado e deixando de colaborar.

Mas existe um jeito fácil para o usuário comum colaborar com o software livre (e é uma das coisas mais importantes): ajudando na tradução.

E vendo a importância de trazer esse tipo de colaboração para dentro do WordPress, a comunidade do mundo todo está organizando um dia inteiro de palestras e informações desse tema. Será no dia 24/04: WPTranslationday.org.

Convido todos a acompanhar e quem puder, claro, usar esse dia para fazer conteúdo sobre tradução do WordPress.

 

Feliz dia do Graffiti 2016

A Brasa deseja a todos que gostam, admiram e fazem graffiti um feliz Dia.

feliz-dia-do-graffiti

E em breve teremos novidades sobre o projeto Dia do Graffiti – Acervo Digital, que estaremos iniciando oficialmente na festa de comemoração do Dia do Graffiti de 2016 na Ação Educativa no dia 30/03 a partir das 19h na Rua General Jardim, 660 – Vila Buarque / São Paulo / SP.

WordCamp Sampa 2015 – Vamo que vamo!

A edição de 2015 que acontecerá no dia 28 de Novembro, terá sede novamente na conhecida PUC Consolação (ver Mapa)

Os WordCamps acontecem em varias partes do mundo, no Brasil felizmente muitas cidades também estão em um movimento de organização de novas edições. Este ano já tivemos edições em Belo Horizonte (13 de Junho), Rio de Janeiro (29 de Agosto) e Porto Alegre (31 de Outubro).

O WordCamp é um evento oficial com autorização da Fundação WordPress. Você pode conferir todas as edições na página oficial do WordCamp Central.

central

Página do WordCamp Central

O evento busca promover e compartilhar conhecimento sobre este incrível gerenciador de conteúdo que deixou de ser uma plataforma somente para blogs a muito tempo atrás e que hoje já domina mais de 60% da Internet nos EUA.

Considerado um Software Livre pela FSF (Free Software Foundation) o WordPress vem ganhando popularidade por manter uma comunidade engajada de colaboradores, uma rede de profissionais e instituições que se utilizam do mesmo como forma de alavancar-se na internet, bem como sua facilidade de instalação e uso, fazendo da internet um lugar para todos!

 

A equipe da Brasa está se preparando para aparecer em peso mais uma vez! Será nosso 6º WordCamp desde que começamos a contribuir com a comunidade, organizando Meetups, WordCamps e fazendo da internet um lugar de beleza única para todos! =)

A Brasa cobrirá o evento em sua página no Facebook e Twitter. Fique ligado!!!

Nos vemos por lá!

Como adicionar Google Font no WordPress (corretamente)

O WordPress indica que todos os scripts e styles sejam adicionados com as funções wp_register_script() e wp_register_style() respectivamente. Elas são responsáveis por pré-registrar seus scripts, e para adicioná-los a fila de scripts carregados, usamos as funções wp_enqueue_script() e wp_enqueue_style() que organizam a fila de scripts e os imprimem no header ou no footer de acordo com os argumentos passados na função.

Fazendo isso com essas funções, e no functions.php, temos um controle maior sobre onde e quando os carregamentos devem acontecer, e assim evitar de misturar isso diretamente no header.php.

Portanto, podemos simplificar e usar diretamente as funções enqueue’s. Vamos então apresentar um exemplo de como adicionar uma Google Font, o código fornecido pelo Google:

Deve ser aplicado com wp_enqueue_style() da seguinte forma:

wp_enqueue_style( 'open-sans', '//fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,700,700italic', array(), null, 'all' );

Para mais detalhes sobre a função wp_enqueue_style() confira a documentação aqui.

Pronto, com isso temos carregado em nosso WordPress a fonte escolhida, nesse exemplo usei a Open Sans. Agora, onde deseja aplicar essa font, coloque em seu CSS o seguinte trecho (também fornecido pelo Google no momento que escolhe a fonte:

font-family: 'Open Sans', sans-serif;

Trabalhando com a REST API V2 do WordPress usando Ionic e AngularJS — Parte 2: Listando todos posts

Na semana passada começamos nossa série preparando o terreno, isso é, instalando todo o necessário para iniciarmos a construção.. Agora vamos partir para a programação e consumo dos dados do WordPress.

Hoje vamos criar uma página para exibir todos os posts do WordPress no nosso aplicativo, e por fim, na próxima semana vamos terminar compilando nosso app para rodar no Android.

Continuar lendo