Gráfico de preços normalizados

O gráfico de preços normalizados (ou normalized price chart, em inglês), consiste na representação gráfica dos da série histórica dos preços de um valor mobiliário em relação ao preço do valor mobiliário no início do período em questão. Esse gráfico permite visualizar a aplicação de R$1 no início da série e sua evolução ao longo do tempo.

O código R, abaixo, cria o gráfico de preços normalizados entre 01.01.2020 e 31.12.2020, utilizando para o desenvolvimento do gráfico acima apresentado.

# Código R
# Gráfico de Preços Normalizados

library(quantmod)
library(TTR)

options(digits=5)

#Periodo de Analise
startDate <- as.Date("2020-01-01")   
endDate   <- as.Date("2020-12-31")

getSymbols("^BVSP", src = "yahoo", from = startDate, to = endDate)
BVSP <- na.omit(BVSP)

BVSP <- to.weekly(BVSP)[, -6]

ohlc<-as.quantmod.OHLC(BVSP, col.names=c("Open","High","Low","Close","Volume"))

chartSeries(ohlc, name="Índice Bovespa (^IBOV)")

BVSPIndex<-cbind(index(BVSP), data.frame(BVSP$BVSP.Close))

BVSPIndex$BVSP.idx <- BVSPIndex$BVSP.Close / BVSPIndex$BVSP.Close[1]

names(BVSPIndex) <- c("date", "BVSP.Close", "BVSP.idx")
      
plot(x=BVSPIndex$date,
     y=BVSPIndex$BVSP.idx,
     type="l",
     xlab="Data",
     ylab="Valor do Investimento ($)",
     col="black",
     lty=1,
     lwd=2,
     main="Valor do Investimento de R$1 em
 Índice Bovespa (BVSP)
 entre 01/01/2020 a 31/12/2020")

abline(h=1,lty=2,col="gray")                    

Comandos msm

O msm – minecraft server manager – é um programa desenvolvido para realizar o gerenciamento de servidores minecraft.

Ele facilita o procedimento de atualização do servidor, envio de notificações aos jogadores e o procedimento de backup de servidores e de mundos.

Esta é a lista dos principais comandos do msm:

$ msm help
Usage: /usr/local/bin/msm command:

--Setup Commands------------------------------------------------
  server list                                   List servers
  server create <name>                          Creates a new Minecraft server
  server delete <name>                          Deletes an existing Minecraft server
  server rename <name> <new-name>               Renames an existing Minecraft server

--Server Management Commands------------------------------------
  <server> start                                Starts a server
  <server> stop [now]                           Stops a server after warning players, or right now
  <server> restart [now]                        Restarts a server after warning players, or right now
  <server> status                               Show the running/stopped status of a server
  <server> connected                            List a servers connected players
  <server> worlds list                          Lists the worlds a server has
  <server> worlds load                          Creates links to worlds in storage for a server
  <server> worlds ram <world>                   Toggles a world's "in RAM" status
  <server> worlds todisk                        Synchronises any "in RAM" worlds to disk a server has
  <server> worlds backup                        Makes a backup of all worlds a server has
  <server> worlds on|off <world>                Activate or deactivate a world, inactive worlds are not backed up
  <server> logroll                              Move a server log to a gziped archive, to reduce lag
  <server> backup                               Makes a backup of an entire server directory
  <server> jar <jargroup> [<file>]              Sets a server's jar file
  <server> console                              Connects to the interactive console. Access may be limited
  <server> config [<setting> <value>]           Lists server settings, or sets a specific setting.

--Server Pass Through Commands----------------------------------
  <server> wl on|off                            Enables/disables server whitelist checking
  <server> wl add|remove <player>               Add/remove a player to/from a server's whitelist
  <server> wl list                              List the players whitelisted for a server
  <server> bl player add|remove <player>        Ban/pardon a player from/for a server
  <server> bl ip add|remove <ip address>        Ban/pardon an IP address from/for a server
  <server> bl list                              Lists the banned players and IP address for a server
  <server> op add|remove <player>               Add/remove operator status for a player on a server
  <server> op list                              Lists the operator players for a server
  <server> gm survival|creative <player>        Change the game mode for a player on a server
  <server> kick <player>                        Forcibly disconnect a player from a server
  <server> say <message>                        Broadcast a (pink) message to all players on a server
  <server> time set|add <number>                Set/increment time on a server (0-24000)
  <server> toggledownfall                       Toggles rain and snow on a server
  <server> give <player> <item> [amount] [data] Gives an entity to a player
  <server> xp <player> <amount>                 Gives XP to, or takes away (when negative) XP from, a player
  <server> save on|off                          Enable/disable writing world changes to file
  <server> save all                             Force the writing of all non-saved world changes to file
  <server> cmd <command>                        Send a command string to the server and return
  <server> cmdlog <command>                     Same as 'cmd' but shows log output afterwards (Ctrl+C to exit)

--Jar Commands--------------------------------------------------
  jargroup list                                 List the stored jar files.
  jargroup create <name> <download-url>         Create a new jar group, with a URL for new downloads
  jargroup delete <name>                        Delete a jar group
  jargroup rename <name> <new-name>             Rename a jar group
  jargroup changeurl <name> <download-url>      Change the download URL for a jar group
  jargroup getlatest <name>                     Download the latest jar file for a jar group

--Global Commands-----------------------------------------------
  start                                         Starts all active servers
  stop [now]                                    Stops all running servers
  restart [now]                                 Restarts all active servers
  version                                       Prints the Minecraft Server Manager version installed
  config                                        Displays a list of the config values used by MSM
  update [--noinput]                            Replaces MSM files with the latest recommended versions

Com o msm, podemos agendar tarefas para sincronizar os mundos com os arquivos, criar backups dos mundos automaticamente e rotacionar os logs.

#
# Minecraft Server Manager Cron
#
# Backs up worlds, rolls logs, moves worlds in RAM to disk,
# and starts crashed servers
#
# For more information visit the project home page:
# https://github.com/msmhq/msm
#
# Backs up all worlds for all servers at 2 minutes past 5 in the morning
02    05  *   *   *   minecraft   /etc/init.d/msm all worlds backup
# Rolls the logs for all servers at 55 minutes past 4 in the morning
55    04  *   *   *   minecraft   /etc/init.d/msm all logroll
# Moves all "in RAM" worlds to disk every half hour for all servers
*/30  *   *   *   *   minecraft   /etc/init.d/msm all worlds todisk
# Start any crashed servers again each hour
@hourly               minecraft   /etc/init.d/msm start

Comandos do editor vim

É muito comum que estudantes e novatos no mundo Linux tenham alguma dificuldade ao utilizar o vim.

Confesso que também eu tive alguma dificuldade, mas isso foi no milênio passado. 🙂

Hoje existe muito mais informações disponíveis, inclusive no YouTube.

Ao entender como vim funciona, ele se tornou meu editor favorito.

Os vídeos abaixo, do Canal “Projeto Root”, explicam muito bem como o vim funciona. Confira!


Logs de consultas do Bind

O software bind é o servidor DNS mais utilizado no mundo. Ele é desenvolvido pela Internet System Consortium (ISC), uma organização sem fins lucrativos. Criada em 1994 a ISC que possui uma bela missão: desenvolver software e oferecer serviços de suporte à infraestrutura da Internet.

Ele possui inúmeras funcionalidades diferentes. Basicamente, ele permite a construção de servidores DNS autoritativos e recursivos e tem suporte nativo ao IPv6 e ao DNSSec.

O bind também faz muito mais. Ele tem:

  • limite de velocidade de respostas: para resolver problemas de ataques de amplificação.
  • redirecionamento de domínios não existentes: para auxiliar usuários que digitam domínios errados.
  • integração com bancos de dados externos: permite integração com sistemas externos.
  • geoIP e views: respostas diferentes para origens diferentes.

Por padrão o bind registra as informações sobre as consultas realizadas. E isso não chega a ser um problema, considerando a necessidade da maioria dos usuários e o que o software foi desenvolvido para fazer.

No entanto, uma empresa que presto consultoria queria correlacionar as informações sobre quais as principais consultas realizadas aos seus servidores DNS. Isso permitirá identificar algumas informações, entre elas:

  • Quais são os servidores DNS recursivos da Internet.
  • A quais provedores esses servidores DNS pertencem.
  • Quais são os principais scanners de DNS existentes.

Além dessas informações, o log das consultas de DNS poderia algumas informações adicionais para a empresa, dentre elas:

  • Quais sites os usuários da minha rede local estão acessando.

Com esse tipo de informação, podemos estabelecer muitas correlações interessantes.

Agora, vamos ao que interessa!

No Ubuntu Server, para configurar logs de consultas no bind, basta alterar o arquivo “/etc/bind/named.conf.options” e inserir as seguintes linhas:

logging {
 channel querylog {
 file "/var/log/bind/query.log" versions 3 size 10m;
 severity debug 10;
 print-category yes;
 print-time yes;
 print-severity yes;
 };
 category queries { querylog; };
};

Estas instruções fazem bind armazenar as consultas no arquivo “/var/log/bind/query.log“, mantendo 3 arquivos de no máximo 10MB cada. Com isso você não precisa de se preocupar com o rotacionamento dos logs. Fique a vontade para alterar os parâmetros de acordo com as suas necessidades.

Antes de reiniciar o serviço, você deverá criar o diretório “/var/log/bind” e atribuir as permissões corretas. Para isso, basta executar os seguintes comandos:

mkdir /var/log/bind/
chown bind:bind /var/log/bind/

Tudo pronto. Agora é só reiniciar o serviço e verificar as consultas armazenadas!

Reencontro com princípios: A Catedral e o Bazar

Ontem tive um daqueles momentos que meu amigo Daniel chamaria de “epifania”.

Pouco antes de dormir, estava conversando com Cris, minha esposa. Ela abria seu coração, falava sobre seus sentimentos. E eu tentava compreender o que cada uma daquelas palavras…

Então que ela mencionou uma conversa nossa sobre “o bazar e o shopping”. Expliquei para ela que era a “Catedral e o Bazar”. Eu disse: “Se quiser o documento te mando amanhã”.

Talvez, para explicar o sentido da “Catedral e o Bazar”, eu tenha feito uma adaptação para que seja compreensível por pessoas que não são da área de tecnologia.  E eu nem me lembro disso…

The Cathedral and the Bazaar” é um texto do autor Eric Steven Raymond. É um documento é considerado referência sobre o modelo de desenvolvimento de software livre. A tradução para o português pode ser acessado no site da UFRGS.



Se observarmos bem, muitos dos princípios ali estabelecidos são úteis em outros contextos de nosso dia a dia. Veja alguns dos princípios estabelecidos que não estão necessariamente relacionados ao mundo do software:

Libere cedo e libere frequentemente.

O bom trabalho começa colocando o dedo na ferida.

Programadores bons sabem o que escrever; os grandes sabem escolher o que melhorar.

Planeje jogar algo fora; você irá, de qualquer maneira.

Você realmente não entende o problema da primeira vez; esteja preparado para começar tudo novamente.

Se você tem a atitude certa, bons problemas irão encontrá-lo.

Quando perder o interesse por um problema, entregue-o para um sucessor competente.

Libere cedo, libere frequentemente. E ouça seus fregueses.

A melhor coisa depois de ter boas ideias é reconhecer boas ideias dos seus usuários.

Muitas vezes as soluções mais inovadoras surgem ao perceber que o conceito sobre o problema estava errado.

Para resolver um problema interessante, comece achando um problema que é interessante para você.

Todo mundo sabe que muitas vezes não é fácil suportar a carga que cada um atribuí a si. Os últimos dias tem sido muitos difíceis. Mestrado, trabalho, trabalho, família…

Pode ser hora de reencontrar-me com esses princípios. Então, Cris, não se preocupe. Vamos em frente!

Um resultado

Amigos e colegas da TELEBRAS,

Quero agradecer a cada um dos 58 votos que recebi durante a campanha para representante dos empregados no Conselho de Administração da TELEBRAS. Esses votos me deixam muito orgulhoso porque demonstram que ao menos 58 pessoas, mentes e corações entenderam minhas propostas e compartilharam por um desejo de mudança.

É importante reconhecer o valor dos votos que não tive. Tenho a certeza que cada um dos amigos e colegas da Telebras que votaram nos outros candidatos compartilham as ideias e as propostas por mim apresentadas, mas entendem que outro candidato é o mais adequado para concretizá-las.

Uma vida vitoriosa não significa vitórias todos os dias. É importante saber que as disputas tem resultados. Dessa vez, o resultado não foi mais favorável. Mas, ainda assim, me orgulho muito da jornada.

Desde já, gostaria de declarar o meu apoio ao amigo e candidato Fabrício Duarte. O Fabrício é um profissional dedicado e experiente com quem trabalhei nos projetos da Copa do Mundo, Campus Party, Rede Única de Governo e tantos outros. Acredito que ele exercer suas propostas e poderá levar a frente, à sua maneira, as ideias diálogo permanente aberto e ativo. Acredito que ele esteja disposto a debater e levar em frente as outras ideias propostas.

Saudações Fraternas,

Leandro Neves

 

Resumo de propostas

Amigos e colegas da TELEBRAS,

Talvez você deseje conhecer apenas o resumo das propostas de atuação como representante dos empregados no Conselho de Administração da TELEBRAS. É neste sentido que escrevi este post: direto, rápido, sucinto. Se você quer ler apenas um documento, este é o documento que preparei para você.

As principais propostas estão relacionadas à atuação ativa, ao diálogo permanente, aberto e ativo, buscar a sustentabilidade da empresa, e a representação formal dos empregados.

Atuação Ativa:

  1. Desenvolver, em cooperação com os empregados, orientação e planos gerais factíveis para avaliação e aprovação do conselho.
  2. Defender os planos desenvolvidos e as posições definidas pelos Empregados.
  3. Fundamentar e justificar os votos proferidos.

Manter diálogo permanente, aberto e ativo:

  1. Realizar reuniões preparatórias, antes da reunião do conselho, para compartilhamento de informações ostensivas e definição da posição dos empregados quanto aos temas a serem tratados.
  2. Realizar reuniões informativas, após a reunião do conselho, para compartilhamento de informações ostensivas no âmbito do conselho, para o conhecimento dos empregados, e também para retroalimentar as reuniões periódicas.
  3. Realizar reuniões periódicas, ainda que virtuais, para levantamento de ideias e desenvolvimento propostas a serem apresentadas ao conselho de administração, desenvolvendo a atuação ativa.

Buscar a sustentabilidade da empresa:

  1. Propor, em nome dos empregados, ações que levem à sustentabilidade de longo prazo da empresa.
  2. Defender ações que reduzam custos ou incrementem receitas sempre que não prejudiquem os empregados.

Representação formal dos empregados.

  1. Apoiar o desenvolvimento do mecanismo de representação formal dos empregados, extra-conselho.
  2. Atuar na defesa dos empregados, em sua representação formal.

Valores:

  • Compromisso
  • Liberdade de Expressão e Iniciativa
  • Transparência
  • Responsabilidade
  • Ética

Quem sou eu:

Caso queira me conhecer, uma breve apresentação pessoal está disponível em: https://blog.leandroneves.net/sobre-leandro-neves/

Limites da atuação e atuação ativa

Amigos e colegas da TELEBRAS,

Mais uma vez gostaria de agradecer pelos feedbacks que tenho recebido. Hoje quero tratar sobre um importante aspecto que precisamos ter em mente: quais são os limites da atuação do conselheiro perante o conselho de administração da TELEBRAS?

O regimento do conselho de administração da TELEBRAS, disponível apenas de nossa rede interna, estabelece que “o conselheiro de administração não participará das discussões e liberações que envolvam conflito de interesse, sendo tais assuntos deliberados em reunião separada e exclusiva para tal fim” (art 5º parágrafo 1º).

Sim, este artigo da diretriz é um limitador. Diversos colegas já me disseram “não dá para fazer nada”, mas isso não é verdade. É importante fazer diferente. Se o conselheiro adotar uma atuação ativa, ele realizará diálogo constante com os empregados, a administração da TELEBRAS, outros conselheiros e mesmo outras instâncias do Governo Federal.

Importa dizer que cabe ao conselheiro:

  • Fixar orientação geral dos negócios da Telebras (Art 5º I), por exemplo, propondo estratégias de negócios mais rentáveis e lucrativas;
  • Aprovar os planos gerais da Telebras (Art 5º VI), como por exemplo, o plano de negócios, plano de gestão estratégica;
  • Solicitar informações sobre contratos celebrados ou em via de celebração.

Com uma atuação ativa no conselho, nós, empregados da Telebras, podemos desenvolver planos factíveis e submetê-los para avaliação e aprovação, com olho na sustentabilidade econômica e financeira da empresa. Eu, se for eleito conselheiro por vocês, defenderei cada um desses planos desenvolvidos por nós, empregados da TELEBRAS.

Eu gostaria de conhecer sua opinião, suas demandas e necessidades. Sinta-se à vontade para postar comentários aqui no blog. Se preferir, envie para meu e-mail pessoal: leandro@dataworks.com.br.

E, caso queira me conhecer, uma breve apresentação pessoal está disponível em: https://blog.leandroneves.net/sobre-leandro-neves/

Saudações fraternas,

Leandro Neves

 

Fórum de discussões e representação formal dos empregados

Amigos e colegas da TELEBRAS,

Conversando com diversos amigos e colegas da DA, da DC e da DTO, e para ampliar o diálogo permanente, aberto e ativo, está sendo proposta a definição de um mecanismo de representação formal dos empregados junto à empresa. Debate-se algumas opções: reativação da associação dos colaboradores da TELEBRAS, a criação de uma nova associação ou, também, a participação efetiva dos empregados no sindicato. É muito importante que os próprios colegas entendam sobre o que é o melhor para nossa representação junto à empresa.

Ainda assim, como retorno de nossas conversas nos últimos dias, eu preciso dizer que em relação aos mecanismos de diálogo permanente, aberto e ativo do post anterior, foi sugerida a criação de fóruns de discussão sobre os temas da TELEBRAS. Trabalhei ao longo desta madrugada para criar uma prévia deste fórum. Gostaria que vocês acessassem e, mais uma vez emitissem as valiosas contribuições. O endereço é https://forum.leandroneves.net. Para evitarmos fakes, é necessário fazer um registro simples (nome, senha, email) e confirmar seu login por e-mail. Lembrem-se que todo mundo é livre para contribuir para participar. O primeiro tópico é exatamente sobre a forma de  representação formal dos empregados.  Se desejarem posso abrir novos tópicos!

Peço, por gentileza, visitem o fórum e coloquem suas contribuições!

Eu gostaria de conhecer sua opinião, suas demandas e necessidades. Sinta-se à vontade para postar comentários aqui no blog. Se preferir, envie para meu e-mail pessoal: leandro@dataworks.com.br.

E, caso queira me conhecer, uma breve apresentação pessoal está disponível em: https://blog.leandroneves.net/sobre-leandro-neves/

Saudações fraternas,

Leandro Neves

Diálogo permanente, aberto e ativo

Amigos e colegas da TELEBRAS,

Na semana passada, escrevi algumas ideias sobre o que um bom conselheiro precisa para bem representar os empregados da TELEBRAS. Após compartilhá-las recebi feedbacks bastante positivos e sugestões preciosas de alguns colaboradores, aos quais agradeço imensamente. Aproveitando o ensejo, gostaria de detalhar algumas ideias sobre como manter o diálogo permanente, aberto e ativo com todos os colaborados da TELEBRAS.

Estou na TELEBRAS desde 2013. Passei por quatro diferentes conselheiros. Com muito respeito pelo trabalho desenvolvido pelos colegas, entendo que agora é o momento de estabelecer diálogo permanente, aberto e ativo na representação dos empregados no conselho da Empresa. No meu ponto de vista, o diálogo entre conselheiro e empregados deve ser constante e  exercido de modo que todos os colaboradores possam realmente ser ouvidos, que as propostas construídas pelos empregados sejam levadas a conselho e que os empregados recebam retornos claros sobre decisões tomadas nas reuniões do conselho.

Desta forma, proponho realizar reuniões abertas, com a participação de aberta a todos os empregados da TELEBRAS. Estas reuniões seriam de três tipos:

  • Reuniões periódicas, semanais ou quinzenais, para levantamento de ideias e desenvolvimento propostas a serem apresentadas ao conselho de administração, e, quando possível, solicitação de inclusão de pauta.
  • Reuniões preparatórias, realizadas uma semana antes da reunião do conselho, para compartilhamento de informações ostensivas e definição da posição dos empregados quanto aos temas a serem tratados.
  • Reuniões informativas, realizadas após a reunião do conselho, para compartilhamento de informações ostensivas no âmbito do conselho, para o conhecimento dos empregados, e também para retroalimentar as reuniões periódicas.

Está é uma proposta nova e diferente de se realizar a representação dos empregados da TELEBRAS em seu conselho. Eu creio sinceramente que o Conselheiro que realizar esta fórmula de diálogo permanente, aberto e ativo conseguirá representar bem os empregados da TELEBRAS, trazendo resultados mais condizentes com aquilo que esperamos do nosso representante.

Eu gostaria de conhecer sua opinião, suas demandas e necessidades. Sinta-se à vontade para postar comentários aqui no blog. Se preferir, envie para meu e-mail pessoal: leandro@dataworks.com.br.

E, caso queira me conhecer, uma breve apresentação pessoal está disponível em: https://blog.leandroneves.net/sobre-leandro-neves/

Saudações fraternas,

Leandro Neves