ActaCMS

Posted: 16th agosto 2012 by Ricardo in ActaCMS, Desenvolvimento
Tags: , , , , , , , , , , , ,

Salve!

Recentemente iniciei o desenvolvimento de um projeto um pouco audacioso: estou criando meu próprio gerenciador de conteúdo. Porém, é algo em que trabalho apenas nas horas vagas, sem qualquer ambição, penso nele mais como uma forma de estudo.

Ainda estou planejando e modelando muitas das ideias, algumas já estão bem desenvolvidas e quase na forma que acredito ser a ideal para a proposta do ActaCMS, que é tornar-se um gerenciador de conteúdo simples e extensível, do ponto de vista do desenvolvedor.

Estou construindo toda a ideia do sistema baseado naqueles que considero serem os mais utilizados gerenciadores de conteúdo baseados em PHP da atualidade (WordPress, Joomla e Drupal) e também inspirando-me no gerenciador de conteúdo que desenvolvemos e mantemos na empresa onde trabalho.

Toda a estrutura do sistema segue o modelo MVC, e para tal estou utilizando Zend Framework 1 e Doctrine 1.2.4.

UPDATE!
Com a Zend Framework 2 stable lançada estou migrando o projeto para ZF 2 e Doctrine 2. Com isso recomenda-se a atualização do PHP para 3.4 ou superior.

Se você estiver interessado em acompanhar o andamento do desenvolvimento do projeto você pode ficar de olho no repositório do projeto e inclusive contribuir com as suas ideias e sugestões.

Projeto no GitHub
https://github.com/xangelbr/actacms

Leia o restante deste artigo »

Salve,

Bom pessoal, fiz aqui um pequeno levantamento de razões para você não utilizar Flash em seu website. Eu já havia falado sobre isso em um post anterior, mas é sempre bom lembrar.

Problemas de acessibilidade

  • O flash não possui de recursos que auxiliam os portadores de necessidades especiais;
  • Se uma pessoa possuí problemas de coordenação motora, certamente navegar em um site feito em flash, onde o uso do mouse é quase obrigatório pode ser complicado;
  • Também não permite a utilização de softwares que realizam a leitura de texto para deficientes visuais, ou aumento do tamanho das fontes.

Indexabilidade de conteúdo

Os mecanismos de busca não relacionam corretamente o conteúdo das páginas em flash.

Um exemplo de indexabilidade ruim
Um exemplo de indexabilidade bom

Repare como as páginas ficaram faceis de serem encontradas no segundo exemplo, enquando no primeiro exemplo, nós encontramos pedaços do site.

Desempenho

Por mais que hoje tenhamos computadores e celulares com grande poder de processamento disponíveis no mercado, precisamos lembrar, que boa parte da população não tem acesso a estes dispositivos, e mesmo quem tem não quer ocupar os recursos do seu sistema para ago tão simples como ‘visitar um site’.

A experiência de visitar um site deve ser agradável para o usuário, tanto em acessibilidade, como em desempenho. Você deve concordar que o visitante do seu site, não irá utilizar o computador exclusivamente para acessar o seu site, ele provavelmente estará rodando diversos programas ao mesmo tempo, e visitando diversos sites, desta forma já estará ocupando uma quantidade considerável de recursos do seu sistema.

Incompatibilidade com dispositivos móveis

A maioria dos dispositivos móveis tem problemas com flash, isso quando tem suporte a ele. Geralmente os plugins para dispositivos móveis, quando existentes costumam frequentemente travar, ou são incompativeis com diversos recursos do flash.

Outra tarefa complicada para os dispositivos móveis é manter o plugin do flash sempre atualizado, processo que provavelmente boa parte dos usuários não sabe realizar.

Manutenção

Sites em flash são difíceis de manter, normalmente aquele que comprou o site, fica preso eternamente a pessoa que o desenvolveu, pois a pessoa que o desenvolve ao entregar o projeto não entrega o “código fonte” do projeto, e sim apenas a versão “executável”.

Então, caso um dia você queira alterar algo no seu site, terá de recorrer a pessoa que o fez, e torcer para que esta pessoa seja organizada o suficiente para ter em seus backups o “código fonte” do projeto para realizar a alteração, e novamente torcer para que este projeto seja compatível com a versão atual do flash.

Como alguns de vocês já devem ter tomado conhecimento, o Senador Valdir Raupp, é autor de um projeto de lei que criminaliza “o ato de fabricar, importar, distribuir, manter em depósito ou comercializar jogos de videogames ofensivos aos costumes, às tradições dos povos, aos seus cultos, credos, religiões e símbolos”.

Se você ainda não conhece, clique aqui e leia.

Os jogos hoje, já possuem, tal como filmes, uma indicação de classificação indicativa aplicada pelo Ministério da Justiça. Desta forma, cabe a cada cidadão optar pelo consumo ou não de determinado conteúdo.

Além de ser um retrocesso nos avanços que recentemente obtivemos com relação a redução de impostos sobre jogos; esta lei acabará por ferir um dos mercados que mais crescem hoje no Brasil. Só para colocar em números:

Em 2011 eramos 35 milhões de jogadores, no Brasil. Dentre os quais 47% gastaram dinheiro com jogos.
A estimativa de lucro do mercado de jogos para 2011 foi de 2 bilhões de dólares.

Fonte: http://www.atrativa.com.br/pesquisa-mercado-jogos

Porém hoje o Brasil não é apenas um consumidor de jogos, mas também um produtor. Nós produzimos e vendemos jogos para o mercado interno e externo. Além obviamente dos consoles que aqui são fabricados.
O mais interessante é que esse projeto de lei vai exatamente contra uma das políticas do próprio governo, que em 2011, através do Ministro Aloizo Mercadante anunciou que o Brasil teria uma política de incentivo agressiva para o mercado de produção de jogos.
Vale a pena pensar: De que forma esse projeto de lei impactaria na economia do nosso país?

Eu sinto que o Brasil está voltando ao tempo da censura.
Mas a pior censura possível, uma censura hipócrita, de um falso moralismo, que ficou impregnado na alma dos Brasileiros.

Desta forma para representar minha indiganação resolvi fazer esta publicação, e não somente isto, encaminhei ao Senadores que representam o estado onde vivo um e-mail questionando sobre a sua posição perante este projeto.

Se você desejar fazer o mesmo, basta ir até a página do Senado Federal, lá você tem o e-mail de todos os Senadores, e não esqueça que TODOS eles estão lá para representar a sua opinião.

Para facilitar a vida, pois conheço a preguiça alheia, deixo aqui um modelo de e-mail, criado pelo meu amigo Otávio, para que você possa utilizar:

Excelentíssimo Sr. Senador,

Gostaria de saber qual a posição do senhor com relação ao projeto de lei 170/06, referente a fabricação e comercialização de jogos “ofensivos”.

Acho que essa é uma intromissão desnecessária do estado no direito de escolha do cidadão e completamente infundada, visto que os jogos já tem uma classificação indicativa aplicada pelo Ministério da Justiça.

Atenciosamente, <seu-nome-aqui>

Valeu pessoal. Até a próxima…

Legal ou Ilegal?

Posted: 26th janeiro 2012 by Ricardo in Internet, Tecnologia
Tags: , , , , , , , ,

Nas ultimas semanas a internet tem sofrido bastante com ações do FBI que retiraram do ‘ar’ muitos sites de compartilhamento de arquivos. O mundo inteiro se mobilizou contra a SOPA e a PIPA que queriam impor algumas regras abusivas, e até o momento obtivemos resultados, apesar de não saber até quando.

Até onde tudo isso é certo ou errado? É difícil dizer. Pois nossa moralidade dentro do mundo virtual, muitas vezes é diferente da que aplicamos fora dos universo de bits e bytes. Afinal, não existe realmente muito controle neste mundo, e isso é bom e ruim.

É bom por que muitas vezes podemos expressar diversas ideias, sem nos preocuparmos com censura, ou preconceito, conseguimos manter um certo nível de anonimato. E ao mesmo tempo isto é ruim, pois acabamos vivendo em um mundo onde a moral nele aplicada é diferente da que aplicamos na vida real, e isso nos dá liberdade para cometer abusos.

Sempre achei interessante aquela frase que diz que ‘a sua liberdade vai até onde começa a do outro’, ou seja, o velho e bom ‘bom senso’. Certo! Eu sei que muitas vezes não o tenho, não seja hipócrita, você também não tem. É da nossa natureza, mas também somos racionais, acredite, apesar de tudo apontar o contrário, nos somos capazes de analisar os fatos e pensar antes de agir.

Qual é a diferença entre você baixar um filme ou roubar um DVD/Blu-ray em uma loja? Em teoria, nenhuma. Na prática? Você não será preso por baixar o filme.

Agora, de quem é a culpa por esse universo ilegal?
Do governo que cobra impostos abusivos?
Das empresas que cobram preços absurdos?
É bom lembrar que um erro não justifica o outro.

Leia o restante deste artigo »

PHP: Aspas simples vs Apas duplas

Posted: 4th janeiro 2012 by Ricardo in Desenvolvimento, PHP
Tags: , , , ,

Vejo por aí muitos código, de diversos programadores, alguns mais experientes, outros nem tanto. Indiferentemente disto continuo vendo algumas coisas que realmente me deixam intrigado, como é o caso da aspas. E é sobre isto que gostaria de falar um pouco neste post.

Voltando lá para o nosso amigo C, nós tinhamos uma distição bastante clara do uso de aspas, onde usavamos aspas simples para chars e aspas duplas para strings. Pois bem, isso nunca foi realmente um problema e, na verdade, até facilitava a vida.

Já no PHP, nós não temos esta distinção, aspas são aspas, sendo simples ou duplas o resultado será o mesmo.

Calma, não é bem assim. Veja bem, no PHP nós não precisamos criar uma variável e dizer que ela será eternamente de um tipo, podemos a qualquer momento transforma-la em inteiro, char, string, objeto, conforme a nossa vontade e necessidade, simplesmente atribuíndo a ela um novo valor. Mas não é sobre isto que eu quero falar, não agora.

Leia o restante deste artigo »

Vou deixar aqui um vídeo que achei muito interessante; Espero que seja útil para você e sua empresa.


Padrões para Introduzir Novas Ideias from Locaweb on Vimeo.

 

Eu acho que vocês já repararam que as coisas estão meio agitadas por aqui, por isto a falta de tempo para fazer alguma publicação que preste. Fato é que recentemente eu, em parceria com alguns amigos, demos inicio a algo que realmente tem me dado um enorme prazer e no qual tenho dedicado boa parte do meu tempo.

Este ano consegui dar início a um sonho, que esta caminhando com passos tímidos, mas firmes, a este sonho dei o nome Substancial Games. Nosso principal objetivo é desenvolver jogos para dispositivos móveis, aproveitando o crescimento deste mercado que cada vez mais deverá crescer.

Atualmente estamos trabalhando no nosso primeiro projeto, um puzzle com elementos de aventura e humor, que acreditamos que irá cativar cada um de vocês.

Se tudo ocorrer como o esperado em Setembro estaremos testando a versão alpha deste projeto e no primeiro semestre do ano que vem o jogo já estará disponível para iOS e Android.

Instalando RTMPDump no Mac OS X 10.6

Posted: 23rd março 2011 by Ricardo in Tecnologia
Tags: , , , , , ,

Salve!

Recentemente tive de instalar o RTMPDump no meu macbook para conseguir baixar alguns vídeos que apenas estavam disponíveis através de streaming, desta forma acabei precisando de instalar o RTMPDump.

Inicialmente encontrei alguns problemas com relação a compilação, pois aparentemente o parâmetro -soname não estava sendo reconhecido pelo compilador (?)…

Após algumas buscas acabei por resolver o problema, apenas substituindo este parâmetro por outro na Makefile… Por este motivo resolvi criar um pacote com o source prontinho para ser compilado.

Para compilar siga os passos abaixo:

1. Baixe o pacote com o código fonte aqui.
2. Abra o ‘Terminal’ e entre na pasta onde você salvou o pacote com o código fonte.
3. Descompacte: tar xzvf rtmpdump-2.3_macos.tgz
4. Entre na pasta criada ao descompactar.
5. Dentro da pasta execute o comando: sudo make install SYS=posix
6. Pronto! Se tudo estiver ocorrido bem você poderá executar o comando: ./rtmpdump

Pronto! Bons downloads.

PS: Em breve em volto com os posts, ok? Estou extremamente ocupado ultimamente, estou preparando um curso de Unity 3D com vídeo aulas para postar aqui.

Unity 3D

Posted: 22nd novembro 2010 by Ricardo in Desenvolvimento, Unity 3D
Tags: , , , , , ,

Até o presente momento, eu apenas abordei o desenvolvimento Web focado principalmente em PHP; mas o blog tem como objetivo também abordar outros assuntos, outras das minhas paixões no mundo do desenvolvimento.

Eu desde sempre fui um entusiasta quando o assunto é desenvolvimento de jogos, comecei cedo, com Allegro usando o bom e velho C, e logo fui passando através de várias linguagens e bibliotecas; e finalmente XNA e Unity 3D.

Por este motivo estou preparando alguns artigos sobre desenvolvimento de jogos, utilizando a Unity 3D, obviamente eu vou tentar focar sempre na área de programação, pois é a minha área. Espero que todos entendam caso os modelos, ou qualidade gráfica dos meus exemplos sejam precários.

Logo é apenas aguardar, em breve vocês poderão acompanhar aqui uma série de tutoriais sobre esse maravilhoso moto de jogos.

Na publicação anterior eu mostrei algumas dicas, para você melhorar o desempenho da sua aplicação PHP. Porém não mostrei como você pode calcular o tempo de execução dos seus scripts.

Isto as vezes é uma dúvida bem comum entre desenvolvedores iniciantes, porém é algo extremamente simples de ser feito.

<?php
// Iniciamos o "contador"
list($usec, $sec) = explode(' ', microtime());
$script_start = (float) $sec + (float) $usec;

/* SEU CÓDIGO PHP */

// Terminamos o "contador" e exibimos
list($usec, $sec) = explode(' ', microtime());
$script_end = (float) $sec + (float) $usec;
$elapsed_time = round($script_end - $script_start, 5);
// Exibimos uma mensagem
echo 'Elapsed time: ', $elapsed_time, ' secs. Memory usage: ', round(((memory_get_peak_usage(true) / 1024) / 1024), 2), 'Mb';

Eu particularmente possuo uma classe, que faz um controle mais complexo do calculo de tempo de execução, e está diretamente ligada a uma classe de registro de log, desta forma quando alguma execução ultrapassa um tempo pré-definido como “limite máximo” ele registra uma entrada no log, como um “aviso”, desta forma posso encontrar possíveis gargalos em meus sistemas.

Fonte: http://www.tonymarston.net/php-mysql/elapsed-time.html

UPDATED: Adicionei o consumo de memória do script, e corrigi o formato do echo.