O profissional da engenharia e a responsabilidade técnica. Exemplos e enquadramento legal de profissionais condenados: civil, penal e administrativamente por não desempenharem suas funções de acordo com a legislação. As implicações do dolo e da culpa

Em Goiânia, o engenheiro civil Guiobaldo Guimarães foi condenado a dois anos e oito meses de prisão pela morte de um menino de sete anos que, ao subir no muro da quadra da Escola Municipal José Carlos Pimenta, um bloco se soltou e caiu sobre o garoto, que foi levado para o hospital mas não resistiu aos ferimentos (ÂMBITO JURÍDICO, 2010). O muro havia sido construído alguns meses antes, sob a supervisão do engenheiro e sua defesa alegou que as causas do acidente foram vandalizações feitas pelos alunos e dos constantes impactos de bolas no muro. Alegou também que a obra havia sido recebida e aprovada pela Companhia de Obras e Habitação (Comob) e pela Secretaria da Educação, fato que cessaria sua responsabilidade.

Um laudo de vistoria feito após o acidente por engenheiros profissionais revelou que a mureta de cimento não estava devidamente amarrada à estrutura do muro […] [e] que se a mureta estivesse corretamente fixada, também poderia sofrer abalos com o uso da quadra, mas permaneceria estável. (JUSBRASIL, 2010)

O judiciário entendeu que quadras de escolas são feitas para suportar as ações de crianças, inclusive boladas, e que costumam durar anos. Lembrou que durante a execução da obra, o engenheiro “demonstrou consciência de que agia de forma ilícita e chegou a mostrar preocupação com a mureta de cimento” (JUSBRASIL, 2010). Assim, o judiciário concluiu que o profissional agiu de modo consciente, não respeitando as normas e padrões técnicos. O réu teve a pena convertida a prestação de serviços à comunidade por período igual ao da detenção e o pagamento de 16 salários mínimos à duas entidades sociais (ÂMBITO JURÍDICO, 2010).

Em Belém, o engenheiro civil Raimundo Lobato da Silva foi condenado pelo homicídio de três pessoas e lesão corporal de uma outra, pelo desabamento do edifício Real Class, do qual foi o responsável pelos cálculos. A pena, de três anos e vinte dias, foi convertida em prestação de serviços e o pagamento de cinco salários mínimos (TJPA, 2016). As provas colhidas mostraram que houve um erro no modelo matemático, causado pela configuração incorreta do software utilizado nos cálculos, que não considerou outras forças existentes em um edifício daquele porte. O judiciário entendeu que o réu, por ser engenheiro, tinha (ou deveria ter) consciência das implicações em se escolher o modelo utilizado. O Crea-PA cancelou o registro do réu e de outro engenheiro, Carlos Otávio Santos Paes, responsável pela execução da obra, por considerar que ambos feriram o código de ética profissional (G1-PARÁ, 2016).

A Resolução nº 1090 do Conselho Federal de Engenharia e Agronomia (Confea) regulamenta os procedimentos de cancelamento de registro no órgão. De acordo com o Crea-BA (2017), profissionais que cometerem erro grave por negligência, imperícia ou imprudência; usar o cargo para obter privilégios para si ou para terceiros ou serem condenado por prática ilegal administrativa no exercício do emprego podem sofrer esta sanção, prevista no artigo 75 da Lei nº 5.194/1966. “Em caso de condenação pelo Crea, o registro profissional é cancelado e o engenheiro pode requerer a reabilitação após cinco anos” (AECWEB, 2017).

 

REFERÊNCIAS BIBLIOGRÁFICAS

AECWEB. Crea poderá cancelar registro de engenheiro condenado pela Justiça. São Paulo, 2017. Disponível em: <https://www.aecweb.com.br/cont/n/crea-podera-cancelar-registro-de-engenheiro-condenado-pela-justica_15726>. Acesso em 03 ago. 2018.

ÂMBITO JURÍDICO.  Muro mal construído mata criança e engenheiro é condenado. Rio Grande, RS, 2010. Disponível em: <http://www.ambito-juridico.com.br/site/?n_link=visualiza_noticia&id_caderno=&id_noticia=58648>. Acesso em 03 ago. 2018.

CREA-BA. Confea publica resolução sobre cancelamento de registro. Salvador, 2017. Disponível em: <http://www.creaba.org.br/noticia/3479/Confea-publica-resolucao-sobre-cancelamento-de-registro-.aspx>. Acesso em: 03 ago. 2018.

G1-PARÁ. Justiça do Pará condena engenheiro do edifício Real Class por homicídio. Belém, 2016. Disponível em: <http://g1.globo.com/pa/para/noticia/2016/05/justica-do-para-condena-engenheiro-do-edificio-real-class-por-homicidio.html>. Acesso em: 03 ago. 2018.

JUSBRASIL. Engenheiro é condenado por muro mal construído que matou uma criança. Rio Grande do Sul, 2010. Disponível em: <https://jornal-ordem-rs.jusbrasil.com.br/noticias/2416050/engenheiro-e-condenado-por-muro-mal-construido-que-matou-uma-crianca>. Acesso em: 03 ago. 2018.

TRIBUNAL DE JUSTIÇA DO ESTADO DO PARÁ. Engenheiro do Real Class é condenado. Belém, 2016. Disponível em: <http://www.tjpa.jus.br/PortalExterno/imprensa/noticias/Informes/336699-Engenheiro-do-Real-Class-e-condenado.xhtml>. Acesso em: 03 ago. 2018.

O PAPEL DO ENGENHEIRO ENQUANTO PERITO.

Imagem relacionadaO “ramo de especialização da engenharia dos profissionais registrados nos CREA que atuam na interface direito-engenharia, colaborando com juízes, advogados e as partes, para esclarecer aspectos técnico-legais envolvidos em demandas” (ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS, 1996, p. 4) é chamado de Engenharia Legal. O profissional desta área atua elaborando pareceres e laudos técnicos e deve estar capacitado para realizá-los.

“Os peritos serão nomeados entre os profissionais legalmente habilitados e os órgãos técnicos ou científicos devidamente inscritos em cadastro mantido pelo tribunal ao qual o juiz está vinculado” (BRASIL, 2015). As perícias de engenharia são muito diversificadas e incluem avaliações, arbitramentos, obras irregulares, patologias dos mais diversos tipos, desapropriações, impactos de vizinhança, etc. (DEUTSCH, 2013) e a habilitação encontra-se na Lei 5.194/66, que estabelece:

[…]

Art. 13. […] somente poderão ser submetidos ao julgamento das autoridades competentes e só terão valor jurídico quando seus autores forem profissionais habilitados de acôrdo com esta lei.

Art. 14. […] é obrigatória além da assinatura, […] a menção explícita do título do profissional que os subscrever e do número da carteira referida no art. 56.

Art. 15. São nulos de pleno direito os contratos referentes a qualquer ramo da engenharia, arquitetura ou da agronomia, […] quando firmados por entidade pública ou particular com pessoa física ou jurídica não legalmente habilitada […] (BRASIL, 1966).

Além da qualificação técnica, a experiência é um atributo altamente desejável neste profissional, que irá lidar diretamente com a área jurídica, ajudando a Justiça a encontrar, do ponto de vista técnico, a veracidade de fatos, suas origens, causas e consequências, que envolvem decisões que causam impacto na vida de pessoas.

Como quantidade de normas e leis que devem ser conhecidas é grande e cheias de detalhes, o engenheiro perito tem o desafio de se manter sempre atualizado, estudando e acompanhando constantemente a publicação de alterações e atualizações das Normas da Associação Brasileira de Normas Técnicas (ABNT NBR), das Normas Regulamentadoras (NR) e ainda das demais legislações que sejam aplicáveis ao objeto de perícia, sejam elas Federais, Estaduais ou Municipais, sendo preciso ainda saber quando entram em vigor e em que casos se aplicam. Portando, os profissionais de Engenharia que desejam atuar como peritos, devem ter boa afinidade com a área jurídica.

REFERÊNCIAS BIBLIOGRÁFICAS

ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 13752: Perícias de engenharia na construção civil. Rio de Janeiro. 1996.

BRASIL. Lei n. 5.194, de 24 de dez. de 1966. Regula o exercício das profissões de Engenheiro, Arquiteto e Engenheiro-Agrônomo, e dá outras providências. Brasília, DF. Dez. 1966.

______. Lei n. 13.105, de 16 de mar. de 2015. Código de Processo Civil. Brasília, DF. Mar. 2015.

DEUTSCH, Simone Feigelson. Perícias em engenharia: a apuração dos fatos. 2 ed. São Paulo, SP. Ed. Universitária de Direito, 2013

COMO MONTAR UMA CONSULTORIA E UMA ASSESSORIA NA ÁREA DE ENGENHARIA ELÉTRICA. CASOS DE SUCESSO DE EMPREENDEDORISMO

O momento em que o estudante de engenharia elétrica termina a graduação, além de ser um momento de alívio e muita alegria, é também de grande aflição, com o questionamento do que fará a partir deste momento. Para os que têm a vontade de empreender, duas boas opções são a consultoria e a assessoria.

Segundo Oliveira (2006), consultoria é o “processo interativo de um agente de mudanças externo à empresa, o qual assume a responsabilidade de auxiliar os executivos e profissionais da referida empresa nas tomadas de decisões, não tendo, entretanto, o controle direto da situação. ”

Etimologicamente, assessoria é a ação de auxiliar, ajudar, apontar caminhos (FERREIRA, 1999). Para (MATOS, 2006), o ato de assessorar é “identificado como uma ação que auxilia tecnicamente outras pessoas ou instituições, graças a conhecimentos especializados em determinado assunto, assim, o assessor é tido como um assistente […] que detém conhecimentos que possam auxiliar a quem assessora”

Assim, definimos assessoria/consultoria como aquela ação que é desenvolvida por um profissional com conhecimentos na área, que toma a realidade como objeto de estudo e detém uma intenção de alteração da realidade. O assessor não é aquele que intervém, deve, sim, propor caminhos e estratégias ao profissional ou à equipe que assessora e estes têm autonomia em acatar ou não as suas proposições. Portanto, o assessor deve ser alguém estudioso, permanentemente atualizado e com capacidade de apresentar claramente as suas proposições. (MATOS, 2006).

Ambas, a consultoria e a assessoria, são atividades que se enquadram bem com as atividades da engenharia elétrica, área em que a sociedade atual é altamente dependente, e portanto tem alta demanda, e em que são necessários muitos anos de estudo para conhecê-la com propriedade, tornando o engenheiro o profissional com a capacidade técnica para auxiliar nas tomadas de decisão.

Um exemplo de sucesso nesta área é a de Diogo Lupinari e Marcelo Aguiar, que estudavam engenharia elétrica em Mauá e abriram a Wevo, uma empresa de consultoria e desenvolvimento de softwares de gestão comercial que teve faturamento de R$ 4 milhões em 2017.

O objetivo da Wevo é integrar o sistema de dados de softwares diferentes para solucionar problemas nas empresas. Um exemplo, de acordo com os engenheiros, seria integrar os dados do estoque de uma loja com os dados de vendas pelo e-commerce. Desta forma, seria possível diminuir a quantidade do estoque automaticamente após realizar uma venda online. (PEGN, 2018).

Outro exemplo é o de Ivaldo Mesquita Ferreira, proprietário da Wellcon, que expandiu o negócio para atuar no mercado de energia solar.

Estamos aptos a prestar consultoria e execução de todo o processo, desde o estudo de viabilidade até a execução. Como o foco é segurança das pessoas e meio ambiente, a Wellcon preocupa-se com a praticidade da instalação e manutenção das placas, elaborando um projeto diferenciado. Vale destacar que fomos a primeira empresa a instalar o sistema de energia solar em Aracaju’, orienta Ivaldo Mesquita.(PEGN, 2016)

Para quem está pensando em seguir este caminho, o Serviço Brasileiro de Apoio às Micro e Pequenas Empresas (Sebrae), que atua em todo o Brasil, fornece capacitação para quem está iniciando em um novo negócio, inclusive fornecendo consultoria empresarial, mostrando que o Serviço tem know-how na área.

REFERÊNCIAS BIBLIOGRÁFICAS

FERREIRA, Aurélio Buarque de Holanda. Novo Aurélio Século XXI: o dicionário da língua portuguesa. 3. ed. Revista e ampliada. Rio de Janeiro: Nova Fronteira, 1999

MATOS, Maurílio Castro. Assessoria e Consultoria: reflexões para o Serviço Social. In: BRAVO, Maria Inês Souza e MATOS, Maurílio Castro. Assessoria, Consultoria e Serviço Social. Rio de Janeiro: 7 Letras; FAPERJ, 2006.

OLIVEIRA, Djalma de Pinho Rebouças de. Manual de Consultoria Empresarial: Conceitos, Metodologia, Práticas. 6. ed. [s. l.] : [s. n.], 2006.

PEGN – Pequenas Empresas e Grandes Negócios. Amigos faturam R$ 4 milhões com sistema que integra dados de empresas. Disponível em <https://revistapegn.globo.com/Tecnologia/noticia/2018/07/amigos-faturam-r-4-milhoes-com-sistema-que-integra-dados-de-empresas.html> julho de 2018. Acesso em 13 jul. 2018.

______. Empresa sergipana investe no mercado de energia solar. Disponível em <https://revistapegn.globo.com/Banco-de-ideias/noticia/2016/07/empresa-sergipana-investe-no-mercado-de-energia-solar.html> julho de 2016. Acesso em 13 jul. 2018.

Como instalar o WhatsApp em um tablet com Android sem a função de telefone

Os passos abaixo foram executados num Samsung Galaxy Tab 10.1 GT-P7500 3G Wi-Fi com Android 4.0.4. Apesar deste tablet ter entrada para um SIM Card, no chip que tenho nele está habilitado apenas plano de dados, não é possível fazer/receber ligações ou mandar SMS.

Por padrão, o Android não permite a instalação de aplicativos por fora da Play Store. Para que os passos abaixo sejam possíveis, vá em  “Configurações” e, em “Segurança”, marque a opção “Fontes desconhecidas”. Um aviso sobre problemas de segurança é exibido. Como o download será feito direto no site do WhatsApp, vamos confiar e clicar em “OK” 😉 (Após a conclusão da instalação, você pode desmarcar esta opção para aumentar a segurança):

Screenshot_2015-01-29-19-18-10Screenshot_2015-01-29-19-20-02

Faça o download do APK do Whatsapp aqui. Quando terminar, vá em downloads e clique sobre o apk:

Screenshot_2015-01-29-19-16-32

Escolha “Instalador de pacotes” e siga os passos abaixo:

Screenshot_2015-01-29-19-16-44Screenshot_2015-01-29-19-21-21Screenshot_2015-01-29-19-21-51Screenshot_2015-01-29-19-22-12Screenshot_2015-01-29-19-22-55

Na tela abaixo, informe normalmente o número do seu telefone, com DDD, mesmo que o chip do número não esteja no tablet. Nos passos que realizei, informei o número de um celular que tenho (que não é smartphone), que nunca foi associado à uma conta do WhatsApp. Deixem um comentário se funcionar de outras formas 😀

Screenshot_2015-01-29-19-23-34Screenshot_2015-01-29-19-24-12

É importante que o número informado esteja em funcionamento, pois, após informar o número e clicar em “OK”, você receberá um SMS com um código e um link, que é o que interessa nesse passo a passo:

IMG_20150129_212256

No tablet, sem fechar a tela de instalação do WhatsApp, abra o navegador e digite o link recebido no SMS:

Screenshot_2015-01-29-19-26-24

A tela de instalação irá voltar no passo após a autenticação:

Screenshot_2015-01-29-19-27-09

Aqui demora bastante:

Screenshot_2015-01-29-19-27-26

E finalmente:

Screenshot_2015-01-29-19-31-53

 

Deixem nos comentários as experiências de vocês 😀

 

Instalando o mssql e o pdo_dblib no CentOS com WHM para se conectar a um servidor MS SQL Server externo

Comecei a escrever este post em Janeiro de 2013, apenas com anotações rápidas enquanto fazia o procedimento, para mais tarde, reescrever em definitivo. Dois anos se passaram e o post ficou no limbo. Como estou retomando o projeto do blog, resolvi publica-lo, como um rascunho mesmo, afim de ajudar quem estiver procurando estes passos.

Obs: Caso alguém precise das dicas abaixo, e quiser o auxílio de quem já passou por isso, basta entrar em contato, que faremos juntos. Para mim será uma ótima oportunidade de atualizar e passar o texto abaixo a limpo 😉

Segue rascunho:

Esta dica é para quem precisa fazer o PHP se conectar a um banco de dados MS SQL Server remoto a partir de um servidor CentOS com WHM/cPanel. Para executar os passos abaixo, você precisa ter acesso root à máquina, portanto você precisa ter um plano tipo VPS, Dedicado, Cloud, etc. No momento deste procedimento, a versão do meu WHM era a 11.32.3 e o CentOS, 5.8 x86_64.

O primeiro passo é instalar o FreeTDS, e aqui tem um detalhe: a versão mais recente, no momento em que escrevo este post, é a 0.91 porém não tive muita sorte com esta versão, por isto estou usando a 0.82. O FreeTDS é uma biblioteca livre para o protocolo de comunicação cliente-servidor do MS SQL Server e permite a conexão a partir de uma máquina com GNU/Linux.

Baixando e compilando o FreeTDS:

# wget ftp://ftp.freetds.org/pub/freetds/old/0.82/freetds-0.82.tar.gz
# tar -zxvf freetds-0.82.tar.gz
# cd freetds-0.82/
# ./configure –prefix=/usr/local/freetds –with-tdsver=8.0 –enable-msdblib –enable-dbmfix –with-gnu-ld
# make
# make install
# cd /usr/local/freetds/
# ln -s /usr/local/freetds/lib lib64

Agora, vamos recompilar o PHP usando o EasyApache. Ainda no terminal, digite:

# echo “–with-mssql=/usr/local/freetds” >> /var/cpanel/easy/apache/rawopts/all_php5

– Ir ao WHM e recompilar o php com EasyApache
– Em Exhaustive Options List, marcar o PDO
– Para mssql basta

PDO
Fatal error: Uncaught exception ‘PDOException’ with message ‘could not find driver’ in …

# pecl install pdo_dblib
pear/PDO_DBLIB requires PHP extension “pdo” (version >= 1.0)
No valid packages found
install failed

# pecl install -n pdo_dblib
warning: pear/PDO_DBLIB requires PHP extension “pdo” (version >= 1.0)
downloading PDO_DBLIB-1.0.tgz …
Starting to download PDO_DBLIB-1.0.tgz (8,184 bytes)
…..done: 8,184 bytes
6 source files, building
running: phpize
Cannot find config.m4.
Make sure that you run ‘/usr/local/bin/phpize’ in the top level source directory of the module

ERROR: `phpize’ failed

# cd /home/cpeasyapache/src/php-5.3.15/ext/pdo_dblib/
# phpize
# ./configure
configure: error: Cannot find FreeTDS in known installation directories
# vi configure

Procure pelo trecho

for i in /usr/local /usr; do
if test -f $i/include/sybdb.h; then
PDO_FREETDS_INSTALLATION_DIR=$i
PDO_FREETDS_INCLUDE_DIR=$i/include
break
elif test -f $i/include/freetds/sybdb.h; then
PDO_FREETDS_INSTALLATION_DIR=$i
PDO_FREETDS_INCLUDE_DIR=$i/include/freetds
break;
fi
done

Trocar a linha

for i in /usr/local /usr; do

Por

for i in /usr/local/freetds /usr; do

# ./configure
# make
# make install
# echo “extension=pdo_dblib.so” >> /usr/local/lib/php.ini
# /scripts/restartsrv_httpd

PRONTO!!!

HTML5: Geolocalização

Com a nova versão do html, é possível acessar a localização geográfica do cliente que acessa uma página. A origem (fonte) dessa localização pode ser o IP, RFID, endereço MAC do WiFi ou bluetooth, IDs de células GSM/CDMA ou, a forma mais precisa, GPS de um smartphone ou tablet. E é bem simples! Vamos para a prática:

Você pode verificar se o browser do cliente tem suporte a geolocalização com o if:

if (navigator.geolocation) {
    // Tem suporte
} else {
    // Não tem suporte
}

Para fazer a leitura das coordenadas e outros dados:

// Se conseguir fazer a leitura, chama a função posicao(). Se não conseguir, chama a função erro()
navigator.geolocation.getCurrentPosition(posicao, erro);

// Função chamada quando navigator.geolocation.getCurrentPosition CONSEGUE fazer a leitura
function posicao(dados) {
    lat = dados.coords.latitude;            // Latitude
    lon = dados.coords.longitude;           // Longitude
    pre = dados.coords.accuracy;            // Precisão em metros
    alt = dados.coords.altitude;            // Altitude em metros
    preAlt = dados.coords.altitudeAccuracy; // Precisão da altitude em metros
    dir = dados.coords.heading;             // Direção em graus: 0º Norte (geográfico), 90º Leste, 180º Sul, 270º Oeste.
    vel = dados.coords.speed;               // Velocidade em m/s
}

// Função chamada quando navigator.geolocation.getCurrentPosition NÃO consegue fazer a leitura
function erro(dados) {
    switch (dados.code) {
        case 1: 
            alert('Você negou o acesso à sua localização!');
            break;
        case 2: 
            alert('Não foi possível acessar sua posição!');
            break;
        case 3: 
            alert('Timeout ao tentar pegar sua localização!');
            break;
    }
}

Lembrando que são coordenadas geográficas no formato de graus decimais e não em graus, minutos e segundos. Outra coisa em relação ao formato é que, no lugar de usar N (norte), S (sul), E (leste) e W (oeste), usa-se o sinal – (negativo) para as latitudes ao sul (a baixo) do equador, latitude 0, e as longitudes a oeste (a esquerda) de Greenwich, longitude 0. Pense num plano cartesiano com o Equador como eixo X e Greenwich como eixo Y.

E dá para calcular a distância em linha reta entre dois pontos também! Fica assim:

// Se conseguir fazer a leitura, chama a função posicao(). Se não conseguir, chama a função erro()
navigator.geolocation.getCurrentPosition(posicao, erro);

// Função chamada quando navigator.geolocation.getCurrentPosition CONSEGUE fazer a leitura
function posicao(dados) {

    // Minhas coordenadas
    lat = dados.coords.latitude;
    lon = dados.coords.longitude;

    // Coordenadas de destino (podem ser informadas pelo usuário, ou vir de um banco de dados, etc)
    latD = -14.88378;
    lonD = -40.829145;

    // Calcula a distância em km considerando a curvatura da terra
    distancia = 6371 * Math.acos(Math.cos(Math.PI * (90 - latD) / 180) * Math.cos(Math.PI * (90 - lat) / 180) + Math.sin(Math.PI * (90 - latD) / 180) * Math.sin(Math.PI * (90 - lat) / 180) * Math.cos(Math.PI * (lon - lonD) / 180));

    alert('Distância: ' + distancia + 'km');
}

Lembrando que a distância calculada leva em conta a curvatura da terra.

Agora um exemplo um pouco mais elaborado com as distâncias de onde o cliente estiver para algumas pizzarias de Vitória da Conquista – BA:

<!DOCTYPE html>
<html lang="pt-Br">
    <head>
        <meta charset="utf-8" />
        <title>Geolocalização</title>
    </head>
    <body>

    </body>
</html>

Aqui pode ser visto um exemplo do funcionamento de distâncias com geolocalização do código acima (sem CSS).

 

Usando a câmera do celular como leitor de código de barras numa aplição web

Uma forma de aproveitar a câmera do seu celular para ler códigos de barras numa aplicação web é com o auxílio do Barcode Scanner da ZXing Team. Com o programa instalado no smartphone, basta criar um link html em sua aplicação e o mesmo chama o programa que vai ler o código de barras (ou QR code) e retorna o resultado à sua aplicação.

Ele está disponível para Android, iPhone, Blackberry e para outros aparelhos usando J2ME / JavaME.

Link do Barcode Scanner para Android.

Os testes que fiz foram feitos no Android:

<!DOCTYPE html>
<html lang="pt-Br">
    <head>
        <meta charset="utf-8" />
        <title>Código de Barras</title>
    </head>
    <body>
        <form action="#" method="post">
            Código de barras
            (<a href="http://zxing.appspot.com/scan?ret=http://www.seu-dominio.com.br/seu-arquivo.php?codigo={CODE}">Leitor</a>):
            <input type="text" name="cod" value="<?= $_GET['codigo'] ?>" />
        </form>
    </body>
</html>

Abra a página com o código acima (exemplo aqui) num smartphone com Android e clique em (Leitor). Se você não tiver o Barcode Scanner instalado, abrirá uma página em inglês explicando que é preciso instalar o programa para completar a ação e já passa os links para download.

Sem o Barcode Scanner

Depois de instalado, quando você clicar em (leitor) será exibida a tela

Escolha Barcode Scanner

pedindo para escolher uma aplicação para completar a ação. Marque “Usar como padrão esta ação.” e escolha Barcode Scanner para que das próximas vezes ele abra automaticamente, sem perguntas.

Posicione o código de barras

Posicione o código de barras sob a linha vermelha na área mais clara da tela e aguarde a leitura. Quando a mesma é feita, ele retorna automaticamente para sua aplicação com a numeração (ou texto) do código na url. No nosso exemplo a numeração foi colocada num campo de formulário.

Código dentro do formulário

Durante os testes no Nexus One, Nexus S e no Milestone 2 o código de barras foi interpretado rapidamente. Com o Galaxy 5 houve dificuldade de se fazer a leitura, provavelmente por causa da resolução da câmera. Quem puder testar em outros aparelhos, coloque nos comentários sua impressão.

 

Newsletter no Magento 1.4.2.0

Ao configurar o Magento para um cliente, cheguei na parte de newsletter e penei pra botar o bicho pra funcionar. Compartilho aqui a solução que encontrei junto com Marcelo Aires (@mavcomputer) com vocês:

Tentando colocar uma news na fila para ser enviada, quando clicava em ‘Save Newsletter’ nada acontecia. Ao analisar a página com o Firebug no Firefox, o mesmo mostrava que, logo que a página era carregada, no arquivo prototype.js, na linha 4021, a variável element tinha valor null e, ao clicar em ‘Save Newsletter’, que queueControl não havia sido definido, sem dizer em qual arquivo:

Erro no Firebug

Erro no Firebug

O erro do prototype, que é um framework javascript, não interfere no funcionamento da news, então vamos deixá-lo de lado.
O erro do queueControl undefined pode ser corrigido no arquivo

diretório_do_magento/app/design/adminhtml/default/default/template/newsletter/queue/edit.phtml

que, na parte do javascript, tem o seguinte conteúdo:


Como podemos observar, na linha 68 a função switchStore é chamada e a mesma usa queueControl (linha 73), que só é definida na linha 82. A solução é mover a linha 68, que é onde toda a ação é executada, para o final do arquivo, ficando assim (pode ser necessário limpar o cache do Magento após esta ação):


Bom, agora já se consegue enviar a news para a fila. Mas aí vem outro problema… a news fica eternamente na fila, com status Not Sent, e não é enviada nunca!
A solução dessa vez foi adicionar a seguinte linha no crontab do servidor:

*/5 * * * * /usr/bin/php5 -f /home/auere/public_html/magento/cron.php

/usr/bin/php5 é o caminho absoluto do php e pode ser obtido com o comando:

which php

/home/auere/public_html/magento/cron.php é o caminho absoluto até o arquivo cron.php do Magento.

Iniciando o Ubuntu com o TeamViewer no system tray

A primeira coisa a ser feita é instalar o TeamViewer que pode ser baixado em http://www.teamviewer.com/pt/download. Se seu desejo é apenas que o TeamViewer inicie com o Ubuntu, vá em ‘Sistema’ – ‘Preferências’ – ‘Aplicativos de sessão’:

Abrindo aplicativos de sessão

Abrindo aplicativos de sessão

Clique em Adicionar e preencha da seguinte forma:

Nome: TeamViewer 6
Comando: /opt/teamviewer/teamviewer/6/bin/teamviewer
Comentário: TeamViewer Remote Control Application

Adicionando o TeamViewer

Adicionando o TeamViewer

Dessa forma, o Teamviewer vai abrir automaticamente após o login no Ubuntu, só que como uma janela aberta na área de trabalho.
Uma forma mais interessante é deixar o TeamViewer no system tray para que ele continue rodando, sem a necessidade de uma janela aberta. Para iniciar o TeamViewer automaticamente no system tray precisaremos do alltray. Para instalá-lo, vá ao terminal e digite:

sudo apt-get install alltray

Então volte aos Aplicativos de sessão, escolha TeamViewer 6 e clique em ‘Editar’. No campo ‘Comando’, adicione /usr/bin/alltray antes do comando já existente ficando assim (atenção ao espaço entre os comandos, depois da palavra alltray):

Comando: /usr/bin/alltray /opt/teamviewer/teamviewer/6/bin/teamviewer

Deixando o TeamViewer no system tray

Deixando o TeamViewer no system tray

Uma dica importante: se estiver acessando uma máquina remota pelo TeamViewer, não houver alguém por perto dessa máquina, e precisar reiniciá-la, deve habilitar a opção de login automático, uma vez que o TeamViewer só inicia após o login no Ubuntu. Para isso vá em ‘Sistema’ – ‘Administração’ – ‘Tela de  login’:

Tela de login

Tela de login

Clique em ‘Desbloquear’ e informe a senha:

Desbloqueando as configurações da tela de login

Desbloqueando as configurações da tela de login

Marque a opção ‘Iniciar sessão automaticamente como’, escolha o usuário e clique em ‘Fechar’:

Iniciar sessão automaticamente como

Iniciar sessão automaticamente como