Primeira compra no site da Insinuante

January 5, 2012, by David de Almeida Ferreira - No comments yet

AVISO: Amigos comprei no dia 19/12 um ótimo celular (Sony Ericsson Live with Walkman ) no site da insinuante, o preço estava igual ao da americanas a diferença foi de 80 reais (sou assinante uol/clube uol) a compra foi fechada no boleto por R$ 579,10. Um preço muito legal. A previsão de entrega era de 30/12/2011. Chegando dia 02/01 liguei para o atendimento onde fui informado que havia um erro no sistema do site e que o produto tinha prazo máximo de entrega até as 21hs do dia. Caso não fosse entregue eu deveria entrar em contato para solicitar urgência na entrega.
Fiz essa solicitação no dia 03 e 04, recebi o seguinte email então:

“Prezado(a) Cliente,

Informamos que após seu contato com a Central de Relacionamento, foi aberta uma ocorrência junto ao setor responsável por entregas. Em até quatro dias úteis posicionaremos o ocorrido

Desde já agradecemos pela compreensão e por gentileza aguarde nosso retorno

Atenciosamente,”

Porém hoje (05/01/2012) tive a ingrata surpresa, no email:

“Prezado(a) David Ferreira,

Seu produto está retornando ao nosso centro de Distribuição Gentileza nos informe se deseja: Reenvio, Vale Troca no valor total pago para efetuar uma nova compra no site ou Cancelamento do pedido com devido reembolso.

Atenciosamente,

INSINUANTE.COM
Aqui você manda.”

Liguei novamente para o atendimento (entregas e reclamações) onde fui informado que não sabiam o motivo do retorno do produto e que por não possuir mais unidades no estoque não poderiam solicitar novo envio, somente quando o MEU produto retornasse para o estoque.

Resumindo, espero desde o dia 30 a entrega, não houve nenhuma tentativa de entrega estava de plantão em casa aguardando ansioso o meu novo ‘brinquedo’, porém agora vou ter que esperar aparecer algum no estoque, torcer pra que o sistema funcione e mande novamente pra mim, esperar novamente um novo prazo de entrega igual ao original.

E ainda mandam um email com assinatura dizendo “Aqui você manda” é uma palhaçada total. Insinuante/RicardoEletro (A nota fiscal eletrônica veio em nome da ricardo eletro). E ainda botam a IVETE na televisão pra fazer apelo dizendo que é uma loja NORDESTINA que respeita o consumidor NORDESTINO, foi minha primeira compra e última neste site.
Fica parecendo também que foi um modo de garantir a compra, quem pode afirmar que de fato existe este produto em transito? Eu ja tive compra que o produto voltou pra central e imediatamente a empresa mandou voltar (ser feita a entrega) urgente, não levou 12 horas.

Então amigos cuidado com as propagandas.
NÃO VOU DESISTIR DA COMPRA QUERO O QUE PAGUEI! É MEU POR DIREITO!

Favor divulgar a insatisfação de um cliente nordestino com a sua primeira compra online em uma empresa nordestina.

@_RicardoEletro
@Insinuante_

Protocolos:
14618394
14555561
14489163
14618888



Modem 3G no Linux

October 2, 2010, by David de Almeida Ferreira - No comments yet

Blz? Tem alguns meses que contratei um serviço 3G, no caso depois de muita pesquisa pra mim ficou uma ótima relação custo beneficio um Tim Web 3G 300k por R$ 59,90. De fato não é a melhor velocidade, porém  para funcionar como Internet Móvel de Final de semana, no interior do Ceará é razoável ;) não é o tema deste post, por isso vamos pular os detalhes.

Fato quando adquiri o tal plano, foi oferecido um modem 3G Onda[1], achei o máximo já que o mesmo era desbloqueado, porém como eu não entendia nada do assunto e ainda mais para rodar no Linux, comecei a ter alguns causos complicados, por exemplo:

  1. Falta de suporte/driver para Linux;
  2. Detecção de CDROM de drivers para MS-Windows;
  3. Leds fora da padronização do mercado;
  4. Conexão no Linux apenas no modo 2G;

Falta de Suporte/Driver para Linux

Algo  que de fato já meio que me acostume ao longo destes últimos anos como usuário de Linux (Slackware/ArchLinux), pois de fato poucos são os fabricantes de hardware e prestadores de serviço que lembram de seus usuário no Linux, porém graças ao modelo colaborativo do Software Livre, todo hardware que tenho, mesmo que não seja homologado por seu fabricante, existe algo no Linux que os fazem funcionar, no caso do modem o suporte ao mesmo é nativo ao Linux ;)

Detecção de CDROM de drivers para MS-Windows

Ao colocar o modem, inicial o mesmo é detectado como um drive de CDRom, devido um mecanismo de auto instalação para windows, o que pode dificultar um pouco a sua utilização. Porém pesquisando um pouco mais sobre isto, descobri um comando do próprio modem, para desabilitar tal drive virtual, no caso é um comando AT[2]. Para executa-lo no linux basta saber qual o dispositivo correspondente ao modem e como root (sudo/su) executar o seguinte comando:

echo -e "AT+ZCDRUN=9\n\r" > /dev/ttyUSB1

Para ver o que ocorreu você deve também como root executar o comando:

cat /dev/ttyUSB1

Você deverá receber uma mensagem parecida com a seguinte:

OK
Open autorun state result(0:FAIL 1:SUCCESS):1

Feito isso, seu modem não será mais reconhecido como sendo uma unidade de cdrom.

Leds fora da padronização do mercado

Ao utilizar o modem 3G, comecei a ficar com dúvida de qual era minha velocidade conexão, conversando com alguns amigos eles recomendaram olhar a cor do led, a qual geralmente quando AZUL indica modo 3G (HSDPA/UMTS) e VERDE modo 2G (EDGE/GPRS). Porém neste modelo de modem (ou neste fabricante) a cor do led está invertida.

Lembre-se, modem Onda MSA405HS:

  • Led VERDE = 3G (HSDPA/UMTS)
  • Led AZUL = 2G (EDGE/GPRS)

Conexão no Linux apenas no modo 2G

Como citei anteriormente comecei a perceber que só me conectava ao modo 2G, então recorri ao velho modo boot games, a qual é uma instalação dual boot, destinada exclusivamente a jogos ms-windows. Onde havia instalado o discador da TIM, e observei que consegui conexão com o LED VERDE, sendo assim continuei minhas pesquisas e vi que para algumas pessoas os diversos gerenciadores de conexão funcionavam selecionando o modo 3G, não sei dizer se era algo com meu modem ou com as versões dos meus gerenciadores (wvdial, networkmanager), o fato é que todos só conectavam em modo 2G mesmo tentando configurar ou forçar para aceitar somente 3G. Assim os dias foram passados e achei mais alguns comandos AT bem interessantes, os quais configuravam o modem para as preferências de configuração[2], como podem ser vistos abaixo:

Set Operational Mode
AT+ZSNT=0,0,0 (Auto) – Default
AT+ZSNT=1,0,0 GPRS Only
AT+ZSNT=2,0,0 3G Only
AT+ZSNT=0,0,1 GPRS Preferred
AT+ZSNT=0,0,2 3G Preferred

Sendo assim bastava após realizar a conexão em modo 2G, executar como root o comando:

echo -e "AT+ZSNT=2,0,0\n\r" > /dev/ttyUSB1

Que tudo estava resolvido ;)

Porém era algo chato ficar toda hora executando tal comando, foi ai descobri o suporte a scripts do gerenciador de conexões ‘Networkmanager’, o qual executa a cada conexão ou desconexão os scripts localizados no diretório “/etc/NetworkManager/dispatcher.d”, abaixo vai o script que desenvolvi para garantir sempre ter algum tipo de conexão:

#!/bin/sh

export LC_ALL=C
SITE='www.davidferreira.com.br'
if [ "$1" = "ppp0" ]  && [ "$2" = "up" ]
then
    /bin/echo -e "Modo: 3G(HSDPA/UMTS)" > /var/log/modem-3G.log;
        /bin/echo -e "AT+ZSNT=2,0,0\n\r"    > /dev/ttyUSB1;
        /bin/sleep 2
    /bin/ping -c4 $SITE                 > /var/log/modem-3G.ping.log;

    SIZE=$(/bin/du /var/log/modem-3G.ping.log | /bin/cut -c 1);
        if [ $SIZE = "0" ]
    then
        /bin/echo -e "Modo: 3G-2G(Pref 3G)" >> /var/log/modem-3G.log;
                /bin/echo -e "AT+ZSNT=0,0,2\n\r"    > /dev/ttyUSB1;
            /bin/sleep 2
                /bin/ping -c4 $SITE                 > /var/log/modem-3G.ping.log;

        SIZE=$(/bin/du /var/log/modem-3G.ping.log | /bin/cut -c 1);
            if [ $SIZE = "0" ]
        then
                    /bin/echo -e "Modo: 2G(EDGE/GPRS)" >> /var/log/modem-3G.log;
                        /bin/echo -e "AT+ZSNT=1,0,0\n\r"   > /dev/ttyUSB1;
        fi
    fi
fi

Referências:

  1. http://www.ondacommunication.com/site/index.php?page=shop.product_details&dwb=usbmodem&flypage=shop.ondaphone&product_id=112&category_id=3&manufacturer_id=0&option=com_virtuemart&Itemid=21
  2. http://3g-modem.wetpaint.com/page/ZTE+AT-commands


Repositório de Padrões

September 29, 2010, by David de Almeida Ferreira - No comments yet

Durante o SugarLoafPlop2010[1] houve a palestra do prof. Jerffeson (UECE) falando sobre a iniciativa de criação de um repositório[2] de padrões. Em resumo foi apresentada a proposta do repositório de padrões para catalogação dos padrões  publicados nas conferências do SugarLoafPlop,  onde na verdade o repositório funcionará como um grande indexador de conteúdo para localização dos padrões por meio de diversas opções.

Abaixo podemos ver na integra o vídeo da apresentação do repositório ocorrido no dia 25/09/2010 durante o Sugar Loaf Plop 2010.

www.youtube.com/watch?v=_S7T3dbAsV0

www.youtube.com/watch?v=LIJWCPfSTo0

Referências

  1. http://wiki.dcc.ufba.br/SugarLoafPlop/WebHomePt
  2. http://uspr.yolasite.com/


EES – Defesa de Monografia – Catálogo de Padrões para Jogos

June 12, 2010, by David de Almeida Ferreira - No comments yet
A coordenação do curso de Especialização em Engenharia de Software com Ênfase em Padrões de Software da UECE tem o prazer de convidá-lo para a Defesa de Monografia do aluno David de Almeida Ferreira, intitulada “Catálogo de Padrões para Jogos”. A defesa ocorrerá no dia 14/06/2010 (segunda-feira) a partir das 16:00 no prédio da Pós-graduação e Pesquisa em Computação da UECE.

Todos os interessados estão convidados para estarem presentes na ocasião.

Atenciosamente,

A Coordenação

É amigos, agora finalmente estarei dando mais um passo para a conclusão da minha primeira pós graduação, quem tiver o interesse de participar fique a vontade, as restrições que existem são devido a formalidades tradicionais, como por exemplo duração máxima de 30 minutos de apresentação, o que de fato creio ser um tempo muito curto para falar de um trabalho bem extenso, ainda mais que são 5 padrões de projeto a serem apresentados, espero em breve poder oferecer o tema para alguma palestra do GDJCE.

O  resumo do trabalho:

Com o amadurecimento da produção de software, percebemos cada vez mais a aplicação das diretrizes da Engenharia de Software, o que traz reconhecidamente melhores resultados do que os software montados de forma caótica. No universo de desenvolvimento de jogos, podemos perceber, ainda um certo grau de amadorismo em relação a produção de software convencionais, pois poucos são os profissionais e empresas, que conhecem ou aplicam as diretrizes utilizadas no desenvolvimento de softwares, onde termos como metodologia, processo, disciplinas, qualidade, conformidade e boas práticas, fazem parte do dia-a-dia do desenvolvimento, geralmente demonstrando um certo grau de maturidade, permitindo assim um controle maior do que é produzido, como produzido-lo e como averiguar sua conformidade com o esperado. Focando na etapa de programação, ou seja, nas questões arquiteturais e de implementação, podemos observar mais claramente uma ausência quase total de informações ou referências sobre a utilização de Design Patterns em jogos, indo além do código, observa-se a falta de literatura especializada, de congressos e discussões focando no assunto. Com isso em mente estamos propondo um trabalho focando em Design Patterns para Jogos, ou seja, estamos documentando alguns padrões percebidos durante o desenvolvimento de jogos, com o objetivo de auxiliar na resolução de problemas encontrados durante o desenvolvimento, além de estimular a aplicação e catalogação de padrões de projeto focados especificamente em jogos. Com base nesta idéia, partimos para a catalogação inicial de alguns padrões de software, os quais são: 1.Font Mapping 1.1 Intenção Permitir que aplicações multimídias possam escrever informações(textos) na tela para o usuário. 1.2 Motivação Estamos desenvolvendo uma aplicação multimídia como por exemplo um player de vídeo ou um jogo eletrônico, porém necessitamos exibir informações para o usuário, geralmente essas informações são textos composto por caracteres alfa-numéricos, que representam informações sobre o estado do jogo ou do filme. Nestes casos na maioria das vezes desejamos utilizar textos de fontes estilizadas, quer seja pelo seu formato ou pelo estilo utilizado, como por exemplo o uso de sombras, bordas ou degradê. 2.Resource Manager 2.1 Intenção Permitir que uma aplicação gerencie os recursos multimídia necessários para seu funcionamento. 2.2 Motivação Muitas vezes, estamos desenvolvendo uma aplicação ou um jogo eletrônico, que fará uso de recursos externos ao código fonte, como por exemplo: arquivos de imagens, arquivos de vídeos e arquivos de som. Sendo que diversas vezes uma mesma imagem ou som é utilizado por diversos elementos do jogo, como por exemplo: A animação de uma explosão, que contém 6 quadros(imagens), se em um certo momento do jogo, encontramos 7 aviões na tela, teríamos então que ter em memória o equivalente a 42 imagens, apenas para representar a possível explosão dos aviões. Tendo isso como base, observamos que é necessário um gerenciamento de recursos que além de carregar o que for necessário, quando necessário, possa prover o compartilhamento para que diversos elementos do jogo façam uso. 3.Language Manager 3.1 Intenção Permitir que uma aplicação ou jogo, posso suportar múltiplos idiomas. 3.2 Motivação Ao se desenvolver um jogo, uma das primeiras decisões que se toma é a definição de qual será o idioma de seu público alvo, onde geralmente acaba-se optando para que o jogo esteja apenas em um único idioma. Porém com isso eliminamos a possibilidade do mesmo entrar em contato com outros públicos, simplesmente pela barreira da língua. Sendo assim, um jogo em um mundo globalizado, deve permitir ou se adaptar ao idioma nativo de seus jogadores, sem comprometer sua estrutura interna, não sendo aceitável que seja mantido duas ou três versões do mesmo código para gerar versões em português, inglês ou espanhol. 4.AnimaChronos 4.1 Intenção Permitir a criação de animação para jogos, baseado no uso de imagens estáticas. 4.2 Motivação Quando estamos diante de um jogo eletrônico, nossa primeira percepção recaí sobre os gráficos, em principal sobre o movimento hipinótico exercido por eles, ou seja, nosso foco visual é rapidamente atraído para os objetos que se movem na cena, ou seja, as animações. Desta forma é imprescindível ao desenvolvermos um jogo, elaborarmos a capacidade de dar movimento as imagens, fazendo uso extensivo deste recurso conhecido como animação, o qual é o responsável pela completude da vida do personagem e objetos na cena. Tendo isso em mente, necessitamos da capacidade de unir as diversas imagens estáticas de forma padronizada e ordenada para que possamos efetuar as mudanças de quadro de forma controlada, causando o efeito desejado, ou seja, o movimento fluído do personagem ou objeto. 5.Game Struct 5.1 Intenção Organizar e estruturar o funcionamento interno de um jogo eletrônico. 5.2 Motivação Quando pretendemos criar um jogo eletrônico, devemos ter em mente que um jogo é um software altamente especializado, e por consequência, é bem mais complexo que a maioria dos softwares tradicionais, pois possui um alto grau de interação com seu usuário, ou seja, o jogador, ao mesmo tempo que integra-se com diversos subsistemas e seus componentes, para assim poder executar de forma ordenada, controlada e prevista.



EES – Defesa de Monografia – Catálogo de Padrões para Jogos

June 12, 2010, by David de Almeida Ferreira - No comments yet
A coordenação do curso de Especialização em Engenharia de Software com Ênfase em Padrões de Software da UECE tem o prazer de convidá-lo para a Defesa de Monografia do aluno David de Almeida Ferreira, intitulada “Catálogo de Padrões para Jogos”. A defesa ocorrerá no dia 14/06/2010 (segunda-feira) a partir das 16:00 no prédio da Pós-graduação e Pesquisa em Computação da UECE.

Todos os interessados estão convidados para estarem presentes na ocasião.

Atenciosamente,

A Coordenação

É amigos, agora finalmente estarei dando mais um passo para a conclusão da minha primeira pós graduação, quem tiver o interesse de participar fique a vontade, as restrições que existem são devido a formalidades tradicionais, como por exemplo duração máxima de 30 minutos de apresentação, o que de fato creio ser um tempo muito curto para falar de um trabalho bem extenso, ainda mais que são 5 padrões de projeto a serem apresentados, espero em breve poder oferecer o tema para alguma palestra do GDJCE.

O  resumo do trabalho:

Com o amadurecimento da produção de software, percebemos cada vez mais a aplicação das diretrizes da Engenharia de Software, o que traz reconhecidamente melhores resultados do que os software montados de forma caótica. No universo de desenvolvimento de jogos, podemos perceber, ainda um certo grau de amadorismo em relação a produção de software convencionais, pois poucos são os profissionais e empresas, que conhecem ou aplicam as diretrizes utilizadas no desenvolvimento de softwares, onde termos como metodologia, processo, disciplinas, qualidade, conformidade e boas práticas, fazem parte do dia-a-dia do desenvolvimento, geralmente demonstrando um certo grau de maturidade, permitindo assim um controle maior do que é produzido, como produzido-lo e como averiguar sua conformidade com o esperado. Focando na etapa de programação, ou seja, nas questões arquiteturais e de implementação, podemos observar mais claramente uma ausência quase total de informações ou referências sobre a utilização de Design Patterns em jogos, indo além do código, observa-se a falta de literatura especializada, de congressos e discussões focando no assunto. Com isso em mente estamos propondo um trabalho focando em Design Patterns para Jogos, ou seja, estamos documentando alguns padrões percebidos durante o desenvolvimento de jogos, com o objetivo de auxiliar na resolução de problemas encontrados durante o desenvolvimento, além de estimular a aplicação e catalogação de padrões de projeto focados especificamente em jogos. Com base nesta idéia, partimos para a catalogação inicial de alguns padrões de software, os quais são: 1.Font Mapping 1.1 Intenção Permitir que aplicações multimídias possam escrever informações(textos) na tela para o usuário. 1.2 Motivação Estamos desenvolvendo uma aplicação multimídia como por exemplo um player de vídeo ou um jogo eletrônico, porém necessitamos exibir informações para o usuário, geralmente essas informações são textos composto por caracteres alfa-numéricos, que representam informações sobre o estado do jogo ou do filme. Nestes casos na maioria das vezes desejamos utilizar textos de fontes estilizadas, quer seja pelo seu formato ou pelo estilo utilizado, como por exemplo o uso de sombras, bordas ou degradê. 2.Resource Manager 2.1 Intenção Permitir que uma aplicação gerencie os recursos multimídia necessários para seu funcionamento. 2.2 Motivação Muitas vezes, estamos desenvolvendo uma aplicação ou um jogo eletrônico, que fará uso de recursos externos ao código fonte, como por exemplo: arquivos de imagens, arquivos de vídeos e arquivos de som. Sendo que diversas vezes uma mesma imagem ou som é utilizado por diversos elementos do jogo, como por exemplo: A animação de uma explosão, que contém 6 quadros(imagens), se em um certo momento do jogo, encontramos 7 aviões na tela, teríamos então que ter em memória o equivalente a 42 imagens, apenas para representar a possível explosão dos aviões. Tendo isso como base, observamos que é necessário um gerenciamento de recursos que além de carregar o que for necessário, quando necessário, possa prover o compartilhamento para que diversos elementos do jogo façam uso. 3.Language Manager 3.1 Intenção Permitir que uma aplicação ou jogo, posso suportar múltiplos idiomas. 3.2 Motivação Ao se desenvolver um jogo, uma das primeiras decisões que se toma é a definição de qual será o idioma de seu público alvo, onde geralmente acaba-se optando para que o jogo esteja apenas em um único idioma. Porém com isso eliminamos a possibilidade do mesmo entrar em contato com outros públicos, simplesmente pela barreira da língua. Sendo assim, um jogo em um mundo globalizado, deve permitir ou se adaptar ao idioma nativo de seus jogadores, sem comprometer sua estrutura interna, não sendo aceitável que seja mantido duas ou três versões do mesmo código para gerar versões em português, inglês ou espanhol. 4.AnimaChronos 4.1 Intenção Permitir a criação de animação para jogos, baseado no uso de imagens estáticas. 4.2 Motivação Quando estamos diante de um jogo eletrônico, nossa primeira percepção recaí sobre os gráficos, em principal sobre o movimento hipinótico exercido por eles, ou seja, nosso foco visual é rapidamente atraído para os objetos que se movem na cena, ou seja, as animações. Desta forma é imprescindível ao desenvolvermos um jogo, elaborarmos a capacidade de dar movimento as imagens, fazendo uso extensivo deste recurso conhecido como animação, o qual é o responsável pela completude da vida do personagem e objetos na cena. Tendo isso em mente, necessitamos da capacidade de unir as diversas imagens estáticas de forma padronizada e ordenada para que possamos efetuar as mudanças de quadro de forma controlada, causando o efeito desejado, ou seja, o movimento fluído do personagem ou objeto. 5.Game Struct 5.1 Intenção Organizar e estruturar o funcionamento interno de um jogo eletrônico. 5.2 Motivação Quando pretendemos criar um jogo eletrônico, devemos ter em mente que um jogo é um software altamente especializado, e por consequência, é bem mais complexo que a maioria dos softwares tradicionais, pois possui um alto grau de interação com seu usuário, ou seja, o jogador, ao mesmo tempo que integra-se com diversos subsistemas e seus componentes, para assim poder executar de forma ordenada, controlada e prevista.