segunda-feira, 6 de maio de 2019

Anarquias aceitam direito de propriedade?


Me considero anarquista. Mas tento mastigar ao máximo, sem recorrer a tantos livros o que isso seja e para provar que o sistema que vivemos não é democrático. É uma merda qualquer, mas democrático não é. A democracia participativa deve ter conhecimento. Se todos, até os idiotas votarem, dá merda. Isso é fato.

Mas como deturparam o significado como bagunça, a sociedade vem atualizando o titulo de um conjunto de conceitos que são universais (do anarquismo que teve que virar democracia participativa). Mas em se tratando puramente de democracia, ela não deve veredar sobre quais são os principios validados pela sociedade, a não ser que a propria sociedade tenha votado se tal principio é válido ou não. Somente a sociedade deve decidir isso. E vai por mim... pode parecer absurdo, mas a sociedade vai querer que exista o direito de propriedade. Ops... Mas como pode... Esse cara é anarquista! Tem algo errado? Não. Não tem.

Posso citar exemplos rudimentares. Até animais precisam de seu espaço e território. Por isso, precisamos ter cuidado com as palavras, pois elas podem ser mal interpretadas. O problema do direito de propriedade está apenas nos seus limites. O direito de propriedade é legítimo.

Como prometi, s exemplos: você, supondo homem da caverna, ou mesmo miçangueiro de praia, que faz seu trabalho pensando em usar ou trocar por outro qualquer... No momento de distração, tem sua peça tomada rapidamente por um outro homem da caverna que passa correndo. Você irá querer de volta a peça?

Em um acampamento primitivo a peira de um rio, outro grupo de homens das cavernas chega e manda o primeiro ir em bora porque eles querem ficar no lugar. Você no meio do primeiro grupo, vai brigar pelo seu espaço?

O direito de privacidade exige o direito de propriedade. Não precisamos nem levantar os princípios que regem o comercio. Irá existir algum princípio que garanta o direito de propriedade.

"Aquele quem primeiro chegar é o primeiro a se servir" (faz sentido e pra mim me parece bem justo - dentro de um limite consensual)

Não tem cabimento ainda existir pessoas querendo convencer a sociedade de que propriedade é roubo. Mas concordo que deve-se discutir os limites da propriedade. Não confundir função (razão) social com os limites.

No que se refere "viés de confirmação", podemos dar a mentalidade anarquista como outro exemplo do que não dá pra se fazer para convencer quem não tem a mesma ideologia. É melhor nós, anarquistas, discutirmos coisas possíveis. Dentro do significado de anarquisto. Nunca foi questionado ou discutido pela sociedade os limites de vários direitos e já sonham em tira-los? Não vai dar certo. Pode-se até dizer que: Ahh... isso é anarquia, ou não isso não é anarquia pela análize histórica, mas as coisas precisam evoluir. De preferencia para um caminho possível.

Quando vejo pessoas que se dizer de esquerda e anarquistas, espera-se uma negociação coerente. Algo legítimo e possível. Não dá pra sequestrar o conhecimento (ou quem quer que seja) e para pedido de um resgate pedir uma baleia alada de sela para fugir da polícia. Queima o filme do anarquismo que já está atualizado...

Lembremo-nos: Até para um sistema anarquista, existirão fdps, loucos e o caralho a quatro, e portanto devemos ter regras para cuidar dos delitos destes. Pelo princípio da legalidade, que infelizmente foi cagado na forma de lei: Ninguem pode ser punido sem que tenha infingido um princípio. Na nossa, cagada lei, é da forma:

CP 5º, inciso XXXIX, que aduz "não haverá crime sem lei anterior que o defina, nem pena sem prévia cominação legal"

Se isso fosse corrigido, leis como Lei Carolina Dieckmann nem precisariam existir, pois é óbvio que princípos, como os que protegem o direito de privacidade, foram violados.

Por isso digo: Não tem por onde correr. Dizer que a sociedade pode se sustentar sem regras é como dizer que cães nunca brigarão por seu espaço, pedaço de comida ou tempo para cópula... Não vai acontecer. Por mais que o lóbulo frontal dos humanos cresçam.

De qualquer forma, como considero muito qualuqer opinião, principalmente dos anarquistas, peço as fundamentações de suas afirmações, de que propriedade privada é roubo. Por favor... com exemplos, como fiz acima. Não precisam citar os autores das conclusões, mas com suas palavras o que se entende para considerar propriedade como roubo.

Ser alguém ou crer em sí mesmo nos mundos atuais



Poema "Tabacaria" de Fernando Pessoa




A humildade salvou um heroi mítico na Odisseia. Ao ter eu nome perguntado por um Ciclope, Ulisses dá a si o nome de "Ninguém".

Alexandre, o Grande, ao impedir um soldado de espancar Diógenes de Sínome disse que se não fosse Alexandre, gostaria de ser Diógenes.

Charles Chaplin em discurso no filme "O Grande Ditador", se colocando no ponto de vista de um ninguém, lembra a todos do inevitável... Pelo menos por enquanto... que todos morrem...

Como é bom ser ninguém, podendo caminhar entre todos sem chamar atenção. Sem depender de requisitos culturais para se socializar. Sem desejos se socializar. Quem quer ser o rei de presos em cavernas? Não é óbvio porquê o subestimado muitas vezes surpreende?

No sadismo dos que governam, tentam nos cegar para o conhecimento de que existe no direito o princípio da Alteridade. Para nos fazer escravos. Eles podem usarnos como bem entendem, mas não podemos escolher o que desejamos para nos mesmos? Dos pensamentos que querem nos impor com fundamentações esdrúxulas, como as que beiram o fanatismo religioso.

Por isso...

Eu fumo sim e vou vivendo.
Tem gente que não fuma e tá morrendo.
Ou já está morto?

segunda-feira, 29 de abril de 2019

Vingadores Ultimato é... Ruim!

Sem Espoilers.

A minha sorte é que por acaso encontrei o filme na internete, pois se eu tivesse saido de casa para assistir o filme, ou esperado para comprar o CD para ver em casa, eu perderia meu tempo.

Se o Tony Stark descobriu o que poderia acontecer com o tempo estudando uma fita de mobius, um dos herois, no final, foi babaca, pois traiu o combinado. O Thor não sabe PN nenhuma sobre o colega heroi.

Todos os outros CDs dos Vingadores que tenho foram doados, pois gosto de filmes com coerência. O filme Vingadores Ultimato não teve. É tolerável a Marvel fugir dos roteiros dos quadrinhos, mas estragou o filme pela falta de coerência.

Acredito que os erros do roteiro tenham ocorrido por preguiça em fazerem o filme. Não foi pensado. Provavelmente, pela história, para caber em menos de 2 horas e meia, tiveram que fazer as guambiarras que fizeram. Está cheio de furos. O estudo da coerência do filme pode ser analizadapor 4 pontos:
1) O do dono do filme ter o direito de fazer o que quiser o filme;
2) Teve apenas viagem no tempo;
3) Teve apenas viagem para outra realidade;
4) Teve o 2 e o 3 no filme.
A primeira, é claro, devo excluir de discussão, mas qualquer das seguintes opções, apresentaria furo de roteiro. Fazer filme com viagem no tempo não é fácil.

Quem for assistir o filme deve ir apenas para satisfazer sua vontade de ver um heroi batendo num vilão e não deve ficar se perguntando muita coisa, pois é óbvio que ficará louco tentando dar sentido ao filme. Já tinham previsto a merda que daria se alguem furasse o plano. E furaram feio. Qualquer um que ousar falar que o filme é bom, só estará falando pelo sadismo de ver herois batendo em vilões e deixando de lado a coerência. Se curte cenas de Luta, sem se preocupar com lógica, então para você valerá a pena. 

Muitos criticos do Youtuber supervalorizam o filme. Teve doido faltando subir pelas paredes de tanta empolgação. E este falou mal da Folha de São Paulo, que tava certa. O filme, para quem exige coerência, é mesmo muito chato. O único canal que vi e que possa ter sido um pouco mais honesto, talvez seja um que tenha dito: É legal. Mas isso somente se tiver utilizando a mesma lógica do Visão (Da Marvel do Tom King da editora Panini) que para não parecer totalmente mentiroso ou não tão falso, diz que seus vizinhos são legais.

Em resumo:

Se curte cenas de Luta, sem se preocupar com lógica,
então para você valerá a pena. 

Se não... Esperem sair na Netflix, na TV a cabo ou TV aberta.






terça-feira, 23 de abril de 2019

Etnologia da palavra covarde

Apenas uma historia engraçada




No tempo da Roma Antiga, enquanto lutavam com os gerreiros gauleses em fúria (ver berserkers), vários soldados romanos corriam em pânico, desmanchando sua organização.

Os generais, irritados gritavam para os fugitivos no meio do campo de batalha:

- Quo vadis? - que do Latim significa "Onde vai?"

Os gauleses, que sempre ridicularizavam os covardes até mesmo em suas tribos, entenderam errado o significado da frase, mas a partir desse evento passaram a provocar os Romanos gritando:

- Quovadis!

Com o passar do tempo a palavra foi modificando-se até chegar em "couards", que no Francês é "covardes".

quarta-feira, 10 de abril de 2019

Vejam o que os golpistas fizeram


Bostonaro quer que todos fiquem longe da política

https://br.noticias.yahoo.com/queremos-garotada-sem-interesse-na-politica-veja-essa-e-outras-frases-que-marcaram-o-dia-224943144.html

https://www.cartacapital.com.br/educacao/queremos-uma-garotada-que-nao-se-interesse-por-politica-diz-bolsonaro/

https://www.opopular.com.br/noticias/politica/queremos-uma-garotada-que-comece-a-n%C3%A3o-se-interessar-por-pol%C3%ADtica-diz-bolsonaro-1.1772543

Querem destruir nossas memórias a qualquer custo? Isso vai terminar em mortes... vão vendo...

Ahhh se eu pudesse conhecer um professor... eu iria conhecer este, mas como não posso confiar nem na minha família, tenho que viver escondido. A burrice não escolhe classe nem parente. Se eu fosse o professor, não confiava em computadores, telefones, pageres...


Esses caras foram filhos de umas putas. O contrário do Kajuru, não tenho medo nem vergonha de dar nomes aos bois. Estes foram mesmo filhos das putas. Destruiram um prédio que poderia ser desmontado e remontado em qualquer outro lugar apenas por vingancinha? Filhos das putas! Eles destruiram o palácio Monroe!

Isso me lembrou de uma tirinha:


Que me lembrou do caso do funcionário do IBAMA que foi exonerado por multar o Bolsonaro por pesca ilegal.

sexta-feira, 5 de abril de 2019

Monarquistas são tão filhos das putas quanto os revisionistas do golpe de 64

Pra começar, vou citar de onde deve ter vindo o dinheiro para pagarem tantos vlogueiros desinformantes que desestabilizaram o Brasil: O Laudêmio da família real.

Para alguns destes Nazistas de Stanford, a desestabilização os favorecem. O que justifica sua posição hierárquica é a fundamentação religiosa. Por isso, tantos imbecis tem caido nesse papo monarquista. Basta pesquisar... não vou nem colocar link: Laudêmio Petrópolis

Pode-se observar que os Reis do mundo inteiro estão com medo de perderem suas posições para a democracia.

https://g1.globo.com/mundo/noticia/2019/02/08/familias-bourbon-e-orleans-apoiam-coletes-amarelos-apostando-em-retorno-da-monarquia-na-franca-diz-revista.ghtml

https://www.gazetaonline.com.br/noticias/politica/2017/06/familia-imperial-brasileira-quer-a-volta-da-monarquia-no-pais-1014062394.html

Monarquistas ocupam cargos em Brasília e reabilitam grupo católico ultraconservador
https://noticias.uol.com.br/ultimas-noticias/bbc/2019/04/04/monarquistas-ocupam-cargos-em-brasilia-e-reabilitam-grupo-ultraconservador.htm

Mas o maior pecado está mesmo nas argumentações esdrúxulas desta Baixeza (Pois nobreza depende das intenções e atitudes). Basta vermos os fatos históricos, que logo logo estes imbecis também irão querer rever:

Caracala, Nero, Calígula... Mas o que aconteceria se algum plebeu questionasse a justiça do Rei?

Rei da Espanha se desculpa por safári a Botsuana em meio à crise
https://www.valor.com.br/internacional/2621406/rei-da-espanha-se-desculpa-por-safari-botsuana-em-meio-crise

Senadores dos EUA acusam príncipe herdeiro da Arábia Saudita de ser culpado na morte de Khashoggi
https://g1.globo.com/mundo/noticia/2018/12/04/senadores-dos-eua-acusam-principe-herdeiro-da-arabia-saudita-de-ser-culpado-na-morte-de-khashoggi.ghtml

Basta pesquisar sobre o que o Rei Leopoldo II fez no Congo

https://www.google.com.br/search?ei=Z66nXM65A5fV5OUP-4yT2A4&q=leopoldo+II+belgica+congo&oq=leopoldo+II+belgica+congo

https://pt.wikipedia.org/wiki/Leopoldo_II_da_B%C3%A9lgica

Foto de um pai sentado observando as mãos cortadas da filha denunciou o Rei ao mundo. Graças a tecnologia e o conhecimento acadêmico podemos ter um mundo mais justo. Sem pretenção nenhuma à coroa, duvido que qalquer destes principes saibam tanto quanto eu e me sinto no direito de desconfiar deles. Assim como qualquer um tem o direito de desconfiar de mim, por isso sugiro a democracia participativa por discernimento.
https://pt.wikipedia.org/wiki/Alice_Harris


Não tenho nada contra as pessoas da realeza, mas qualquer forma de concentração de poder hoje é ultrapassada e prejudicial ao ambiente.  concentração de poder nas mãos de uma pessoa ou família torna a evolução do sistema político lento. Com base nos fatos históricos postados aqui, fica evidente também que o poder quando sobe a cabeça injustiças podem ocorrer. Não vai ocorrer. Não iremos permitir. Nunca.

Vocês que esperam um rei salvador, deveria esperar pelo Cristo. Não por homens. Larguem de serem idiotas. Não existe mais espaço no mundo atual para se justificarem qualquer hierarquia que seja baseado em fundamentações religiosas. A maldição, não sou eu quem jogo, mas a ciência e o conhecimento acadêmicos por ignora-los.

Quando se adquire o conhecimento e a capacidade de compreenção, não existe como silenciar tal pessoa. Ou pretendem impedi-la de participar das decisões da sociedade? Irão emburrecer a sociedade, causando desvantagem ao país perante aos concorrentes internacionais só para mamar nas tetas do governo? Onde está a nobreza disso? Com tamanho recurso vindo do Laudêmio, seria muito mas muito mais eficiente e benéfico para o Brasil difundir o conhecimento. O minimo que se deveria pedir era o silêncio dos que não estão na linha sucessoria.


domingo, 31 de março de 2019

A mãe do Brasil do século XIX

Podemos ver, nas origens do Brasil, como a ignorância e principalmente a misoginia e machismo veio desruindo o País até hoje. No canal Buenas ideias pude conhecer a mulher mais incrivel da história do Brasil: Leopoldina.

Que mulher incrível:



Outro documentario mais completo:



OBS: Não é por eu admirar a persolalidade história de uma imperatriz que devem me considerar monarquista. Descendente de reis ou alunos de faculdades de renomes nazistas como Stanford tem falado idiotices sem tamanho.

quarta-feira, 27 de fevereiro de 2019

Advogados equivocados quanto ao significado da Teoria Pura do Direito

Ao ler uma crítica do Wagner Francesco à Teoria pura do direito, de Hans Kelsen, na Carta Capital intitulada de "A prática do ensino jurídico 'sem ideologia' é uma aberração" decidi defender a obra de Kelsen.

Sim, é verdade que não é possível discutir (ou ensinar) Direito sem ideologia. Sou de Esquerda e enquanto não tiver a atenção devida para provar que o Direito "esbarra" também na teoria dos jogos, serei considerado como um doutrinador de esquerda.

A Teoria Pura do Direito não diz nada sobre o conteúdo do direito do trabalho, do direito de família e de outras áreas, mas apenas que nossas constituições e leis infra constitucionais devem apenas tratar de direitos. A Teoria Pura do Direito tenta descrever o que é importante para o Direito. Trata de como fundamentar, como se deveriam fazer e impor as leis (que são baseadas em PRINCÍPIOS) e que devem existir julgamentos. Basicamente: Não trata da forma e conteúdo, mas o que que deve existir e ser tratado. Próprio Kelsen diz que o conteúdo das leis É a parte política. Assim, é possível sim estabelecer uma regra geral e imutável de uma teoria pura do direito. A teoria não se apega a quais são os princípios e normas, mas apenas que elas existem, devem ser fundamentadas, ordenadas e escalonadas(positivadas e devem possuir pesos e medidas).

É ÓBVIO que a justiça pura e verdadeira jamais ocorrerá, pois somos humanos e suscetíveis ao erro, mas a obra, apesar de o próprio autor conhecer os limites de sua teoria e reconhecer que precisa de retoques trata da busca pela perfeição da justiça. Por isso a crítica de Wagner não passa de má interpretação da obra de Kelsen.

Kelsen percebeu que existem regras gerais para se fazer o direito, não se preocupando tanto com o conteúdo das normas, pois isso seria política. E por isso e a partir disso, hoje o direito deve ser positivado. Assim Kelsen focou nas formas como as leis devem (deveriam) ser elaboradas. Seguindo a teoria do ordenamento e escalonamento jurídico. Você pode ficar revoltado, pode praguejar, xingar, mas você tem que aceitar: Deve existir sim uma ordem (com pesos e medidas) e um escalonamento para as leis (e mesmo princípios). Não sendo assim, NÂO É POSSÍVEL fazer o Direito de forma justa. É graças ao direito positivo que se escutam as vozes das ruas. Ou acreditam que em países como Arabia Saudita ou Emirados Arabes Unidos ou num Estado Islamico a população é ouvida? A complexidade não está na forma como se faz o Direito, mas sim nos Direitos que devem ser defendidos e isso deve mesmo ser decidido pela sociedade. Esta é a parte política.

O prefácio da primeira e segunda edição da obra de Kelsen já se desculpa por não ser completo e que precisa de retoques. Ela trata da percepção de que existem axiomas e não de como eles devem ser escritos e pesados.

Entendo as motivações e o contexto da crítica de Wagner, mas apesar de reconhecer, assim como o próprio Kelsen reconhece as falhas de sua obra, ela tem sim grandíssimo valor e fundamentação e se não fosse o Direito positivo, muitos de nós já estaríamos dependurados por uma corda.

Podemos resumir que a Teoria Pura do Direito apenas diz os tópicos que uma constituição e suas leis infraconstitucionais devem ter e não detalhar detalhar tais tópicos.

Não se pode confundir a Teoria Pura do Direito com a Disciplina do Direito ou sua prática.

Por favor, caso o autor leia, perdo-e-me, e pela forma abordada. Mas ataques ao Dirito Positivo (que busca de garantias de boa fundamenação das leis) me parece ser um tipo de imposição ou ditadura. Que sociedade iria para frente ou desejaria ser tendo regras qe não fossem as corretas?

É verdade que sempre seremos governados por algum grupo, mas não é melhor ser governado pela razão do que pela força? O positivismo deu o espaço para a argumentação, mas os ditadores não dão. Se tem algo de errado com nossos modelos políticos, econômicos e jurídicos, nem o positivismo nem a academia são os culpados. Os culpados são os que não sabem interpretar e trazer a intenção de Kelsen em obter um direito puroe o seu correto uso na criação das leis.

sexta-feira, 22 de fevereiro de 2019

Onde os fracos não tem vez



Eu gosto muito deste canal: Primitive Technology

Estava assistindo um video questionando o que faz as pessoas se interessarem tanto em sobrevivencia na floresta e cheguei a algumas conclusões.

Eu acho que, infelizmente, a humanidade é fraca hoje. Eu penso sobre isso: há muito tempo atrás, nós não tínhamos fogo, brigavamos com animais na floresta, fugiamos de predadores, iamos atras de nosso alimento direto na fonte.

Nós eramos adaptados na natureza. Mas nosso desejo de ter facilidades nos concentrou nas cidades. Estamos tão acostumados com as facilidades que perdemos o medo dos predadores, perdemos o cuidado com os espinhos. Enfraquecemos nosso sistema imunológico a tal ponto que somos obrigados a filtrar ou ferver a água que bebemos. Enquanto visiantes de fra da India podem ter diarréia severa ao beber da água do Ganges, os indianos estão acostumados.

A vida na cidade, em uma civilização, nos faz esquecer o cuidado que teríamos em um mundo selvagem. Mesmo aqui no Brasil, posso citar um exemplo do quão despreocupados e despreparados podemos estar se saimos de uma civilização para "outra": Caso em que um carro com grupo de turistas foi baleado por traficantes ao subirem o morro guiados por um aplicativo de localização. Animais perigosos são encontrados somente nas florestas?

https://noticias.uol.com.br/cotidiano/ultimas-noticias/2016/12/17/no-rio-errar-o-caminho-e-cair-em-uma-favela-pode-ser-fatal-para-motoristas.htm

Se não fosse pelas nossas fraquezas, não teríamos aprendido a lidar com o ambiente tão bem. Eu só acho que é uma tristeza que estamos dependendo muito de tantas tecnologias, sem saber de onde eles vieram e como eles foram criadas.

Talvez por isso tanto interesse de alguns mateiros. Por que pagar caro se podem fazer tanto com tão pouco, sem os vicios das tecnologias e longe dos criminosos?

quinta-feira, 7 de fevereiro de 2019

Deturpando significados em prol de ideologias

Vejo-me em uma guerra. Parte da elite atual tem medo de perder o que acham que tem e começam a infiltrar desinformadores até nos movimentos de esquerda, fazendo parecer que a esquerda quer retirar direitos fundamentais. Por isso tenho que brigar pela internet por causa de muita gente com preguiça de fazer um estudo sobre as definições. Não sabem o que significa esquerda, Estado, capitalismo, comunismo, socialismo e etc. Mesmo na esquerda acontece de termos os ignorantes.


Mesmo os anarquistas tem acordado para o fato de que não são contra a hierarquia mas sim a obrigatoriedade de se abaixar a cabeça para alguém no comando, mesmo estando correto em sua argumentação. Anarquia nunca deveria ter se tornado sinônimo de bagunça ou desordem, mas a direita conseguiu deturpar o significado dela. Anarquia não significa que podemos colocar crianças de 5 anos no comando de uma indústria. Portanto, alguma hierarquia deve ter. Na anarquia, os argumentos relevantes sobem pela esfera hierárquica sem a necessidade de ele ter sido formado por um especialista e sim se é bem fundamentado.

O mesmo problema com a palavra Estado. Muitos anarquistas não sabem o que é Estado. Eu concordo que estamos em um Estado merda, com um capitalismo merda. Mas não significa que esquerda ou anarquistas devam ser contra estado. Mesmo que um governo anarquista suba ao poder para definir suas regras e tendo soberania, esse espaço, com este povo e com suas regras internas, será considerado Estado. Não adianta espernear dizendo que não formou um Estado, pois por definição acadêmica é Estado. A falta de tato da esquerda em criticar o modelo atual capitalista leva a direita achar que a esquerda quer o fim da propriedade privada. E isso não é verdade. Mesmo numa sociedade socialista deverá ter algum direito de propriedade, o que lhe dará também o direito de vender seu trabalho para outro, se assim o desejar. O que quero dizer com isso é que a esquerda nunca conseguirá nem tem interesse em retirar direitos fundamentais.


A palavra “esquerda” vem do tempo da monarquia francesa de Luis XV. Onde os a favores da participação maior da sociedade nas decisões ficava à esquerda do Rei, enquanto os defensores do absolutismo ficavam a direita. O que a Esquerda atual defende:

- Democracia participativa. Já que a anarquia foi deturpada como sinônimo de baderna, podemos substituir por uma mais atualizada: A democracia participativa ou direta;
- Estado democrático de direito;
- Direitos da coletividade e funções dos patrimônios públicos;
- Liberdades individuais;
- Direitos humanos (incluindo Direitos ivs, de família, trabalhistas...);
- Direito de propriedade e Capitalismo, mas limitado e regulado por toda a sociedade;
- Criação de gatilhos constitucionais disponíveis à sociedade para remoção de governo ou parte dele.

De fato, analisando a história e melhoria da gestão do governo, cada vez mais gente e pessoas capacitadas para gerir o governo foram entrando. A medida que o tempo vai passando, cada vez mais cresce o número de participantes. Evolução de seus governos a medida que a sociedade foi ficando mais educada e consciente:

1º tempo: Monarquia;
2º tempo: Ditadura (pós-guerra - ou início de sociedade tribal);
3º tempo: Democracia representativa - consulado - (senadores da Roma e Grécia de milênios atrás);
4º tempo: Democracia representativa (3 poderes de Montesquieu), e a 5ª, próxima forma pode ser:
5º tempo: Democracia participativa por discernimento (Ou Democracia direta por meritocracia). Todos os que fossem aprovados nas provas de habilitação.

Qualquer um que tem o mínimo de amor pela ética, conhecimento acadêmico, antropologia, história acaba se tornando alguém com tendências à esquerda. Deve ser evidente que se algo dá errado dentro do Estado, seja em qualquer área, Sistema, governo, ou estrutural, ou etc, qualquer um tenha a capacidade de perceber a falha e corrigi-la. Por isso a necessidade da participação do máximo dos capacitados da sociedade.

No que se refere ao medo da esquerda, é que ela deseja um Estado mais justo. Um que regule melhor os impostos. Permita taxas escolhidas de forma democrática e técnica. Que atraves estas taxas, distribua melhor a renda e recursos pela sociedade. Ela é defensora em maior peso de se atender as necessidades fundamentais da sociedade do que os desejos supérfluos da elite.
Exemplo: deve-se encontrar equilíbrio entre o princípio do direito de propriedade com o princípio do direito a dignidade humana e da vida.

Deveríamos ter uma democracia participativa, com a hierarquia se fundamentando seus argumentos baseando-se no conhecimento. Todo o resto, como as formas em que o capitalismo seria regulado, seria determinado por uma decisão do coletivo.

A loucura em qua direita e seus desinformantes chegou ao ponto de desejar menos Estado fiscalizando. Resultado: Escritor critica participação de neoliberais no comando do Estado - Tragédia de Brumadinho:

"Se o estado fiscaliza ele sufoca, se o estado não fiscaliza e da merda o mesmo é culpado. Esse pessoal tem que se decidir. " (M EM)


Uma perda para a humanidade. Sabrina Bittencourt se suicida:

domingo, 26 de agosto de 2018

Mecânica e engranagens

Engrenagens


    As engrenagens podem ser de vários tipos e formas. Como tive dificuldade em encontrar as explicações básicas, apresento aqui tudo o que pude aprender sobre elas.

Coroa e Pinhão

     Engrenagens estão sempre associadas com outras, na transmissão de movimento.
    Uma engrenagem básica é um disco com eixo rotativo no cento, geralmente metálico ou de plástico, com borda lateral dentada que permite rotação e torque à outra engrenagem aumentando ou deduzindo potência.
    Quando duas engrenagens engrenam, poderá haver diferenças de tamanho entre elas. Assim:

    A engrenagem maior é chamada de: coroa
    A engrenagem menor é chamada de: pinhão

    Se a força motriz vier da  coroa, haverá aumento da velocidade de rotação em relação ao pinhão.
    Se a força motriz vier do pinhão, haverá redução da velocidade de rotação em relação a coroa.


Tipos de Engrenagens

Quanto a disposição dos dentes eles podem ter os formatos:


    Retos: Quando estão dispostos de forma paralelo entre si e o eixo. Podem não ser suaves e ser barulhentas.

    Transversais: Quando os dentes são paralelos e estão em diagonal em relação ao eixo e ao disco.

   Helicoidais ou espirais: Estão dispostos de forma espiral em relação ao eixo (como uma hélice). Ideal para suavidade e redução de barulho. Podem ser duplas.



Quanto a disposição dos eixos:


    Eixo paralelo: Os eixos estão virtualmente no mesmo sentido.

   Eixo cruzado: Variação de engrenagens onde os eixos não são paralelos e possuem um ponto virtual de encontro. Comum em roscas sem fim. As bordas laterais das duas engrenagens engrenam.

   Hipoide: Variação de engrenagens onde os eixos não são paralelos. A borda de uma das engrenagens engrenam na face de outra engrenagem. Comum em variações de engrenagens cônicas.



Quanto ao formato e posicionamento dos dentes das engrenagens:


    Cremalheira:
        Engrenagem na forma de barra reta (ou trilho) dentado, que transforma o movimento circular em retilíneo. No caso do uso com pinhão, substitui a cora, pois pode ser bem comprida.

    Cilíndrico ou em disco reto:
     Quando os dentes estão nas bordas laterais. Somente é possível construir uma dupla de engrenagens em disco que se cruzem: se os dentes forem helicoidais. É possível construir uma dupla de engrenagens em paralelo com dentes retos ou helicoidais.
        Rosca sem fim:
        Variação de engrenagem cilíndrica ou de disco. É um cilindro com dentes helicoidais que lembra um parafuso. Geralmente é a fonte motriz para uma coroa ou cremalheira.

    Cônica:
       Quando os dentes estão nas laterais de um cone.

   Interna:
       Sistema de engrenagens onde uma funciona dentro de outra. Exemplo: Encontrado nos motores wankel. Roda do calendário Maia Tzolkin.
        Planetária:
      Quando um conjunto de engrenagens está dentro de um anel dentado lembrando um sistema planetário
        Exemplo: Encontrado nas turbinas eólicas. Maquinas de lavar (tanquinho).

   Catraca (ou roda de escape) ancora (ou alavanca):
        Engrenagem que somente permite a liberação do movimento de acordo com um tempo determinado pela liberação de uma âncora.

   Leque ou Setor:
        Semelhante a engrenagem em disco, mas ao invés de possuir dentes por todo o perímetro de 360° do disco, possui dentes em um ângulos menores que 360°. Muitas delas lembram um disco partido ou leque.

    Correia e polia | Corrente e coroa:
        A vantagem no uso destes elementos é a redução do peso e a distância alcançada para a transmissão do movimento.
        Correia e polia:         
            Lisas: Apenas para transmitir o movimento, sem intenção em sincronização
                Exemplos encontrados em: Motores de carro, lixadeiras, tornos
            Dentadas: Quando é importante a sincronização do movimento
                Exemplos encontrados em: impressoras
            Custo alto para substituição, alta flexibilidade e durabilidade
        Corrente e coroa:
        Quando é importante a sincronização do movimento. Baixa perda de potencia e baixa flexibilidade. Necessitam de manutenção constante. Custo baixo. Exemplos encontrados em: motocicletas, bicicletas


Biela:


    Transforma o movimento retilíneo alternado em movimento circular. Exemplos encontrados em: Pistão e biela dos motores de combustão, motor Stirling, maquinas a vapor e locomotivas antigas
 

Volante:


     Motores de combustão 4 tempos: admissão do gás, compressão do gás, explosão e escape do gás.       As pressões internas dos gazes momento da compressão do combustível nos interiores das câmaras de combustão tem potencial para parar o funcionamento do motor. Para impedir essa parada do motor é necessário uma força inercial que dê continuidade ao ciclo de admissão, compressão, explosão e escape. A peça fundamental para isso é o volante que estando em rotação possui energia inercial que é transferida às bielas do motor, permitindo que o movimento supere a pressão contrária da compressão do combustível.

Questão: teoria dos números (Primos)

<pre>


se limite_x tende a infinito,

note que para a posição 13567
13567 + | maior = 2*3*5*7*11*13*17*19*31*41*43* | menor = 23*29*37* res = 530117182249.

O número 17659 obtido na posição 13608 é mais de 30 milhões de vezes menor que o maior número anterior (13567)
530117182249 / 17659 = 30019660.357268248

13608 - | maior = 7*13*23*31*41*43* | menor = 2*3*5*11*17*19*29*37* res = 17659.

É possível obter os números primos 19,23,43,53,59,61,71,79,83,109,113,127,137...?

<script>

    var limite_x=3;

    function getVal()
    {

        p = new Array();
        p.push(2)
        prime=true;
   
        while(limite_x<200000)
        {
            for(var i=0; i<p.length; i++)
            {
                prime=true;
                if( limite_x%p[i]==0 )
                {
                    prime=false;
                    break
                }
            }
            if( prime )
            {
                p.push(limite_x);
            }
            limite_x++;
        }


        var dentro_p = new Array()
        var fora_p = new Array()


        for(var k=1; k<p.length; k++)
        {
            resp = parseInt( k >>> 0 ).toString( 2 );

            resp = resp.split("").reverse().join("");

            var n_maior=1;
            var n_menor=1;
            var s_m1=""
            var s_m2=""

            for(var i=0; i<resp.length; i++)
            {
                n_maior *= (resp[i]=="1"?p[i]:1)
                if(resp[i]=="1")
                s_m1 += p[i]+"*"

                n_menor *= (resp[i]=="0"?p[i]:1)
                if(resp[i]=="0")
                s_m2 +=p[i]+"*"
            }

            if(n_maior>n_menor)
            {
                document.write( k + " - | maior = " + s_m1 + " | "  + "menor = "+ s_m2 + " res = "  + (n_maior-n_menor)+"." );
                document.write( "</br>" );
                document.write( k + " + | maior = " + s_m1 + " | "  + "menor = "+ s_m2 + " res = "  + (n_maior+n_menor)+"." );
                document.write( "</br>" );


                dentro_p.push(n_maior-n_menor)
                dentro_p.push(n_maior+n_menor)
            }
        }



        for(var j=0; j<p.length; j++ )
        {
            var fora=true;
            for(var k=0; k<dentro_p.length; k++)
            {
                if(dentro_p[k]==p[j])
                {
                    fora=false;
                    break
                }
            }
            if(fora)
            {
                fora_p.push(p[j])
            }
        }
        document.write( "</br>" );
        document.write( fora_p );


    }   
    getVal();

</script>
</pre>

quinta-feira, 16 de agosto de 2018

Indecidivel problema generalizado de Collatz


Lendo sobre matemática na coluna do Sr. Marcelo Viana encontrei um quebra cabeça que ainda está em aberto:
https://www1.folha.uol.com.br/colunas/marceloviana/2018/08/problemas-matematicos-o-facil-pode-ser-muito-dificil.shtml

Outra fonte:
http://people.cs.uchicago.edu/~simon/RES/collatz.pdf

1)

Brincando e observando o problema, pude perceber que para descobrir se NÃO é válido para todos os números, precisamos saber se existe algum número que retorna a ele mesmo após várias interações repetidas de:

multiplicar por 3 e somar 1
dividir por 2





2)

Supondo que um número pudesse crescer indefinidamente e por ultimo ter uma redução dividindo por 2, que consideraremos como estado final, encontrei uma pirâmide de soluções baseadas na seguinte formula:
sendo k a posição da construção, variando de zero a infinito de um em um:

2k+1 → (gera) 3k+2

2k+1 3k+2

Assim, se temos um k=3 significa que para o número 2*3+1, que é 7, pode-se obter, pela formulação de Collatz o numero 11:
Assim, a partir de 7, que é impar, temos (3*7+1)/2 que é 11

Partindo dessa formula, percebi que é possível construir uma pirâmide com a seguinte estrutura:

0

1, 2
3, 5, 8
7, 11, 17, 26
15, 23, 35, 53, 80
31, 47, 71, 107, 161, 242

.
.
.

O primeiro numero de cada linha é obtido a partir  das potencias de 2 subtraídas de um: 1, 2, 4, 8, 16...
Os números seguintes a estes primeiros é obtido a partir da soma dos primeiros pelo seu imediatamente acima somado de um. Por exemplo, para 35 gerar 53, pega-se 35 + (17+1) = 53

Aparentemente, a partir dos números já criados na pirâmide, é possível construir os números mais a frente pela formula

2k+1 3k+2

Assim, se o k = 8, que aparece no final da linha 3, temos que:
(2*8+1 = 17
) → (3*8+2 = 26)

Desconsiderei todos os outros números que não aparecem, pois eles são redutíveis a qualquer outro número que possa aparecer na pirâmide. Seja pela divisão de 2 ou seja pela multiplicação de 3 soma um. 



<html>
<script>
    function getVal()
    {
        var p=0;
        velho = new Array();
        velho.push(0);
        while(p<16)
        {
            novo = new Array();
            document.write(" k = " + p + " ... " );
            novo.push(Math.pow(2,p)-1 );
            document.write("  " + novo[0] );
            for(var i=0; i<p; i++)
            {
                novo.push(novo[i] + velho[i] +1 );
                document.write(" - " + novo[i+1] );
            }
            velho = novo;
            document.write("</br>");
            p++;
        }
    }   
    getVal();   
</script>
</html>

quarta-feira, 6 de junho de 2018

Whatzapp no Brasil é inconstitucional

Pois é pessoal... Depois da greve dos caminhoneiros, fui pesquisar sua forma de utilização no Brasil e vejo que ele infringe nossa constituição. Ele permite o envio de muitas mensagens criptografadas á várias pessoas de forma anônima.

Acredito que os meios de comunicação deve ter sim algum tipo de segurança e privacidade, mas depois da greve dos caminhoneiros, suspeito que todo esse escarcéu foi iniciado por interessados no exterior. Por que motivo a União tem que subsidiar o preço do diesel? Se ocorrer qualquer guerra, no exterior, o povo brasileiro terá que pagar a conta? 

A real é que candidatos como Bostonaro são contraproducentes ao desejar a privatização de tudo, como a Petrobras por exemplo. Se o petróleo é nosso, por ser parte do subsolo, a Petrobras nunca devia ter sido parcialmente privatizada. Deveria ser estatal sempre por interesse estratégico. Bostonaro, como o próprio nome diz, é um bosta e serve à interesses estrangeiros. Não é nada patriota. Outros países como os EUA subsidiam o combustível e funcionam uma belezinha... as custas dos países do oriente médio.  A solução para sairmos com honra desse mal negócio é dar o justo para os acionistas atuais e reestatizar a Petrobras, pensando no futuro, fazer como os Franceses:Investir no desenvolvimento em outras matrizes energéticas como a fusão nuclear. A ideia do petróleo está ultrapassada e temos uma mente Bostonara espalhada pelo país. Não deveria ser assim. Deveríamos ter investigado em educação o suficiente para iniciarmos projetos de pesquisa como os franceses. Veja o link:

O povo Brasileiro está sendo facilmente manipulado por softwares sem controle do governo. Como BitCoin, que também irá dar merda futuramente se não tiver controle e garantias. Não se iludam:Não existe almoço grátis.

Como já citei antes em posts anteriores, levará 30 anos para recuperarmos a educação, enquanto isso, os traficantes de nosso país estão adotando as crianças que não são atendidas por um serviço social de qualidade. Eu sugiro verem o filme "O Contador de histórias" (Brasil 2009). A situação no Brasil se complica cada vez mais e os índices de violência só crescem. Os filhos de umas putas de nossos congressistas apostam no emburrecimento do país para se manterem no poder. Isso não é justo com  o Povo Brasileiro. Vai dar merda... 
Eu recomendo o FEDON, de Platão, a qualquer Brasileiro de Brio. (Rom 9:30-35)



sábado, 24 de março de 2018

Tratamento de Choque para jogo em javaScript



Tratamento de Choque para jogo em javaScript
São duas imagens onde as dimensões de cada quadrado possuem w e h de 17 pixeis.


O fonte e as duas imagens:


<html>
<body onload="startGame()">
<script>

//=================================================================================================
// Autor: Luiz Augusto S. Prado - 2018
// javaScript: Game 
//=================================================================================================
    window.requestAnimationFrame = function() 
    {
        return window.requestAnimationFrame ||
        window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||
        window.msRequestAnimationFrame ||window.oRequestAnimationFrame ||
        function(f) 
        {
            window.setTimeout(f,1e3/60);
        }
    }();
    
    getNumber = function(str)
    {
        var r = Number( str.charCodeAt(0) )
        if(r>47 && r<58) r-=48
        if(r>64 && r<91) r-=55
        if(r>96 && r<123)r-=87
        return r;
    }

    paintImagem = function(ctx, ctx2, pos_x_0, pos_y_0, tamanhox, tamanhoy, pos_x_f, pos_y_f, escala, ang)
    {
        ctx.translate( pos_x_f, pos_y_f );
        ctx.rotate(-ang * Math.PI / 180);
        ctx.drawImage(ctx2, pos_x_0, pos_y_0, tamanhox, tamanhoy, escala, escala, escala, escala);
        ctx.rotate(ang * Math.PI / 180);
        ctx.translate( -pos_x_f, -pos_y_f);
    }
    
    Hero = function()
    {        
        this.onde_estou    = "no_mapa"
        this.speedX    = 0;
        this.speedY    = 0;
        this.color    = "red";
        this.width    = 16;
        this.height    = 16;
    }

    paintHero = function(mapa)
    {
        mapa.ctx.fillStyle = mapa.hero.color;
        mapa.ctx.fillRect(mapa.canvas.width/2, mapa.canvas.height/2, 16, 16)
    }

    Ground = function(x0, y0, xf, yf)
    {
        this.x = xf/2*17
        this.y = yf*17
        this.onde_estou    = "no_mapa"
        this.width    = 17;
        this.height    = 17;
        this.px        = x0*this.width;
        this.py        = y0*this.height;        
    }

    Item = function(x0, y0, xf, yf)
    {
        this.x = xf/2*17
        this.y = yf*17
        this.onde_estou    = "no_mapa"
        this.width    = 17;
        this.height    = 17;
        this.px        = x0*this.width;
        this.py        = y0*this.height;        
    }

    paintMap= function(mapa)
    {
        var ctx = mapa.ctx;
        var arq = mapa.arquivo_mapas;    
        var w=mapa.canvas.width/2
        var h=mapa.canvas.height/2;    
        for(var py=0; mapa.mapa!=null && py<mapa.mapa.length; py++ )
        {
            for(var px=0; px<mapa.mapa[py].length; px++ )
            {
                if( mapa.mapa[py][px]!=null )
                {
                    var m = mapa.mapa[py][px];    
                    var tm=m.width;    
                    paintImagem(ctx, arq, m.px, m.py, tm, tm, m.x-mapa.hero.x+w-4, m.y-mapa.hero.y+h-4, tm+2, 0)
                }
            }
           }
    }

    paintItens = function(mapa)
    {
        var ctx = mapa.ctx;
        var arq = mapa.arquivo_itens;
        var w=mapa.canvas.width/2
        var h=mapa.canvas.height/2;        
        for(var py=0; mapa.itens!=null && py<mapa.itens.length; py++ )
        {
            for(var px=0; px<mapa.itens[py].length; px++ )
            {
                if( mapa.itens[py][px]!=null )
                {
                    var m = mapa.itens[py][px];    
                    var tm=m.width;                
                     paintImagem(ctx, arq, m.px+mapa.time*tm, m.py+1, tm,  tm-1, m.x-mapa.hero.x+w-4, m.y-mapa.hero.y+h-4, tm+2, 0)
                }
            }
           }
    }
    
    function createItens()
    {
        var str = document.getElementById("itens").value
        str = str.replace(new RegExp(/ /, 'gi'), "");
        var res = str.split("|\n");
        var array_final = new Array();
        for(var py=0; py<res.length-1; py++)
        {
            array_final[py]=[]
            for(var px=0; px<res[py].length; px+=2)
            {
                if( res[py].charAt(px)!='3' && res[py].charAt(px+1)!='z' )
                {
                     array_final[py][px/2] = new Item(getNumber(  res[py].charAt(px)) ,  getNumber( res[py].charAt(px+1) ), px, py ); 
                }
            }
        }
        return array_final;
    }
    
    function createMapa()
    {
        var str = document.getElementById("mapa").value    
        str = str.replace(new RegExp(/ /, 'gi'), "");
        var res = str.split("|\n");
        var array_final = new Array();
        for(var py=0; py<res.length-1; py++)
        {
            array_final[py]=[]
            for(var px=0; px<res[py].length; px+=2)
            {
                if( res[py].charAt(px)!='3' && res[py].charAt(px+1)!='z' )
                {
                     array_final[py][px/2] = new Ground(getNumber(  res[py].charAt(px)) ,  getNumber( res[py].charAt(px+1) ) , px, py ); 
                }
            }
        }
        return array_final;
    }

    /*===========================================
    O mapa anda ao contrário. Ele é a referência. 
                                       
      e1 d1       e2 d2           
    n1_|_|_n1   n2_|_|_n2    a. .b y1
    s1_|_|_s1   s2_|_|_s2    c. .d y2  
       | |         | |       x1 x2
      e1 d1       e2 d2      

    */

    function isHitting(obj1, obj2, tm)
    {
        var e1 = obj1.x - obj1.speedX -tm
        var d1 = obj1.x - obj1.speedX 
        var n1 = obj1.y - obj1.speedY -tm
        var s1 = obj1.y - obj1.speedY

        var e2 = obj2.x         
        var d2 = obj2.x + tm
        var n2 = obj2.y         
        var s2 = obj2.y + tm
        
        var x1 = e1<=d2 && d2<=d1            
        var x2 = e1<=e2 && e2<=d1
        var y1 = n1<=s2 && s2<=s1                
        var y2 = n1<=n2 && n2<=s1

        var a = x1 && y1
        var b = x2 && y1
        var c = x1 && y2
        var d = x2 && y2

        if( a || c || b || d )
        {
            if( (x1 || x2) && obj1.speedY!=0 ) obj1.speedY =0
            if( (y1 || y2) && obj1.speedX!=0 ) obj1.speedX =0
            return true
        }
        return false
    }


    function Mapa()
    {
        this.start = function() 
        {
            this.arquivo_mapas = new Image()
            this.arquivo_mapas.src = "mapa.png"
            this.arquivo_itens = new Image()
            this.arquivo_itens.src = "itens.png"

            this.canvas = document.createElement("canvas")

            this.count = 0;
            this.time=0;

            this.ctx = this.canvas.getContext("2d");
            document.body.insertBefore(this.canvas, document.body.childNodes[0]);
            this.canvas.width = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth )-70;
            this.canvas.height= (window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight)-70;

            window.addEventListener('keydown', function (e) 
            {
               window.keys = (window.keys || []);
               window.keys[e.keyCode] = (e.type == "keydown")  ;
            })

            window.addEventListener('keyup', function (e) 
            {
               window.keys[e.keyCode] = (e.type == "keydown") ;            
            })
            
            this.itens = createItens();
            this.mapa  = createMapa ();
            this.hero  = new Hero ();
            
            this.hero.x = 0;
            this.hero.y = 0;
        }

        this.clear = function()
        {
            this.canvas.width = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth )-70;
            this.canvas.height= (window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight)-70;

            this.ctx.fillStyle="#99ccff";
            this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height); 
        }

        this.calcs = function()
        {
            this.hero.speedX = 0;
            this.hero.speedY = 0;
            this.hero.w = this.canvas.width/2;
            this.hero.h = this.canvas.height/2;
            
            this.count++
            
            if(this.count%10==0)
            {
                this.time++
                if(this.time==4){this.time=0; this.count=0}
            }
            
            if (window.keys && window.keys[37]) {this.hero.speedX = 2; }
            if (window.keys && window.keys[39]) {this.hero.speedX =-2; }
            if (window.keys && window.keys[38]) {this.hero.speedY = 2; }
            if (window.keys && window.keys[40]) {this.hero.speedY =-2; }
            
            var saida=false;

            for(var py=0; py<this.mapa.length; py++)
            {
                for(var px=0; px<this.mapa[py].length; px++)
                {
                    if(this.mapa[py][px]!=null)
                    {
                        saida = isHitting(this.hero, this.mapa[py][px], 17)
                    }
                    if( saida ) break
                }
                if( saida ) break
            }
            this.hero.x -= this.hero.speedX;
            this.hero.y -= this.hero.speedY;
        }

        this.paint = function()
        {
            paintMap  (this)
            paintItens(this)
            paintHero (this)
        }
    }

    var mapa;
    animloop = function()
    {
        mapa.calcs();
        mapa.clear();
        mapa.paint();
        requestAnimationFrame(animloop);
    }

    function startGame() 
    {
        mapa = new Mapa();
        mapa.start();
        animloop();
    }

</script>

<div id="msg">mova com o teclado.</div>

<textarea id="itens" rows="30" cols="60"  style="display:none;">
3z 3z 3z 3z 3z 3z 3z 3z|
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 0g 0h 0i 0j 0k 0l 0m 0n 0o|
</textarea>

<textarea id="mapa"  rows="30" cols="60"  style="display:none;">
3z 3z 3z 3z 3z 3z 3z 3z|
3z 3z 3z 3z 3z 3z 3z 3z|
3z 3z 3z 3z 3z 3z 3z 3z|
3z 3z 3z 3z 3z 60 10 10|
00 10 10 10 10 61 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|

</textarea>
</body>
</html>

segunda-feira, 12 de março de 2018

No máximo 4 cores em um mapa

Um probleminha matemático que li e estava pensando:
https://www1.folha.uol.com.br/colunas/marceloviana/2018/03/quatro-cores-bastam-para-colorir-qualquer-mapa.shtml

A quantidade mínima de cores para colorir qualquer mapa é 4?
A resposta é questionar qual é o máximo de países que fazem fronteira entre eles mesmos.

Em um universo plano, de bordas indo ao infinito ou uma plano conexo (Esfera) a resposta parece funcionar. Mas em um toroide, a quantidade de números pode ser maior que 4.

Confrontar todas as cores nos mostra que não é nem possível forçarmos que 5 estados se toquem entre si.


No mesmo esquema entra a tentativa de ligarmos agua, luz e telefone a 3 casas sem cruzar os tipos.
Para conseguirmos conectar os três as 3 casas, é necessário um toroide.



segunda-feira, 5 de março de 2018

Editando Livros com HTML

Percebi que no novo Windows muitos dos antigos softwares bons não estão mais vindo com ele. Como o Office. Para contornar a exigência de ter um bom editor para um livro ou carta, decidi fazer um pequeno algoritmo para facilitar a edição e impressão em PDF.

ver resultado no PDF desse link:
http://tivideotutoriais.blogspot.com.br/2018/01/eletron.html

Para demonstração dois arquivos. O Texto e o arquivo que controlará o posicionamento, criação de índices, paginas e formatação. Para adicionar imagens e índices, estude o fonte exemplo.

Editor.js

    /*
    Março de 2018
    Autor: Luiz Augusto da Silva Prado
    Site: www.codigorapido.com.br
    */

    var altura_pagina=760;
    var largur_coluna=460;
    var cor_borda="#dddddd";
    var pagina_bordas="border:8px;margin:8px;padding:8px;";

    //======================================
    // EXCLUIR QUEBRAS DE LINHA REPETIDOS
    //======================================
    function replaceAllBreak(str)
    {
        str = str.replace(new RegExp("\<\/tr\>\n", 'gi'), "\<\/tr\>");
        str = str.replace(new RegExp("\n\<tr\>", 'gi'), "\<tr\>");
        str = str.replace(new RegExp("\<\/td\>\n", 'gi'), "\<\/td\>");
        str = str.replace(new RegExp("\n\<td\>", 'gi'), "\<td\>");
        str = str.replace(new RegExp("\<\/table\>\n", 'gi'), "\<\/table\>");
        str = str.replace(new RegExp("\n\<table", 'gi'), "\<table");
        str = str.replace(new RegExp("\n\n", 'gi'), "\n");
        //espaçamento dos parágrafos
        str = str.replace(new RegExp("\n", 'gi'), "</br>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
        return str;
    }

    //======================================
    // TÓPICO DO ÍNDICE
    //======================================
    pontos_indice = function(str)
    {
        var resp=""
        strr= str.replace(/\<span (.*?)\>/gi, '')
        strr= strr.replace(/\<\/span\>/gi, '')
        // Quantidade de caracteres maximos por linha
        for( var i=0; i<53 - strr.length; i++)
        {
            resp+=".";
        }
        return resp;
    }

    //======================================
    // ÍNDICE
    //======================================
    getIndex = function(str)
    {
        var Array_Parte = str.match( /\<div parte\>((\n|.)*?)#parte \<\/div\>/gi, '');
        var indice = new Array();
        var total_paginas=0;
        var array_romanos = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"]

        for(var n=0; n<Array_Parte.length; n++)
        {
            var t=new Object();
            t.parte="<br><br><span style='color:red;font-size:18px;'><b>Parte "+array_romanos[n]+" </b></span><br><br>";
            t.topicos=[];
            t.paginas=[];
            var Array_Paginas = Array_Parte[n].match( /\<div page\>((\n|.)*?)#page \<\/div\>/gi, '');
            for(var i=0; i<Array_Paginas.length; i++)
            {
                var Array_Topico = Array_Paginas[i].match( /\n\<b\>((\w|.)*?)\<\/b\>/gi, '');
                if(Array_Topico!=null)
                {
                    for(var j=0; j<Array_Topico.length; j++)
                    {
                        topico = Array_Topico[j].replace("<b>", "").replace("</b>", "")
                        t.topicos = t.topicos.concat( topico  )
                        t.paginas = t.paginas.concat(total_paginas+i+1);
                    }
                }
            }
            indice = indice.concat(t)
            total_paginas+=Array_Paginas.length;
        }

        paginas="";
        temp="";

        for(var n=0; n<indice.length; n++)
        {
            temp += indice[n].parte
            for(var j=0; j<indice[n].paginas.length; j++)
            {
                temp += indice[n].topicos[j] + pontos_indice(indice[n].topicos[j] + indice[n].paginas[j]) + indice[n].paginas[j]+"<br>"
                if((j+1)%22==0 || j==indice[n].paginas.length-1)
                {
                    paginas+="<div indice>"+temp+"</div>"
                    temp="";
                    total_paginas++
                }
            }
        }

        if(total_paginas%2==1)
        {
            str += "<div page>\n#page </div>";
        }
       
        str = str.replace(new RegExp(/\n\<div parte\>/, 'gi'), "");
        str = str.replace(new RegExp(/#parte \<\/div\>/, 'gi'), "");

        str = str.replace("#indice", paginas);

        return str
    }

    //======================================
    // PAGINAÇÃO
    //======================================
    getPagination = function(str)
    {
        var Array_Paginacao = str.match(/#page/g);
        if(Array_Paginacao!=null)
        for(var i=0; i<Array_Paginacao.length; i++)
        {
            str = str.replace(Array_Paginacao[i], "<div style='width:"+largur_coluna+"px;text-align:center;position:absolute;bottom:0px;'>"+(i+1)+"</div>");
        }
        return str;
    }
   
    //======================================
    // ADICIONAR IMAGEMS
    //======================================
    getImages = function(str)
    {
        var Array_Imagens = str.match(/#imagem[D-E][0-9] [0-9][0-9][0-9]\|[0-9][0-9][0-9]/g);
        //if(Array_Imagens!=null)
        for(var i=0; i<Array_Imagens.length; i++)
        {
            var DE = Array_Imagens[i].match(/[D-E][0-9]/g);
            var NN = Array_Imagens[i].match(/[0-9][0-9][0-9]/g);
            if(DE[0].charAt(0)=='D')
            str = str.replace(Array_Imagens[i] + " ", "<img style='float:right;width:"+NN[0]+"px;height:"+NN[1]+"px;margin:8px;padding:0px;border:"+DE[0].charAt(1)+"px solid #777777' src='imagens/");
            if(DE[0].charAt(0)=='E')
            str = str.replace(Array_Imagens[i] + " ", "<img style='float:left; width:"+NN[0]+"px;height:"+NN[1]+"px;margin:8px;padding:0px;border:"+DE[0].charAt(1)+"px solid #777777' src='imagens/");
            str = str.replace(" #fim", "'>");
        }
        return str;
    }

    //======================================
    // DIVISÃO DE PÁGINAS
    //======================================
    getDivPages = function(str)
    {
        var Array_DivisaoPaginas = str.match(/<div page/g);
        //if(Array_DivisaoPaginas!=null)
        for(var i=0; i<Array_DivisaoPaginas.length; i++)
        {
            str = str.replace(Array_DivisaoPaginas[i], "<div style='"+pagina_bordas+"position:relative;width:"+largur_coluna+"px;height:"+altura_pagina+"px;border:1px solid "+cor_borda+";' ");
        }
        return str;
    }

    //======================================
    // GERRAR ÍNDICE
    //======================================
    generateIndex = function(str)
    {
        var Array_Gerar_Indice = str.match(/<div indice/gi, '');
        //if(Array_Gerar_Indice!=null)
        for(var i=0; i<Array_Gerar_Indice.length; i++)
        {
            str = str.replace(Array_Gerar_Indice[i], "<div style='"+pagina_bordas+"font-size:12px; font-family:Courier New,Courier,monospace;font-weight: bolder;position:relative;width:"+largur_coluna+"px;height:"+altura_pagina+"px;border:0px solid #cccccc;' ");       
        }
        return str;
    }

    //======================================
    // START
    //======================================   
    makePages = function()
    {
        var mapa = document.getElementById("mapa");
        var str = mapa.value;

        str = str.replace(new RegExp(/\n\n\<div/, 'gi'), "<div");
        str = str.replace(new RegExp(/div\>\n\n/, 'gi'), "div>");
        str = str.replace(new RegExp(/\n\<div/, 'gi'), "<div");
        str = str.replace(new RegExp(/div\>\n/, 'gi'), "div>");
   


        str = getImages(str)   
        str = getIndex(str)
        str = getPagination(str)   
        str = getDivPages(str)       
        str = generateIndex(str)
        str = replaceAllBreak(str);



        document.getElementById("texto").innerHTML = str ;
        mapa.style.visibility = "hidden";
        mapa.style.height = "0%";
        document.getElementById("myCheck").checked = true;
    }

    //======================================
    // TESTE
    //======================================
    check = function()
    {
        var mapa = document.getElementById("mapa");
        if(document.getElementById("myCheck").checked)
        {
            mapa.style.visibility = "hidden";
            mapa.style.height = "0%";
        }
        else
        {
            mapa.style.visibility = "visible";
            mapa.style.height = "100%";
        }
    }
   
    //Ver como ficou: <input type="checkbox" id="myCheck" onclick="check()" >  <button onclick="makePages()">Atualizar</button>  <br>

Para inserir tópicos no índice,  basta iniciar nova linha entre as tags <b> e </b>
Para inserir imagens basta inserir algo equivalente a:
#imagemD2 210|210 imagem.png #fim
D significa que será posicionado a direita do texto
2 significa a espessura da borda
210|210 são as medidas w e h da imagem

Exemplo do uso do código. Crie um arquivo como mostrado abaixo:

<html>
<script type="text/javascript" src="Editor.js"></script>
<textarea id="mapa"  rows="15" cols="120" >
<div parte>
<div page>




<span style='color:red;font-size:18px;'><b>Parte I </b></span>

Algo aqui
<b>vai para o índice</b>

#page </div>
#parte </div>

<div parte>
<div page>




<span style='color:red;font-size:18px;'><b>Parte II </b></span>

Algo aqui
<b>Indice</b>
#imagemD2 210|210 imagem.png #fim

#page </div>

<div page>


Algo aqui
<b>Indice</b>


#page </div>
#parte </div>

</textarea><br>

<div id="texto" style="font-size:14px;  text-align: justify;  column-count: 2; -webkit-column-gap:0px; -moz-column-gap:0px; column-gap:0px;">Defeito</div>

<script>
makePages()
</script>
</html>