sexta-feira, dezembro 04, 2009

Software Livre ou não?

Essa questão está na cabeça de muita gente, e dizer que software livre é o futuro, para mim, é ser radical demais.
Há uma nova tendência em que o dinheiro do nosso mundo capitalista circula através do serviço prestado, e não dos produtos diretamente. Mas as duas realidades estarão presentes lado a lado - talvez uma com mais força que a outra.
Na realidade, o que quero dizer é que poucas coisas me tiram do sério e uma delas é ver gente falando o que não sabe em relação, normalmente, ao software livre - pura ignorância originária do desconhecimento ou da dificuldade de assimilar ou dar o braço a torcer. Mas isso acontece também dos defensores extremos de software livre com relação ao software proprietário e ao mundo que nos cerca.
Eu em cima do muro? Não. Prefiro software livre, porém no note tenho Windows. Contraditório? Também não. Já veio na máquina (não é pirata) e uso softwares que só tem para este sistema. Ah, se as aplicações comerciais e jogos fossem disponíveis para o pinguim... O Ubuntu está sensacional, aliás o Kubuntu, pois apesar do Gnome ser muito bom, o KDE me chama mais atenção. É questão de gosto e posso mudar pro gerenciador de janelas que quiser - isso é ser livre, né? E o Fedora que sempre vem com as últimas versões das aplicações...
Aí, hoje, ouço um colega do trabalho comentando que o Linux o faz lembrar do trabalho dele anos atrás, pois as linhas de comando lembram o DOS (ele tem a mesma idéia do começo dos anos 90). Outro comentário é que "eles" tentam copiar o Windows, mas não conseguem... "um dia quem sabe...". Será que ele sabe mesmo quem copia o quê? O shell é muito mais coerente e fiel ao Unix do que o DOS (que se baseou também no Unix); a cada novidade do Windows na parte gráfica me faz recordar anos atrás do KDE e/ou o Mac OS(X). Quando a MS veio com transparências nas janelas, Power Shell, agora com design clean, diversas outras frescurinhas e veio falando em novidade... o pior é que as pessoas acreditam que é um lançamento inédito que nenhum outro "concorrente" possui. É uma pena, mas o Windows está estagnado e ninguém está conseguindo evolui-lo, diferentemente do Linux, que está ganhando espaço cada vez mais.
Software livre é gestão do conhecimento em nível global, e é isso que me fascina! Sou a favor de sua evolução, mas sei que ainda deve em muitos aspectos. Também sei que está muito a frente em outros, que muitas pessoas não sabem assim como meu colega. O mundo é injusto. Isso me entristece.
Apesar de, como eu disse, usar Windows, sei que ele é como sessão da tarde (as funcionalidades são filmes): mesmo que você não tenha assistido ainda, pode ter certeza que já foi lançado há muito tempo.
Apesar do radicalismo sempre presente nas discussões, cada um é cada um e essa liberdade é direito de todos.

terça-feira, setembro 22, 2009

Elemento com altura de 100% do elemento pai com JQuery

Muitas pessoas fazem layout com tabela para que o tamanho fique controlado a 100% e possa usar um plano de fundo no comprimento inteiro. Mas não precisa usar tabela para isso. Se isso for necessário mesmo... de verdade (depende de como for montado o layout), você pode usar um JavaScript para ajustar o tamanho. Este é um exemplo em JQuery:

jQuery(document).ready(function(){
jQuery("#sidebar").height(jQuery("#sidebar").parent().innerHeight() + "px");
});


Meu elemento de id="sidebar" fica dentro de um outro elemento que possui conteúdo variável, com texto grandes. O sidebar não possui tamanho suficiente para ser maior e não terminar repentinamente os "frufrus" do plano de fundo. Este scriptsinho em jQuery faz com que, quando o documento estiver carregado, haja ajuste do tamanho do "sidebar" para o tamanho interno do "pai" (o elemento no qual está dentro).

Abraço!

quarta-feira, julho 08, 2009

HTML5: fim do XHTML

Segundo W3C, no dia 2 de julho de 2009 a diretoria anunciou o fim do "projeto" XHTML, voltando os esforços ao HTML5.
Hoje o W3C anunciou que o prazo do Grupo de Trabalho XHTML 2 vai expirar no final desse ano e não será renovado. Essa decisão, acompanhada do aumento de recursos no Grupo de Trabalho HTML, fará com que o W3C acelere os trabalhos com o HTML 5 e torne mais clara a posição do W3C com relação ao futuro do HTML. Existe uma FAQ que responde as questões sobre o futuro dos produtos do Grupo de Trabalho XHTML 2 e o status das várias discussões relacionadas ao HTML. Saiba mais sobre a Atividade HTML. (Permalink)
O HTML vai manter muita coisa do XHTML, a principal delas a estrutura baseada em XML - realmente o HTML 4 estava uma zona. O grupo de trabalho diz manter a modularização também, o que permite combinar com outras linguagens de marcação, além de corrigir muitos aspectos como acessibilidade, independencia de dispositivos, internacionalização, entre outros.
Resumindo: O futuro do HTML será uma junção do XHTML (que deriva do HTML, porém mais regrado) com o as melhoras sempre solicitadas e a semântica cada vez mais necessária nas integrações e relacionamentos entre dispositivos, pessoas e aplicações.
Segue as marcações do HTML5 (links para o site http://www.w3schools.com)

HTML5 Tags


  • <!-->

  • <!DOCTYPE>

  • <a>

  • <abbr>

  • <acronym> (Retirado da versão 5)

  • <address>

  • <applet> (Retirado da versão 5)

  • <area>

  • <article> (NOVO!)

  • <aside> (NOVO!)

  • <audio> (NOVO!)

  • <b>

  • <base>

  • <basefont> (Retirado da versão 5)

  • <bdo>

  • <big> (Retirado da versão 5)

  • <blockquote>

  • <body>

  • <br>

  • <button>

  • <canvas> (NOVO!)

  • <caption>

  • <center> (Retirado da versão 5)

  • <cite>

  • <code>

  • <col>

  • <colgroup>

  • <command>

  • <datagrid> (NOVO!)

  • <datalist> (NOVO!)

  • <datatemplate> (NOVO!)

  • <dd>

  • <del>

  • <details> (NOVO!)

  • <dialog> (NOVO!)

  • <dfn>

  • <dir> (Retirado da versão 5)

  • <div>

  • <dl>

  • <dt>

  • <em>

  • <embed> (NOVO!)

  • <event-source> (NOVO!)

  • <fieldset>

  • <figure> (NOVO!)

  • <font> (Retirado da versão 5)

  • <footer> (NOVO!)

  • <form>

  • <frame> (Retirado da versão 5)

  • <frameset> (Retirado da versão 5)

  • <head>

  • <header> (NOVO!)

  • <h1> - <h6>

  • <hr>

  • <html>

  • <i>

  • <iframe>

  • <img>

  • <input>

  • <ins>

  • <kbd>

  • <label>

  • <legend>

  • <li>

  • <link>

  • <m>

  • <map>

  • <mark> (NOVO!)

  • <menu>

  • <meta>

  • <meter> (NOVO!)

  • <nav> (NOVO!)

  • <nest> (NOVO!)

  • <noframes> (Retirado da versão 5)

  • <noscript>

  • <object>

  • <ol>

  • <optgroup>

  • <option>

  • <output> (NOVO!)

  • <p>

  • <param>

  • <pre>

  • <progress> (NOVO!)

  • <q>

  • <rule> (NOVO!)

  • <s> (Retirado da versão 5)

  • <samp>

  • <script>

  • <section> (NOVO!)

  • <select>

  • <small>

  • <source> (NOVO!)

  • <span>

  • <strike> (Retirado da versão 5)

  • <strong>

  • <style>

  • <sub>

  • <sup>

  • <table>

  • <tbody>

  • <td>

  • <textarea>

  • <tfoot>

  • <th>

  • <thead>

  • <time> (NOVO!)

  • <title>

  • <tr>

  • <tt> (Retirado da versão 5)

  • <u> (Retirado da versão 5)

  • <ul>

  • <var>

  • <video> (NOVO!)


Fonte:

Spam Americanas

Mais uma vez, chega pelo e-mail essas coisas...

Prezado(a) cliente,

Recebemos seu pedido
sua compra será debitada em sua conta bancária,
dentro de 24 horas.

CLIQUE AQUI PARA VER SEU PEDIDO OU CANCELAR !!

VEJA O RESUMO DO SEU PEDIDO.

Desde já agradecemos pela sua preferência.

Silvia Lira-Atendimento a Clientes
Sac.atendimento@americanas.com
www.americanas.com.br

Tem gente que acha qua a Americanas iria mandar alguma coisa assim. E ao clicar nos links (que estão em azul) você acessa http://fly2.??/??????. Por isso, se tivere alguma dúvida, olhe para onde o link vai lhe levar e suspeite de tudo que chegar sem sua solicitação.

terça-feira, maio 12, 2009

Montar E-mail via HTML/JavaScript

Minha ex estava precisando enviar um formulário por e-mail, mas não podia usar nenhuma linguagem de servidor (PHP, ASP etc). Como é para a empresa e sei que todos usam uma aplicação desktop para ferenciamento de e-mails (Outlook ou Thunderbird), sugeri usar o "mailto" (normalmente usado nos links de contato) para abrir a aplicação e formatar os campos do e-mail.
A função é bem simples e lista no corpo do e-mail os campos e seus valores... e só.


function montaEmail(form) {
var str = 'mailto:seuemail@email.com?';
str += 'cc=copia1@email.com, copia2@email.com&';
str += 'bcc=copiaoculta@email.com&';
str += 'subject=Assunto do E-mail&';
str += 'body=';
for (i=0;i<form.elements.length-1;i++) {
str += '%0A' + form.elements[i].name + ' = ' + form.elements[i].value;
}
window.location.href = str;
}

E no form, ao invés de usar "submit", usar um "button" chamando essa função:

<input type="button" onclick="montaEmail(this.form)" value="Enviar">
Lembre-se que os parâmetros do "mailto" são:
  • destinatários: após o "mailto:" separados por vírgula;
  • cópia: "cc=" e os destinatários separados por vírgula;
  • cópia oculta: "bcc=" e os destinatários separados por vírgula;
  • assunto: "subject=" e o texto do assunto
  • corpo do email: "body=" e o conteúdo.
Como é uma URL, a separação dos parâmetros é feita por "?" após o(s) destinatário(s) principal(is) e depois "&" a cada parâmetro usado. Pelo mesmo motivo, os caracteres especiais devem ser formatados seguindo o padrão URL. Exemplo: Quebra de linha é %0A.

sexta-feira, abril 17, 2009

Spam "Uni Leve"

Olha só o que mandaram:

Comprovante de Deposito
Segunda-feira, 30 de Março de 2009 4:15
De: "unilevesa@ubbi.com.br"
Para:

Comprovante Depósito-30032009 (244kb)

Segue em anexo o comprovante de depósito em conta.

Pedimos que confira seus dados e extrato e verifique se todas as informações estão corretas.

Uni Leve Ltda

Marcos C. Barros

Atenciosamente, Departamento Jurídico.

Pô... Uni Leve! O link para o anexo aponta uma DLL.
Alguém acha que deve clicar? Uni Leve!

quarta-feira, abril 15, 2009

Gestão de Projetos com Tecnologia Livre

Hoje em dia temos muitas aplicações que agilizam nossas atividades e controlam para nós informações preciosas. Isso acontece em quase todas as áreas e em gestão de projetos também. O problema que o custo de ferramentas para GP, que nos auxiliam no gerenciamento, acompanhamento de um projeto, controle de custo e prazo, entre outras coisas, normalmente é pago.... e bem pago. Sempre fuçando tecnologias livres, me deparei com algumas ferramentas que não conhecia e confrontei com algumas já sabidas para fazer uma análise.
Eu dou muito valor às aplicações web, pois independem de plataforma e podem ser acessadas de qualquer lugar, mas sei que os recursos são restritos. O problema maior é a abrangência e supercialidade de recursos principalmente gráficos que aplicações disponíveis em PHP (ou qualquer uma outra linguaegm web) possuem, pois detêm o conceito do trabalho em grupo, contendo fórum, wiki, gerenciamento de arquivos e envio de tickets para execução das tarefas, enquanto as aplicações desktops tem mais o foco da gestão e acompanhamento.
Em PHP destaco o PHProjekt e o dotProject que são muito bons e possuem recursos similares citados acima: são groupwares.
Já para desktop, destaco estas 2 ferramentas desenvolvidas em Java, que são multiplataformas:
XMind - Projeto similar ao FreeMind, também feito em Java, mas na minha concepção muito mais organizado e amigável. Ele permite escolher o tipo de exibição do diagrama, enquenato o FreeMind apenas trabalha com o de idéias livres. Com o XMind você consegue montar uma EAP, organizar um brainstorming, espinha de peixe, por exemplo, entre outros. 
OpenProj - Também feito em Java, mas muito parecido com o MS Project. É como um pedacinho do software da Microsoft, mas tem tudo que se precisa para gerenciar um projeto: recursos, custos, prazo, gera relatórios, gráficos e uma coisa que o Project não faz: EAP. É leve, fácil e lembra muito, mas muito mesmo o MS Project. Muito melhor que o GanttProject que não tinha nada além de atividades e o gráfico de Gantt.

sexta-feira, março 13, 2009

MIME Type

Segue uma tabela de MYM Types... sempre útil quando você precisa trabalhar com verificação de arquivos (retirada de http://www.w3schools.com/media/media_mimeref.asp):

Mime Types por Extensão de Arquivo

Extension Type/sub-type
application/octet-stream
323 text/h323
acx application/internet-property-stream
ai application/postscript
aif audio/x-aiff
aifc audio/x-aiff
aiff audio/x-aiff
asf video/x-ms-asf
asr video/x-ms-asf
asx video/x-ms-asf
au audio/basic
avi video/x-msvideo
axs application/olescript
bas text/plain
bcpio application/x-bcpio
bin application/octet-stream
bmp image/bmp
c text/plain
cat application/vnd.ms-pkiseccat
cdf application/x-cdf
cer application/x-x509-ca-cert
class application/octet-stream
clp application/x-msclip
cmx image/x-cmx
cod image/cis-cod
cpio application/x-cpio
crd application/x-mscardfile
crl application/pkix-crl
crt application/x-x509-ca-cert
csh application/x-csh
css text/css
dcr application/x-director
der application/x-x509-ca-cert
dir application/x-director
dll application/x-msdownload
dms application/octet-stream
doc application/msword
dot application/msword
dvi application/x-dvi
dxr application/x-director
eps application/postscript
etx text/x-setext
evy application/envoy
exe application/octet-stream
fif application/fractals
flr x-world/x-vrml
gif image/gif
gtar application/x-gtar
gz application/x-gzip
h text/plain
hdf application/x-hdf
hlp application/winhlp
hqx application/mac-binhex40
hta application/hta
htc text/x-component
htm text/html
html text/html
htt text/webviewhtml
ico image/x-icon
ief image/ief
iii application/x-iphone
ins application/x-internet-signup
isp application/x-internet-signup
jfif image/pipeg
jpe image/jpeg
jpeg image/jpeg
jpg image/jpeg
js application/x-javascript
latex application/x-latex
lha application/octet-stream
lsf video/x-la-asf
lsx video/x-la-asf
lzh application/octet-stream
m13 application/x-msmediaview
m14 application/x-msmediaview
m3u audio/x-mpegurl
man application/x-troff-man
mdb application/x-msaccess
me application/x-troff-me
mht message/rfc822
mhtml message/rfc822
mid audio/mid
mny application/x-msmoney
mov video/quicktime
movie video/x-sgi-movie
mp2 video/mpeg
mp3 audio/mpeg
mpa video/mpeg
mpe video/mpeg
mpeg video/mpeg
mpg video/mpeg
mpp application/vnd.ms-project
mpv2 video/mpeg
ms application/x-troff-ms
mvb application/x-msmediaview
nws message/rfc822
oda application/oda
p10 application/pkcs10
p12 application/x-pkcs12
p7b application/x-pkcs7-certificates
p7c application/x-pkcs7-mime
p7m application/x-pkcs7-mime
p7r application/x-pkcs7-certreqresp
p7s application/x-pkcs7-signature
pbm image/x-portable-bitmap
pdf application/pdf
pfx application/x-pkcs12
pgm image/x-portable-graymap
pko application/ynd.ms-pkipko
pma application/x-perfmon
pmc application/x-perfmon
pml application/x-perfmon
pmr application/x-perfmon
pmw application/x-perfmon
pnm image/x-portable-anymap
pot, application/vnd.ms-powerpoint
ppm image/x-portable-pixmap
pps application/vnd.ms-powerpoint
ppt application/vnd.ms-powerpoint
prf application/pics-rules
ps application/postscript
pub application/x-mspublisher
qt video/quicktime
ra audio/x-pn-realaudio
ram audio/x-pn-realaudio
ras image/x-cmu-raster
rgb image/x-rgb
rmi audio/mid
roff application/x-troff
rtf application/rtf
rtx text/richtext
scd application/x-msschedule
sct text/scriptlet
setpay application/set-payment-initiation
setreg application/set-registration-initiation
sh application/x-sh
shar application/x-shar
sit application/x-stuffit
snd audio/basic
spc application/x-pkcs7-certificates
spl application/futuresplash
src application/x-wais-source
sst application/vnd.ms-pkicertstore
stl application/vnd.ms-pkistl
stm text/html
svg image/svg+xml
sv4cpio application/x-sv4cpio
sv4crc application/x-sv4crc
swf application/x-shockwave-flash
t application/x-troff
tar application/x-tar
tcl application/x-tcl
tex application/x-tex
texi application/x-texinfo
texinfo application/x-texinfo
tgz application/x-compressed
tif image/tiff
tiff image/tiff
tr application/x-troff
trm application/x-msterminal
tsv text/tab-separated-values
txt text/plain
uls text/iuls
ustar application/x-ustar
vcf text/x-vcard
vrml x-world/x-vrml
wav audio/x-wav
wcm application/vnd.ms-works
wdb application/vnd.ms-works
wks application/vnd.ms-works
wmf application/x-msmetafile
wps application/vnd.ms-works
wri application/x-mswrite
wrl x-world/x-vrml
wrz x-world/x-vrml
xaf x-world/x-vrml
xbm image/x-xbitmap
xla application/vnd.ms-excel
xlc application/vnd.ms-excel
xlm application/vnd.ms-excel
xls application/vnd.ms-excel
xlt application/vnd.ms-excel
xlw application/vnd.ms-excel
xof x-world/x-vrml
xpm image/x-xpixmap
xwd image/x-xwindowdump
z application/x-compress
zip application/zip

sexta-feira, janeiro 09, 2009

Campanha para eliminar navegadores antigos

Há um tempo vi uns sites que forneciam scripts para que se um visitante acessasse seu site através de um navegador antigo, avisasse de um potencial problema. Destes, 2 em inglês e 1 em português. Essa semana recebi da iMasters um e-mail da campanha brasileira encabeçada por eles com apoio da Fundação Mozilla e obviamente com foco no Firefox. Tudo isso para acabarem de vez com o bendito Interner Explorer 6.
Este navegador além de antigo (lançado em 2001), não segue em muitas situações os padrões para interpretação das tags e estilos das páginas, o que causa um problemão para quem desenvolve, pois deve preparar as páginas para essas situações. Não que todos os navegadores sigam os padrões corretamente, mas o IE6 é o mais problemático.
Seguem os links dos sites que promovem essa revolução! Eles exibem uma barra de alerta informando que o navegador é antigo e pode causar problemas para a visualização.
  • http://www.stopie6.org - baixe o script, coloque junto aos outros e simplesmente chame-o na página do seu site. Só isso.
  • http://www.end6.org - baixe o script, coloque junto aos outros e chame-o na página do seu site, ou simplesmente cole a chamada publicada e utilize o arquivo direto do site.
  • http://updateyourbrowser.net - copie e cole o código informado e pronto (barra limpa e simples, mas com link para a página do site com os navegadores novos ).
  • http://imasters.uol.com.br/crossbrowse - copie e cole o código informado e pronto (barra com imagens, porém com os links diretos para os sites dos navegadores).
Abraço!