Arquivo do autor:Veras

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