Linux ACL permissions

Um belo dia, resolvi testar o Fedora, visto que o Ubuntu Natty ficou uma MERDA. Depois de testado, aprovado (nem tanto) e percebido que o Gnome3, apesar de MUITO bonito e com uma usabilidade MUITO boa, ainda está com muitos bugs e algumas coisas ainda precisam ser melhoradas.
Não, eu não estou criticando o Gnome3, só estou dizendo que, no atual momento, o Gnome3 ainda não está maduro o suficiente para EU usá-lo.
Depois disso tudo, eu não queria voltar para o Ubuntu, visto que, no meu notebook, a placa de vídeo não está inicializando (só no Natty), então fui para seu pai, o Debian.
Instalei o Debian, configurei tudo bonitinho (ainda com Gnome2) e precisei fazer alguma coisa no terminal que não me lembro agora.
Ao listar os arquivos da minha pasta ‘home’, me deparei com a seguinte notação:

alucard@hellsing:~$ ll
total 40
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Documents/
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Music/
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Pictures/
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Public/

Daí pensei QUE MERDA DE ‘+’ É ESSE??
Como não estava me atrapalhando, deixei pra lá e nem quis saber o que era.

Após algum tempo, aqui no meu trabalho, precisei resolver umas coisas no server de um dos nossos sites e me deparei com o mesmo ‘+’ maltido.
Com uma rápida pesquida no Google, descobri que isso se dá, devido a ACL’s ‘anexadas’ ao arquivo/diretório, e que com o programa ‘getfacl’ eu consigo pegar a ACL de um determinado arquivo/diretório e com o ‘setfacl’ eu determino qual ACL para o mesmo.
Percebi também que, nesse servidor, se eu criar um diretório, nenhuma ACL é atrelada a ele. Então, de acordo com o manual do programa ‘setfacl’ posso rodar o seguinte comando no terminal para copiar uma ACL de um arquivo/diretório e passar para outro:

getfacl <diretorio_origem/arquivo_origem> | setfacl -R --set-file=- <diretorio_origem/arquivo_origem>

Espero que ajude alguém.
=]

Invalid UTF-8 sequence

‘Voltando’ com o blog novamente.

Hoje tive um problema com versionamento (SVN) na empresa que trabalho (já troquei de empresa 2x nesses últimos meses sem passar por aqui, agora estou na Bolt Brasil Comunicação Digital).

Estou mexendo num determinado projeto que, no momento, não estava versionado. Então fui ao servidor e, via SSH, criei um TAR do site inteiro para criar o versionamento do projeto no servidor local da empresa.
Após criar o repositório no SVN, e criar o projeto localmente, ao rodar o comando ‘svn add *’ recebi o seguinte erro em determinado arquivo:

svn:  Valid UTF-8  data
(hex: 4b)
followed by invalid UTF-8 sequence
(hex:  fc 63 68  65)

Pesquisando (não vou citar sites, pois foram muitos, mas basicamente, foi o nosso pai Google), descobri o seguinte comando:

convmv --notest -f latin-1 -t utf8 -r .

Onde, no parâmetro ‘-f’ você colocará o charset que você quer que o arquivo seja renomeado. Por exemplo:
Você tem um arquivo, num formato X e precisa convertê-lo para UFT-8 com o charset ‘latin1’
Com isso, um arquivo nomeado dessa maneira: ‘C?pia.rar’ será convertido para UTF-8 e renomeado para ‘Cópia.rar’. Se você colocar ‘shiftjis’ por exemplo, ele colocará o correspondente chinês para ‘ó’.

Espero ter ajudado alguém (pois ME ajudei =P).

=]

SQL Server 2005 Collate vs PHP

Então pessoal, dessa vez foi realmente foda.
NUNCA fiquei tanto tempo sem postar aqui, e tipo, não devia ter feito isso. Seriously.

Tirei férias, peguei freela, quebrei o dedo mindinho da mão esquerda, aprendi a mexer com ‘opensocial’, aprendi a mexer com muita coisa, comprei um Motorola Milestone (com Android!! Daqui a pouco, posts sobre Android aqui pra vocês!!), troquei de emprego, troquei de emprego de novo.

Enfim, no meu novo emprego, na Plan B, passei por um probleminha não muito comum (eu acho), lidar com PHP buscando dados de uma base em SQL Server 2005.

Eu estava trabalhando num arquivo cuja codificação era UTF-8. Na hora de exibir os dados vindos do banco, dava erro na codificaão, exibindo aquele caractere com uma ‘?’ dentro de um losango (acho que todo developer conhece esse símbolo!! hahaha..).
Fui tentando as opções de praxe:

<?php
    echo utf8_encode($bd->nome);
    echo utf8_decode($bd->nome);
    echo utf8_encode(htmlentities($bd->nome));
    echo htmlentities(utf8_encode($bd->nome));
    echo utf8_decode(htmlentities($bd->nome));
    echo htmlentities(utf8_decode($bd->nome));
?>

Acontece que a collation padrão do SQL Server é SQL_Latin1_General_CP1_CI_AS. E isso eu só descobri depois.
Qual foi então a minha solução?! Depois de umas belas pesquisadas e uma grande ajuda do Leandro Rodrigues, conseguimos foi na query de busca dos dados, fazermos um CAST no campo e definimos a collation dele ali mesmo, dessa maneira:

SELECT CAST({campo} AS {tipo}) COLLATE {collation} AS {alias}
FROM {tabela}'

Então, o caso foi colocar a collation ‘Latin1_General_BIN’, ficando assim:

SELECT CAST(nome AS nvarchar(255)) COLLATE Latin1_General_BIN AS nome
FROM usuarios'

E depois, colocar no PHP a função ‘uft8_encode();’ na hora de exibir os dados.

<?php
    echo utf8_encode($bd->nome);
?>

Pra quem nunca mexeu com SQL Server e achar estranho, eu digo SIM, existe um tipo de dado chamado ‘nvarchar’, com esse ‘N’ na frente mesmo. ;D

Então é isso, a solução foi essa e funcionou perfeitamente.

Um grande abraço, pessoal!!

Resolvendo erro ‘411 Length Required’ em requisições Ajax com jQuery

Olá pessoal, quanto tempo, né?! Pois é, abandonei meu blog, mas vou voltar!

Hoje passei por um ‘problema’ novo na empresa onde trabalho. Numa página que faz uma requisição Ajax com jQuery, no Firefox 3.1, a requisição estava retornando erro ‘411 Length Required’. Esse erro é retornado pelo browser quando em uma requisição HTTP não é retornado o tamanho do resultado, o que em alguns casos, pode fazer com que o browser não consiga calcular o tempo de download da página, por exemplo. Ao que me pareceu, o Firefox 3.5 sabe tratar isso, porém, o 3.1 não. Não testei no Chrome, IE, Opera, etc, mas creio que pelo menos o IE não sabe tratar isso também.

Normalmente, esse erro é obtido em requisições Ajax. Nesse post não vou entrar em detalhes sobre como especificar o tamanho de uma requisição no cabeçalho de uma página com Ajax puro, vou pular diretamente para jQuery, que foi onde tive esse ‘problema’ hoje.

Uma requisição Ajax simples em jQuery (depois vou criar um post sobre como criar requisições Ajax com jQuery), funciona assim:

$.ajax({
    type : 'POST',
    url : './pagina.php',
    success : function(data){
        alert(data);
    }
});

Essa requisição simplesmente ‘chama’ o conteúdo da página ‘pagina.php’ e executa um ‘alert’ no retorno. O Firefox 3.5, como coloquei acima, executa esse script normalmente, pegando o retorno ‘data’ e colocando no ‘alert’, porém, no Firefox 3.1, o script não é executado e o erro ‘411 Length Required’ é retornado.

Esse erro é retornado, pelo fato de nenhum parâmetro estar sendo enviado para a página ‘pagina.php’, para resolvermos esse problema no jQuery, basta colocarmos a linha:


data : {}

Ficando assim:

$.ajax({
    type : 'POST',
    url : './pagina.php',
    data : {},
    success : function(data){
        alert(data);
    }
});

Com apenas isso, o Firefox 3.1 e outros browsers que não interpretam o tamanho da requisição quando não é enviado nenhum parâmetro para a página de destino, continuam executando o script normalmente.

Espero que tenha ajudado.
Um abraço e uma ótima semana! =]

Preparem o seu celular para os QRCodes

Não sei se vocês perceberam, mas sou apaixonado por QRCodes. Mas afinal, o que seriam esses tal QRCodes? Navegando por aí na internet, procurando algo sobre eles, achei uma matéria muito interessante e resolvi postar aqui no blog para um maior entendimento do público.
E como o título do post diz, se você está antenado nas coisas que estão acontecendo em BH, prepare seu celular!

Estampado em revistas, crachás, obras de arte e até nas lápides de cemitério, os códigos 2D trazem um jeito novo de acessar informações no celular!

QRCode
QRCode

Na camiseta, no site e até na caneca do professor Eric Eroi Messa, de 32 anos, está estampado um ícone composto por vários quadradinhos, o QR Code. Para decifrar esse código bidimensional, basta aproximar a câmera do celular e fotografar o símbolo. O que você vai encontrar lá? O endereço do blog dele, o e-code. “O QR Code acaba atiçando a curiosidade das pessoas”, diz Messa. O aumento do número de smartphones com câmera no Brasil vem abrindo espaço para o uso de códigos 2D, apresentados em diversos formatos — o mais famoso deles é o QR Code, da sigla Quick Response.

Além da câmera, o smartphone precisa ter um aplicativo leitor para decifrar o código. Por isso, não é qualquer celular com câmera que pode ler o QR Code. É necessário também que o aparelho rode um sistema operacional que permita a instalação do software.

Não há números oficiais sobre o total de smartphones compatíveis com o QR Code no país. Mas uma estimativa da gaúcha Trevisan Tecnologia, que desenvolve soluções usando o código, dá uma pista. A empresa calcula o número em 40 milhões de aparelhos no Brasil. “Até agora, o uso da tecnologia era focado mais em aplicações corporativas, como o controle de logística”, diz Alexandre Trevisan, sócio da empresa. Atualmente, o público é bem mais abrangente: o código 2D está em campanhas de publicidade, obras de arte e até em crachás de funcionários.

Os QR Codes ganham pontos em relação ao tradicional código de barras, aquele usado nos supermercados por exemplo, pois guardam mais informações e são lidos com mais facilidade. Como comparação, o código convencional permite incluir apenas 13 dígitos numéricos, contra 7089 caracteres no QR Code. Há ainda a vantagem de poder usar caracteres alfanuméricos — nesse caso são 4296 caracteres. A leitura é possível até em casos em que o símbolo estiver sujo ou apagado, pois há uma tecnologia de correção de erros. Para seus alunos do curso de publicidade e propaganda da faculdade Faap, Eric Eroi Messa propõe a adoção da tecnologia nos trabalhos. “É uma ponte entre o meio impresso e o digital, que abre espaço para a criação publicitária.

No jornal A Tarde, de Salvador (BA), o QR Code é usado diariamente para complementar o conteúdo do veículo impresso. Quando a reportagem fala de um show ou filme, por exemplo, o código dá acesso a um texto com a programação. Nesse caso, o usuário do celular não paga pelo tráfego de dados. Ao acessar um link e clicar nele, o leitor paga à operadora a tarifa pelo acesso à web. Nas notícias de futebol, o jornal publica códigos que levam para o site com vídeos dos gols. “O preço do tráfego de dados ainda é um obstáculo a esse tipo de serviço”, diz Ana Carolina Casais, coordenadora de novos negócios do grupo A Tarde.

Mania japonesa

O produtor musical Fernando Mello, mais conhecido como Maestro Billy, de 37 anos, publica um QR Code no canto do seu blog, sugerindo a música da semana, para divulgar o trabalho de amigos. Billy teve a idéia de adotar a tecnologia em janeiro, quando estava viajando pelo Japão, país onde foi criada a tecnologia, em 1994. “Lá, o QR Code é bem difundido, presente nos cartões de visita, em pôsteres de shows, nas embalagens de remédios.” E, acredite se quiser, até no cemitério tem QR Code. A fabricante japonesa de lápides Ishi no Koe usa a tecnologia para dar acesso a um site com a ficha do falecido.

Na empresa Fivecom, em Vila Velha, no Espírito Santo, os 30 funcionários têm o código QR com seus contatos estampado no crachá. “É prático, pois a pessoa recebe no celular um arquivo no formato CSV, com informações que são sincronizadas com o Exchange e o Notes”, diz Eustáquio Martins, diretor de novos negócios da empresa.

Em breve, o QR Code também será usado em cinemas e restaurantes brasileiros. Quem compra o ingresso para as sessões do Cinemark pela internet já recebe pelo celular uma mensagem com o código. “Diversas salas de cinema em São Paulo contarão com máquinas capazes de ler o ingresso digital“, segundo Solange Almeida, diretora de tecnologia do Cinemark. Nesse caso, não é preciso nem ter câmera, o telefone serve apenas como um substituto ao tíquete de papel. “Essa solução atende a 80% dos celulares, que não precisam ter uma tela de alta resolução, pois o sistema lê a informação com mais facilidade”, diz.

Já está em teste um sistema que permitirá usar o leitor de QR Code do celular para pagar a conta do restaurante. Ele poderá ser adotado por estabelecimentos que usam o popular software Colibri, segundo Carlos Teixeira, sócio da Ideias do Futuro, empresa que desenvolveu a tecnologia. “No QR Code dá para colocar a referência inteira do atendimento de uma mesa”, diz. Outra solução que a empresa está testando é a Música Flash Click, que permite comprar uma faixa pelo celular, clicando em um código QR.

Até nas exposições de arte o QR Code já ganhou espaço. Em Viena, na Áustria, um código 2D foi publicado no pôster de divulgação da mostra A Vênus de Willendorf, em agosto. Quem clicava, chegava a um link para um game da estátua. A artista brasileira Martha Gabriel irá apresentar em maio, no evento e-Poetry, em Barcelona, na Espanha, sua obra Rosa Sensível. Entusiasmada com a nova tecnologia, ela montou uma rosa dos ventos com QR Codes. “A intenção é navegar nos sentimentos das pessoas por meio de uma poética codificada de tags”, diz.

Instale para ler o código

iPHONE
Modelo: iPhone 3G, da Apple
Aplicativo: 2D Sense, na App Store

ANDROID
Modelo: G1, da HTC
Aplicativo: Barcode Scanner, na Android Market

SYMBIAN
Modelo: N95, da Nokia
Aplicativo: Quickmark

WINDOWS MOBILE
Modelo: Diamond, da HTC
Aplicativo: i-nigma

BLACKBERRY
Modelo: BlackBerry Bold, da RIM
Aplicativo: Beetagg

CELULARES COM SUPORTE A JAVA
Aplicativo: Kaywa Reader

Faça seu QR Code

Nada mais fácil do que criar seu próprio QR Code. Basta acessar um serviço online e digitar o texto, informações ou URL que serão inseridos no código. Confira alguns sites que fazem o QR Code e outros tipos de códigos 2D, testados pelo INFOLAB:

BeeTagg
generator.beetagg.com
Códigos do tipo QRCode, Datamatrix e BeeTagg

SnapMaze
www.snapmaze.com
Permite fazer QR Codes coloridos

Nokia Mobile Codes
mobilecodes.nokia.com
Opções de código sem três tamanhos

Kaywa
qrcode.kaywa.com/
Crie QRCodes de vários tipos

Matéria original em INFO Professional

PHP x Ruby on Rails: quem vence o duelo das linguagens?

O blog Bitcetera apontou 10 razões que mostram como o PHP ainda é melhor do que o Rails. Você concorda?

O mundo da tecnologia é repleto de duelos: o mais emblemático deles é o PC x Mac. Há outros, no entanto, que merecem ser lembrados: Linux e Microsoft; Oracle e SAP, Blu-ray e HD-DVD (que jogou a toalha) e, no terreno do desenvolvimento, o Ruby on Rails versus o PHP. Mas será que há realmente alguma linguagem que seja melhor?

Há algum tempo, Gregg e Jason formaram uma dupla e gravaram uma série de vídeos falando sobre a superioridade do Ruby on Rails em relação ao PHP. Cada um deles era uma linguagem e o cara do Rails acabava indo para praia enquanto o do PHP tentava trocar o banco de dados. A ideia era mostrar como o Ruby, rodando no framework Rails, era muito mais rápido que o PHP.

O blog Bitcetera, no entanto, apontou 10 razões que mostram como o PHP ainda é melhor do que o Rails, abusando da ironia e do humor. “Muitas pessoas morrem todos os anos nas praias, enquanto o risco de cair morto na mesa do escritório é próximo de zero. De fato, dirigir para o trabalho e outras coisas que um programador faz em seu tempo livre são muito mais perigosas do que trabalhar num código e, por mais tempo que leve, é melhor para a sua integridade”, diz o post.

Numa outra análise muito aprofundada, os ‘defensores’ do PHP lembram que um código enxuto não paga as contas. “A menos que você esteja trabalhando num projeto próprio, um código enxuto vai fazer com que o seu salário também dê uma enxugada”, afirma o blog. Eles explicam: são menos horas copiando e colando, menos hora fixando o mesmo erro em dez diferentes linhas e menos tempo para encontrar bugs. Tempo é igual a dinheiro quando se trabalha por hora.

Para ver as 10 razões que mostram como o PHP ainda é melhor do que o Rails acesse o blog Bitcetera. Já um o vídeo do PHP versus Ruby on rails está no Youtube.

Fonte: Info Professional

Criando ‘snippets’ no ‘Zend Studio for Eclipse 6’

Olá pessoal, essa noite, conversando com o Breno (@brenowd), ele veio me perguntar como funcionam os ‘snippets’ no Zend Studio.

Pra quem não sabe, ‘snippets’ são templates, ou seja, partes de códigos prontas para agilizarmos nosso trabalho. Na minha opinião, snippets nos deixa um pouco preguiçosos, mas dependendo, realmente nos quebram um galhão! Hehehe..

Bem, o Breno estava acostumado a usar o Dreamweaver, e queria passar a usar o Zend, e estava querendo criar um snippet para um SELECT de uma query MySQL. Então, mãos à obra.

Para criar um snippet no Zend Studio for Eclipse 6, vamos no menu Window > Preferences:

Window > Preferences

Na janela que abre, no campo de pesquisa, digite snippet, logo em seguida em PHP > Templates:

captura_de_tela-3png

Vou dar o exemplo aqui, da criação de um snippet de uma query em MySQL, um SELECT pra ser mais preciso. Clicando em New, temos essa tela:

captura_de_tela-4pngEm ‘name’ você coloca uma palavra para identificar o snippet que está criando, e ao mesmo tempo, a palavra que vai iniciar seu snippet. Em Context é o contexto da linguagem, PHP, PHPDoc ou New PHP (não me pergunte o que é New PHP), e em Pattern, o padrão do nosso snippet. Coloquei assim:

SELECT {$campos} FROM {$tabela};

Onde ‘{$campos}’ e ‘{$tabela}’ são, simplesmente, onde você quer que o cursos de posicione quando você acionar o snippet. O cursor ficará com o ‘{$campos}’ selecionado primeiro, e depois que você digitar qualquer coisa e der tab, ele pulará diretamente para o ‘{$tabela}’. Nesse print, esqueci de colocar o ‘{$END}’ que é onde você quer que o cursor pare depois que der o último tab:

captura_de_tela-6png

Na imagem anterior, mostro como usar o snippet dentro da função ‘mysql_query’, por exemplo. E o snippet é acionado pelo ‘name’, ao digitar, no meu caso, ‘select’ e teclar ctrl+espaço:

captura_de_tela-5png

Então, esse é o meu tutorial sobre snippets. Espero que sirva para alguém! =D

1º Encontro do PHP MG

O 1º Encontro PHP-MG, que será realizado no dia 25/04/2009, será um evento focado no mercado de desenvolvimento web, proporcionando aos participantes o contato interpessoal e o conhecimento das melhores práticas e últimas novidades e tendências, no que se diz respeito à tecnologia.

O evento visa propiciar aos participantes uma oportunidade inédita no estado, de troca de conhecimentos e networking entre os profissionais mineiros, através de palestras cobrindo os seguintes temas:

  1. Produtividade e agilidade;
  2. Crescimento e utilização do PHP em projetos de grande porte;
  3. Novas tendências e tecnologias;
  4. Segurança e boas práticas;
  5. Desenvolvimento em camadas através de frameworks.

Pretendemos com essa realização, fortalecer a comunidade mineira de desenvolvedores PHP, e divulgar para todo o estado, o potencial dos profissionais da região.

Pré-inscrição

Realize aqui a sua pré-inscrição para o 1º Encontro do PHP MG.

Patrocínio Ouro

Hostnet - Hospedagem de sites PHPrime Training - Especializada em curso de PHP

URL’s Amigáveis

Ando vendo por aí, muitas coisas sobre URL’s amigáveis.

Uma URL amigável, é aquela que só de ‘bater o olho’ você já sabe do que se trata, como a URL deste post:

htp://lucasmezencio.com/2008/08/12/urls-amigaveis

Com isso, você já sabe que se trata de um post do ano de 2008, do mês de agosto, do dia 12, que se chama ‘url-amigaveis’.

Eu nunca fui muito a favor desse tipo de URL pelo fato de às vezes, na minha faculdade e meu antigo trabalho, eu tentar acessar algumas páginas e não conseguir, tais como:

http://forumseilaoque.com/programacao/php/topicos/funcoes-legais

Na minha faculdade, por exemplo, eu não conseguiria acessar essa página pelo fato de, no meio da URL conter a seguinte combinação de letras: ‘(…)php/toPICos/func(…)’. O proxy da minha faculdade, barra essa URL por achar que se trata de uma palavra pornográfica (isso mesmo gente, PICA).

Com essa idéia, meu blog não possuia as tais URL’s amigáveis. Mas, visando que, realmente a forma de entender o que se passa em uma URL enviada por um amigo ou conhecido seu, fica muito melhor, resolvi mudar, a partir de hoje, a maneira de mostrar URL’s no meu blog.

Espero que tenham gostado! 😛

Abraços!

Como um programador mata um Dragão???

Java
Chega, encontra o dragão. Desenvolve um framework para aniquilamento
de dragões em múltiplas camadas.
Escreve vários artigos sobre o framework, mas não mata o dragão.

.NET
Chega, olha a idéia do Javanês e a copia, tenta matar o dragão, mas é
comido pelo réptil.

ASP
Os componentes necessários para levantar a espada são proprietários e
caros. Outros tantos componentes proprietários para achar a
localização do dragão, e mais outros tantos a localização da
princesa. Chama então seu amigo programador de PHP.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete,
degola o dragão. Encontra a princesa, mas a ignora para ver os
últimos checkins no cvs do kernel do linux.

C++
Cria um canivete básico e vai juntando funcionalidades até ter uma
espada complexa que apenas ele consegue entender … Mata o dragão,
mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragão, pensa que tá velho demais para conseguir matar
um bicho daquele tamanho e pegar a princesa e, então, vai embora de
volta ao seu
mundinho.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de
dragão… Chegando lá descobre que o programa só aceita lagartixas
como entrada.

VB
Monta uma arma de destruição de dragões a partir de vários
componentes, parte pro pau pra cima do dragão e, na hora H, descobre
que a espada só funciona
durante noites chuvosas…

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N
relacionamentos de complexidade ternária, dados em 3 dimensões, OLAP,
demora 15 anos para processar a informação. Enquanto isso a princesa
virou lésbica.

PHP ( eu me encaixo aqui? ah nao! 😛 )
Pesquisa bancos de scripts e acha as classes de construção de espada,
manuseio da espada, localização da princesa e dragão. Remenda tudo e
coloca umas firúlas próprias.
Mata o dragão e casa com a princesa. Como tudo foi feito com
gambiarras, o dragão um dia vai ressuscitar e comer os dois.

Ruby
Chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai
enfrentar o dragão mostra um videozinho dele matando um dragão … O
dragão come ele de tédio.

Smalltalk
Chega, analisa o dragão e a princesa, vira as costas e vai embora,
pois eles são muito inferiores.

ASSEMBLY
Acha que está fazendo o mais certo e enxuto, porém troca um A por um
D, mata a princesa e transa com o dragão.

Shell
Cria uma arma poderosa para matar os dragões, mas na hora H, não se
lembra como usá-la.

Shell (2)
O cara chega no dragão com um script de 2 linhas que mata, corta,
stripa, pica em pedacinhos e empalha o bicho, mas na hora que ele
roda, o script aumenta,
engorda, enfurece e coloca álcool no fogo do dragão.

Fortran
Chega, desenvolve uma solução com 45000 linhas de código, mata o
dragão e vai ao encontro da princesa …
mas esta o chama de tiuzinho e sai correndo atrás do programador java
que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bonitinho e
funciona, mas por dentro está tudo remendado. Quando ele vai executar
o aniquilador de
dragões lembra que esqueceu de indexar os DBF’s.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o
dragão, cantar a princesa, carregar a espada para memória, moer o
dragão, limpar a sujeira, lascar leite condensado com morangos na
princesa gostosa, transar com a princesa, tomar banho, ligar o carro,
colocar gasolina e voltar pra casa. Na hora de rodar recebe um “Bound
Error: Array Access” e o dragão come ele com farinha.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre
o processo de se matar um dragão genérico, desenvolve um fluxograma
super complexo para libertar a princesa e se casar com ela, convence
o dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao
executar o processo ele estima o esforço (usando FPAs) e o tamanho do
estrago que isso vai causar, consegue o aval do papa, do Buda e do
Raul Seixas para o plano, e então compra 2 bombas nucleares, 45
canhões, 1 porta aviões, contrata 300 homens armados até os dentes,
quando na verdade necessitaria apenas da espada que estava na sua mão
o tempo todo.

ELPI – Encontro Locaweb de Profissionais da Internet [COMPLETO]

Pois é pessoal, duas semanas depois (!!!) e só hoje tive tempo para terminar esse post!
Como vocês podem ver, eu copiei o artigo “antigo” e agora vou colocá-lo “completo” para vocês.

É hoje!!

Mal mal cheguei e a VeriSign já me deu uma camisa com o slogan “queromeu.com” já fazendo propaganda da mais nova campanha deles: Meu negócio é .com”. Pelo que entendi, a campanha pretende chamar as pessoas que tem seu .com para contar a história do seu .com:

“Meu negócio é .com” é o novo tema da campanha publicitária da VeriSign.
E se você tem um site com domínio .com, esta é a sua oportunidade de divulgar para todo mundo.
Envie um e-mail ou vídeo para depoimento[em]queromeu[ponto]com, contando quais as vantagens de ter um site com domínio.com e como isso contribuiu para o sucesso dos seus negócios.
Seu depoimento será divulgado no site www.queromeu.com a partir de julho. Participe.

Esse é o folder que veio com a camisa. Interessante a idéia, mas o que falar?:

– Ah! Eu tenho meu lucasmezencio.com há tantos anos e gosto muito dele!

Sei lá… Não gostei muito da idéia, mas vamos ver!

Palestra do Gilberto Maltner (Presitente da Locaweb), Tendências do Mercado na Internet

1. Amadurecimento de softwartes OpenSource
2. API’s
3. Web Multimodal
4. Novas linguagens e frameworks de desenvolvimento

A palestra já começa com um filminho de uma retrospectiva desde 1998, muito interessante. Logo após isso ele começa uma palestra/aula de Ruby on Rails criando um blog em menos de 3min!!! Claro, com alguns errinhos, mas ele criou!!! E funcionou! Muito interessante para uma boa parte dos espectadores, para outros, nada feito, todo mundo com cara de sono.
Códigos! Foi assim que começou essa palestra e o evento em si: muitos códigos! Como o nome do evento já diz: Encontro Locaweb de Profissionais da Internet, ou seja, na minha opinião, iriam muitos programadores, mas para minha surpresa, foram muitas pessoas que não eram programadores.
Criando um blog guestbook em Ruby on Rails ele já começa falando: “APRENDAM RUBY!”
Nem comento… Sempre quis aprender Ruby, mas a falta de tempo acaba comigo!

1. SugarCRM, Ringside, Codeplex.com (Micro$oft), freshmeat.net:
Até a Micro$oft entrou na era do opensource! Pois é! O “beta-eterno” está por aí! E veio pra ficar!
2. API’s, Facebook API, dev.live.com (Micro$oft de novo!), OpenID:
Pois é, o Google já lançou o OpenSocial, agora vem a Micro$oft! Vai entender! Mas é isso mesmo, não tem jeito, se não é aberto, não é customizável, se não é customizável, o usuário não quer.
3. Crescimento contínuo, alta disponibilidade, recursos garantidos, economia de escala, gerenciamento de configuração:
“Beta-eterno” de novo -> crescimento contínuo.
O resto é como falado no #2 -> customização.
4. Saber HTML/CSS, desenvolvedor multimodal:
Você é desenvolvedor web? Pois então trate de saber HTML e CSS! Isso é básico e ESSENCIAL!
Desenvolvedor multimodal -> RSS, Ajax, Rest, Flash, iPhone………..
jQuery? Rails? CodeIgniter? -> Não importa, o que importa é saber!

Agilemanifesto.com
-> o cliente sempre tem a razão!
-> individuals and interactions
-> working software
-> customer collaboration
-> responding to change

Muita coisa sobre MVC, muita mesmo! Realmente, se for parar pra pensar, MVC é muito bom! Principalmente quando se trata de desenvolvimento de softwares, mais uma ves o Ruby entra no meio: Rails é todo em MVC. E uma ótima pedida também para o desenvolvimento de softwares é o Scrum, uma maneira de orientar o projeto de desenvolvimento simples e completa. Vale a pena saber sobre os dois!

E mais uma vez ele diz: USE Ruby on Rails!!!

Palestra do Elcio (Diretor da Visie Padrões Web), Produtividade: Padrões web, frameworks, jQuery, controle de versão e outras ferramentas

1 -> Escreva menos
2 -> Escreva uma vez só
3 -> Escreva rápido!!!

A palestra já começa boa! jQuery na alma do Elcio! Ele cria um menu mostra/esconde, em menos de 30seg! Duvidam? É só procurar na internet sobre o evento que vão ver que eu não estou mentindo! Ele tem a manha em jQuery!

Dados X Algoritmos

Não escreva códigos, mas sim dados!
Ele mostra muitos códigos em python, css, html, javascript, e… LASAGNA???
Pois é! Lasagna, o mais novo framework feito pela Visie, mas calma, só eles possuem o tal, é claro. O Lasagna tem tudo! Até controle de versão! Putzzzz, tomara que eles disponibilizem isso pra gente depois! 😛

Controle de versão, o Elcio falou muito sobre controle de versão, e ainda friza: usem subversion.

Teste seu software!
Meça seu software!

Na minha opinião, a melhor palestra do evento! Como a palestra do Luli no Interminas, só quem tava lá mesmo pra saber como foi a palestra.

Palestra da Micro$oft, “Fator Uau”

Propaganda, propaganda, propaganda…
E mais propaganda…

ALMOÇO CONSTRUTIVO COM ELCIO

Pois então… Fomos almoçar: Eu, @gutomezencio, @williamtrava e @jonathanpereira (Favo Internet), @nops e o @elcio… Durante a palestra da M$ estávamos combinando de almoçar no Burguer King do Minas Shopping, mas quando chegamos lá cada um foi prum lado diferente! Hehehe… Mas todo mundo ficou na mesma mesa.
Muito bacana o almoço e bastante construtivo. Várias dicas sobre crescimento pessoal e profissional.

Palestra do Google, Desenvolva seus negócios com soluções do Google

Muita coisa sobre Web 2.0, muitos números e dados sobre o crescimento da Web 2.0.
Até então bacana, números não é uma coisa que a maioria das pessoas gosta, mas dependendo do que se fala ($) até que o pessoal não liga muito, então o início da palestra não foi muito bem aceita. Depois dos números, começou uma espécie de propaganda, afinal, o Google É propaganda! Porém, a propaganda do Google é uma coisa bem aceitável, pelo menos pra mim, porque é uma propaganda, digamos assim, construtiva.
O Google sempre faz propagandas dos produtos/serviçoos deles, mas os mesmos são gratuitos! Além de “fazer bem” ao seu negócio! O Google Analytics por exemplo, faz uma análise completa do seu site, desde acessos a tempo de permanência em páginas.
Escritório na web com o Google Docs. Propaganda com o Google AdSense.
Propagandas do Google à parte, gostei da palestra.

Palestra do Gil Giardelli (VP da Adrenax Venture Capital, sócio fundador da Permission Inteligência Digital), WWW x WWD – A Internet Inteligente

O que é sólido, desmancha na rede.
Inovação, SEMPRE! (Luli?)
Novas plataformas para um novo marketing, foco nas colméias, não nas abelhas.
INOVAÇÃO!
Interatividade, colaboração.

WWW x WWD => World Wide Web x World Wide Database

A internet deixou de ser uma “rede”, e hoje é sim, um “banco de dados” gigantesco. Propagandas? Filmes? Novelas??? O que era da televisão, hoje está na internet. Tudo está migrando para a internet.

Infelizmente o resto eu não prestei atenção direito… Estava tratando de “negócios”… Vocês irão saber mais nos próximos posts!