segunda-feira, 17 de junho de 2013

Planejanamento Financeiro Pessoal

Nao julgo ter know-raw suficiente sobre o assunto para falar do mesmo. Mas gostaria de compartilhar a planilha que utilizo para meu controle financeiro e minha experiencia. 
Por muito tempo eu tentei economizar, e no final do mês sempre estava no vermelho. O meu problema estava no "tentar", e a solução foi o planejar. Foi necessário uma mudança de abito, pois passei a planejar e controlar mensalmente todas as receitas e despesas. Os primeiros meses são realmente complicados, pois alem das mudanças,  no incio aparecem algumas surpresas: tem o IPTU que você esquece de planejar, o pneu do carro que fura.Com o passar do tempo passei a ter dados históricos para ajudar no meu planejamento, e passei a criar pequenas reservas para ajudar nos imprevistos. Realmente não tem grande segredo, eu não deixo de ter lazer pra economizar, eu simplesmente faco planejamento, e faco as coisas que estiverem ao meu alcance. É claro que no inicio é um pouco complicado, pois você precisa abrir mão de algumas coisas pra economizar, mas por outro lado o planejamento também te motiva por você ter claramente o motivo da economia. e com o tempo você consegue ter rendimentos por causa da economia, ter a condição financeira facilitada.
Pra quem for utilizar minha planilha, deixei ela toda em branco com os 12 meses de 2013, a dica que dou é é colocar una nova coluna para no final de cada mês.

link da planilhas: http://ul.to/xokkqdes


segunda-feira, 20 de maio de 2013

Macro VB - Conexão com BD ( Access; dBase; SQL Server)


A bastante tempo não trabalhava com macros, precisei mês passado e achei legal compartilhar.
Trabalho em um loja de materiais de construção e temos três maquinas de tintas. Solicitamos a equipe desenvolve nosso sistema para fazer uma integração com o banco de dados dessas maquinas de tintas, pra facilitar a operação. Eles colocaram alguns empecilhos para desenvolver pois teriam que estudar a estrutura dos BD e das formulas. Então fiz as macros para detalhar tudo pra eles.
Cada maquina trabalha com um banco de dados diferente. Uma utiliza SQL Server 2005, a outra Access e por ultimo dBase.


O Banco SQL Server, tinha uma funcao que retornava todas as tabelas em que eu precisaria em um RecordSet.


  1. Set Conn = CreateObject("ADODB.Connection")
  2. Set rs = CreateObject("ADODB.Recordset")
  3. Set Cmd = CreateObject("ADODB.Command")
  4.    Conn.Open "Provider=SQLOLEDB;Password=suasenha;Persist Security Info=True;User ID=seuusuario;Initial Catalog=seuBD;Data Source=seuUsuarioWindows\seuBD; Network Library=dbmssocn"
  5.    Cmd.ActiveConnection = Conn
  6.    sql = "comando sql aqui"
  7.    Cmd.CommandText = sql
  8.    Set rs = Cmd.Execute


O Banco Access e no dBase foram executados varios comandos sql e cada resultado preencia uma tabela diferente.


Access:


  1. Sub executaConsutla(varSQL As String)
  2. Dim varConn As String
  3.    Range("A10").CurrentRegion.ClearContents
  4.    varConn = "ODBC;DBQ=sua base  de dados por exemplo C:\exemplo.mdb;Driver={Driver do Microsoft Access (*.mdb)}"
  5.         With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A10"))
  6.             .CommandText = varSQL
  7.             .Name = "Query-39008"
  8.             .Refresh BackgroundQuery:=False
  9.         End With
  10. End Sub


dBase: a base que esta em dBase é um pouco mais confusa por isso criei varias funcoes que fazem a consultas e salva em tabelas diferentes:

  1. Sub consultaProdutos()
  2. Dim varSQL As String
  3. Dim varConn As String
  4.    varSQL = "comando sql"
  5.    varConn = "ODBC;DBQ=caminho da base & ";Driver={Driver do Microsoft dBase (*.dbf)}"
  6.    
  7.    getTabela varSQL, varConn, “suaTabela”
  8.        
  9. End Sub
  10. Sub getTabela(varSQL As String, varConn As String, tabela As String)
  11.    Worksheets(tabela).Activate
  12.    
  13.    Range("A10").CurrentRegion.ClearContents
  14.  
  15.        With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A10"))
  16.             .CommandText = varSQL
  17.             .Name = "Query-39008"
  18.             .Refresh BackgroundQuery:=False
  19.         End With
  20.         
  21.    Worksheets("consulta").Activate
  22. End Sub


Para o caso de alguem estar com uma tarefa semelhante a minha:
As maquinas de tinta que eu vi armazenam suas formulas em onças, para passar para ml basta multiplicar por 29,5735295625. Também tem formulas armazenadas com divisoes de onças por exemplo: 1Y25+5/96 bas ta dividir segunda por 48 e a terceira por 96, o resultado seria (1+(25/48)+(5/96))*29,5735 = 46,5166 ml.

quarta-feira, 24 de outubro de 2012

Controle https iptables


Colega meu, técnico em redes, me ligou apavorado que os usuários da rede que ele gerencia estavam conseguindo navega em sites bloqueados. Segundo ele os usuários estavam usando https na frente para navegar. Disse que ele deveria voltar pra sala de aula, que ele deveria tirar essa situação de letra.  Lembro que ele tinha bastante facilidade para aprender, mas só queria saber de matar aula. No final das contas resolvi ajuda-lo, e como ele disse que teve bastante dificuldade para achar uma solução resolvi postar aqui. Gostaria de fazer isso mais vezes.

Cenário
Debian squeeze
Rodando entre
Firewall iptables
Squid transparente
Etc..
Criar um arquivo para colocar os endereços que serão aceitos pelo servidor. E incluir as linhas abaixo no script do firewall.


iptables -I FORWARD -s 192.168.0.0/255.255.255.0 -p tcp --dport 443 -j DROP
for URL in `cat  /caminho/nomedoarquivo | grep -v ^#`; do
        iptables -I FORWARD -s 192.168.0.0/255.255.255.0 -p tcp --dport 443 -d $URL -j ACCEPT
done

Se for preciso emitir nota fiscal eletrônica você precisa incluir os endereços conforme indicado no site da fazenda:

É possível fazer com que o squid faca o filtro de forma transparente para isso é necessário utilizar openssl. Embora a dica do post resolva o problema, se alguém solicitar eu posso ver se arrumo tempo para mostrar como fazer.

segunda-feira, 10 de setembro de 2012

Conectando central asterisk ao GoogleTalk



Algo interessante de se fazer com o elastix é conecta-lo ao gtalk, assim você pode receber e fazer ligações dos ramais de sua central asterisk, para contas do gtak. Para isso basta configurar os arquivos como abaixo:

jabber.conf
[general]
debug=yes                                       
autoprune=no                                                
autoregister=yes                                           

[conta01]
type=client                                      
serverhost=talk.google.com    
secret=sua_senha
port=5222
usetls=yes                        
usesasl=yes                      
distribute_events=yes
buddy=seus_contatos@gmail.com

statusmessage="como irão ver  no seu nome"                        
timeout=100    
                               

gtalk.conf

[general]
context=gtalk-in 
allowguest=yes

[guest]
disallow=all
allow=gsm
allow=ulaw
context=gtalk-in
connection=conta01



após configurado, você pode criar as rotas e utilizar:

extensions_custom.conf 
[Saida]
exten => 1234,1,Dial(gtalk/conta01/seu_contato@gmail.com) 
[entrada]
exten => s,1,NoOp( Call from Gtalk )
exten => s,n,Dial(SIP/numeroDoRamalAtendodor)


se preferir confira o vídeo da configuração e teste:




quinta-feira, 24 de maio de 2012

squid3 transparent no debian

Tenho ele rodando aqui a uns 2 anos e estou bem satisfeito. São 4 arquivos com a relação do MAC de algumas maquinas da minha rede. Alem de 3 arquivos um para sites liberados outro para palavras bloqueadas e outro para extensões bloqueadas, esses dois últimos poderiam ser juntos, mais optei por separá-las. Coloquei as regras para que uma relação de maquinas só acesse os sites listados no arquivo “sitesLiberados”, outra relação acessa tudo, exceto links que contenham as palavras do arquivo “palavrasBloqueadas”. As duas ultimas relações estão bloqueadas para downloads de arquivos com as extensões listadas no arquivo “extensoesBloqueadas”. As maquinas que estão no arquivo “macLiberado” e “macDireco” tem acesso liberado. E maquinas que não estiverem em nenhum arquivo tem o acesso totalmente bloqueado. Alem disso tem um controle para downloads pelo tamanho do arquivo exceto para as maquinas do arquivo “macDirecao”.Para que o squid faça o controle pelo MAC é preciso que ele seja compilado para isso, depois coloco um passo a passo de como baixar o fonte e compilar.

Regra iptables para redirecionar a porta 80 para o squid:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


squid.conf:

http_port 3128 transparent
cache_effective_user proxy
cache_effective_group proxy
#RAM reservada para o cache
cache_mem 256 MB
#tamanho maximo dos objetos na RAM
maximum_object_size_in_memory 32 KB
#tamanho maximo dos objetos no disco
maximum_object_size 30 MB
cache_log /usr/local/squid/var/logs/cache.log proxy
cache_store_log /usr/local/squid/var/logs/store.log
access_log /usr/local/squid/var/logs/access.log
error_directory  /usr/local/squid/share/errors/pt-br
acl parcial arp "/usr/local/squid/etc/bittencourt/macParcial"
acl liberado arp "/usr/local/squid/etc/bittencourt/macLiberado"
acl palavras arp "/usr/local/squid/etc/bittencourt/macPalavras"
acl direcao arp "/usr/local/squid/etc/bittencourt/macDireco"

acl siteosLiberados dstdomain "/usr/local/squid/etc/bittencourt/sitesLiberados"
acl palavrasBloq url_regex "/usr/local/squid/etc/bittencourt/palavrasBloqueadas"
acl extensoesBloq urlpath_regex "/usr/local/squid/etc/bittencourt/extensoesBloqueadas"

#bloqueio para downloads.
reply_body_max_size 5 MB parcial palavras
reply_body_max_size 10 MB liberado

http_access allow direcao
http_access deny palavras palavrasBloq
http_access deny palavras extensoesBloq
http_access deny parcial extensoesBloq
http_access allow liberado
http_access allow parcial siteosLiberados
http_access deny all

terça-feira, 26 de outubro de 2010

Rede "ad hoc"

Para conectar computadores através de rede wireless, você pode configurar uma rede “ad hoc” sem a necessidade de um ponto de acesso. Dessa forma será possível compartilhar arquivos, impressoras e conexão com a internet. Faca o seguinte:

Reset SCX-4521F

Essa impressora fica avisando que estourou o contador de impressões, para retirar o aviso basta seguir os passos abaixo conferindo o que aparece no visor:

Sequência - Visor
Menu #1934 - TECH
Menu, Aceitar - Tech Mode
< - NEW CARTRIDGE
Aceitar - YES
Menu #1934 - PRONTA

Esse procedimento foi retirado do manual de serviço dela, e vc pode baixa lo em:

Manual de serviço