Atendimento ao Cliente em Joinville: Uma piada de mal gosto

Esse final de semana, mais uma vez, se comprovou o absurdo do falta de qualidade no atendimento ao cliente em Joinville, primeiramente, numa cidade de quase 1 milhão de habitantes, existe uma lei municipal provinciana e retrograda, onde nenhum estabelecimento sem um alvará de funcionamento para noite pode ficar aberto depois da meia noite. Isso por si só já é um absurdo, acontece que recentemente o Mac Donalds passou a abrir a noite.
O Mac donalds é situado na Avenida Beira Rio, uma das principais da cidade, ele ja é tido como O Pior Mac Donalds do Mundo a muitos anos pelo seu péssimo atendimento, comida estragada e velha, ma treinamento e organização por parte dos seus funcionários.
Nesta madrugada, aproximadamente uma da manha fui ao Mac tentar comer um lanche, primeiro, eles decidiram que não irão mais abrir a lanchonete, um local que a 2 meses estava socado todas as madrugadas, quase impossivel conseguir uma mesa de noite, mas alegando que não estava valendo a pena para eles, decidiram simplesmente fechar.
Ok, nos dirigimos ao Drive Thru e fomos avisados que o sistema estava fora do ar, até ai tudo bem, pedi meu lanche, um Hamburguer California, Uma porção pequena de Nuggets, e um Suco de Uva Pequeno, total do pedido: R$ 14,00.
Quando fomos ver o que tinha vindo efetivamente, haviam mandado 2 Big macs quase estragados (duros, com queijo já endurecido), e haviam simplesmente esquecido do meu nuggets.
Voltamos lá, e a atendente depois de verificar os lanches, trocou os nossos pedidos, mas como eles não haviam emitido nota fiscal, pois o sistema estava fora, ela disse que eu havia comprado somente 1 California e 1 suco, totalizando 7 reais, quando na realidade havia gastado 14.
Assim, fui roubado pela atendente, não quis criar confusão por 7 reais, mas sou obrigado a postar aqui para que fique registrado, pois é um absurdo esse tipo de nível de serviço numa cidade como Joinville.
E não parece ser uma situação isolada, hoje, o Andrey também teve o mesmo problema no RadioBurger, restaurante recém aberto, estilo americano dos anos 50, os detalhes podem ser vistos no blog dele: http://vjweedman.wordpress.com/2009/09/13/radio-burger-joinville/

Por que as vezes a internacionalizacao eh uma bosta

Peco desculpas a todos mas estou no opensolaris e apesar dele estar em portugues eu nao estou conseguindo usar acentos.

Outra coisa para se odiar da internacionalizacao dos sistemas operacionais, mas o motivo do post eh outro, fui obrigado a postar aqui para deixar claro pra posteridade como eh sofrivel setar para PT_BR software opensource.

piero@opensolaris:~$ ssh teste@localhost
The authenticity of host ‘localhost (127.0.0.1)’ can’t be established.
RSA key fingerprint is fc:ae:22:7c:7c:5e:0d:f5:64:a6:25:36:87:15:e9:3a.
Are you sure you want to continue connecting (sim/não)? yes
Please type ’sim’ or ‘não’: sim
Warning: Permanently added ‘localhost’ (RSA) to the list of known hosts.
Password:
Last login: Sat Feb  7 10:06:43 2009
Sun Microsystems Inc.   SunOS 5.11      snv_101b        November 2008
teste@opensolaris:~$

Tecnologia para usuários finais?

Esta semana tem sido uma terapia de louco tecnológica para mim.
Por motivos alheios a minha vontade, tive que fazer o down-grade de uma instalação do Xorg em um projeto que estou trabalhando. Até aí a solução para o problema seria relativamente simples, baixar os fontes (sim, eu preciso compilá-los por mim mesmo, pacotes prontos não servem) e rodar o mesmo script que eu havia construido para a ultima versão. O fato é que os caras mudaram *TUDO* de uma versão para a outra, desde a interface de drivers, tornando as centenas de drivers de vídeo disponíveis simplesmente inúteis, até a raiz de dependências.
Quando eu comecei a utilizar sistemas operacionais baseados em Unix, isto em 1996, a instalação do X era considerada algo complexo: você baixava 4 pacotes gigantes via dial-up, que poderia levar dias, baixava um “helper” script para compilar, e iniciava o processo que no meu Pentium 133 com 32 MB’s de ram demorava em torno de 20 horas.
Doze anos depois, o procedimento que deveria ter evoluído um pouco com o tempo, demorou em torno de 4 dias, com uma maquina 20 vezes mais rápida, dos 4 pacotes que eram na época hoje são em torno de 200, com nomes impossíveis de entender como: font-misc-misc-1.0.7 ou libXxfvm86.
Além disto, a raiz de interdependência que era basicamente: biblioteca -> server -> client -> aplicativos, se tornou tão grande que é impossível fazer na mão te obrigando a gerar um script de instalação que demora 2 horas para rodar cada vez que você quer testá-lo.
Se não bastasse isto, o infeliz que fez os arquivos de compilação tem utilitários com nomes do tipo: t isso mesmo, a letra T, como você vai adivinhar que o utilitário de letra T na verdade é o bdftopcf ?
Neste momento eu me pergunto se estamos evoluindo realmente ou se não passa de uma falsa sensação de evolução tornando coisas que antes eram extremamente simples em atividades complexas.
O exemplo acima pode ser algo muito técnico para a maioria então é até aceitável em termos de complexidade, mas deixe-me continuar com a história da semana:
Estou precisando escanear um documento para mandar pra Taiwan, aqui em casa possuo uma HP Photosmart C5180 series, uma das mais novas impressoras da HP, totalmente voltada pra networking. Um usuário comum deveria ser capaz de utilizá-la sem ter que entender muito de computadores certo? Afinal é um equipamento high-end mas não profissional, para uso doméstico.
A primeira coisa interessante a se notar é, por que ela se nega a imprimir a cor preta quando falta o amarelo? Bem, ela simplesmente se negou a imprimir. Ok deve ter algo haver com a construção do seu hardware. Mandei imprimir na empresa, peguei o papel e voltei para casa feliz da vida afinal bastava somente escaneá-lo devido a minha assinatura nele, e depois enviar por email.
Bem, eu utilizo Mac, e fui tentar escanear utilizando o software que veio com ela para o macosx, e ao tentar usar  o tal HP Scan Pro, segue a mensagem que ele me diz: O programa pode estar instável. É recomendável que o programa seja fechado e reiniciado.
Que tipo de erro é este? Como assim instável? Se ele esta instável e se detecta isto como que ele não é capaz de tomar alguma atitude para evitar isto? E mais, como supostamente um usuário caseiro é capaz de resolver este problema? Uma tecnologia para usuário final deveria ser capaz de pelo menos guiar o usuario para o suporte online, mas não, ele me da este erro eternamente e ao clicar na ajuda ele me manda pra www.hp.com, nem sequer pra alguma pagina já identificando que preciso de suporte.
Resumo da história, baixando drivers novos para ver o que acontece: 300 mbs de drivers e inutilitários.
Terceira situação: Meu padrasto esta tentando acessar com o seu notebook o netbanking da caixa econômica pela primeira vez, meu irmão como bom samaritano da tecnologia, o instruiu para utilizar Firefox ao invés do Internet Explorer, sabiamente para evitar que seu computador se torne uma colônia de virus e malware, já que ele é o único usuário de windows XP da casa, minha mãe utiliza o Ubuntu a quase 2 anos e é livre deste mal.
Bem, ao tentar se cadastrar na caixa você é perguntado para instalar um plugin chamado G-buster Browser Defense, um plugin desenvolvido por uma empresa nacional chamada GAS tecnologia.
Toda vez que você tenta baixar da um erro de URL quebrada para o plugin, ficando em um loop eterno entre o banco pedindo pra instalar, e você clicando para instalar recebendo o erro de URL inválida.
Com o IE o erro é pior, ele não chega a achar o sistema de segurança necessário simplesmente ficando parado na tela de login do banco.
E usuários finais deveriam utilizar o serviço da caixa economica certo?
Acho que tem algum erro sério na Matrix e eu vou ser ejetado daqui a pouco acordando em algum lugar cheio de melecas estranhas e robôs gigantes.

Android?

Venho acompanhando a algum tempo o desenvolvimento do novo sistema operacional para celulares do Google, chamado Android.

A primeira vista me parece um projeto interessante, ele vem com o ideal opensource, cujo não compartilho muito com os seus principios, mas tem todo o meu respeito e admiração.

Ele veio para competir com o Windows Mobile, Symbian, e o iPhone (Mac OS X embedded).

O que mais impressiona nele é o fato de ser totalmente baseado em Linux, e é dai que eu acredito que está o seu calcanhar de aquiles.

O Linux é um problema sério para qualquer sistema embarcado, apesar de ser fácil de usar, seus mantenedores tem o péssimo hábito de quebrar compatibilidade em cada versão.

Neste exato momento estou desenvolvendo um driver para uma placa de CCTV (Circuito interno de televisão) afim de poder usá-la sem ter que depender do software do seu fabricante, e ao entrar na lista de discussões da interface de video4linux fui “gentilmente” informado que tudo que eu fiz é inútil pois a partir de agora eles estão implementando a segunda interface de entrada de vídeo que irá tornar todos os drivers anteriores praticamente incompatíveis.

Como um sistema que irá rodar em diversos aparelhos com hardware diferente poderá competir com os outros já estabelecidos no mercado e com hardware fixo, quando seus mantenedores trocam e quebram a compatibilidade a cada release de kernel? Fazer uma fork do sistema operacional nos dias de hoje é impossível devido as extensas mudanças promovidas pelos “gurus”, toda a parte de Virtual Memory foi refeita, drivers, módulos, interfaces de rede, e tudo mais que se imaginar, milhares de bugs devem ter sido gerados que tornam impossível não manter compatibilidade com a tree original.

Apesar da iniciativa ser interessante, eu acredito que o Google terá grandes problemas para competir até mesmo com o “pseudo” Sistema Operacional Symbian da Nokia e o Windows Mobile da Microsoft..

Isso se não compararmos com o Mac OS X embedded, que tem toda a arquitetura do Darwin baseado no BSDi, este sim não tem como comparar com a arquitetura dos outros sistemas “mobile”.

Mas este é assunto para outro post sobre arquitetura de sistemas operacionais que um dia farei.

Hellion

Ontem para passar o tempo fui ao cinema, estava com vontade de assistir o filme que tá em cartaz do Arquivo X, apesar das críticas ruins que eu li é uma serie que sempre me agradou, mas infelizmente o próximo horário iria demorar quase 2 horas e acabei indo ver este tal de “Hellion”, me parecia um filme de terror de segunda.

Para resumir a história é uma versão barata de “A Profecia”, onde o garotinho é um demônio disfarçado e aquela história toda, típico enlatado hollywoodiano de terror com ceninhas de suspense, aranhas e lobos no meio de lagos congelados quebrando.

Na história tem todo um rapto do menino que eu não vou contar por inteiro, mas o interessante é que numa das vezes o raptor vai a um museu falar com o vilão da história, que é a própria madrasta do rapaz(duh, que forma ineficiente de matar o filho, mas tudo bem) e se depara com uma pintura, então o vilão escondido fala sobre o “el bosco”, que seria Hieronymous Bosch.

Bem, eu sou um fã desse cara e um dos meus sonhos sempre foi ver as pinturas dele ao vivo, fato que tive a oportunidade de fazer recentemente no Museu do Prado.

Mas agora eu pergunto, como alguém tem a coragem em um filme de citar que a pintura mais conhecida dele: O Jardim dos prazeres terrenos, estaria em Boston? Ela é uma das relíquias da humanidade e esta no mesmo lugar a quase 300 anos, e o pior, ainda mostram a pintura como sendo uma tela simples, uma montagem a la photoshop juntando as imagens das janelas, que é a forma com que esta pintura foi feita. São 3 partes independentes em forma de janela que inclusive pode ser fechada e do lado de fora tem outra pintura.

Realmente me deixou bem insatisfeito com a produção do filme, deturparam totalmente a obra, fora que a interpretação do vilão falando foi péssima, algo como se ele louvasse a depravação humana, quando na real o cara era um padre e a obra inteira é uma crítica aos pecados da raça humana.

E olha que nem sou muito exigente com filme, mas des-informação é coisa pra Desciclopedia!

O Enigma da distribuição de homens e mulheres nos voos comerciais

Eu sempre me indaguei por que dificilmente sento próximo a uma mulher interessante ou pelo menos que seja possível conversar em uma das centenas de voos comerciais que já peguei, o fato é que somente uma vez, e indo para a Colombia, isto aconteceu, todas as outras vezes sempre parei do lado de casais, vovos, tias gordas e chatas, e gente muito estranha.

Ontem mesmo peguei um voo com 2 nazis do meu lado com problemas em usar desodorante.

Pensando um pouco cheguei a conclusão de que inevitavelmente deveria parar em torno de 50% das vezes ao lado de uma mulher, esteja ela acompanhada ou não, criança, velha, vovó e por ai vai. Mas isto não acontece, meus calculos são de que 90% das vezes são homens ou familias.

Verificando o meu bilhete de voo notei que eles sempre identificam se é um homem ou uma mulher através da saudação: Mr. Contezini.

Com isto ainda ontem, decidi dar uma voltinha pelo avião, estava nas primeiras poltronas e oportunamente fui utilizar o banheiro do fim do avião. Contei cada situação em que existia um homem e uma mulher sentados lado a lado, e que pareciam desconhecidos. Notei que são praticamente nulas estas situações, ou são familias inteiras viajando juntas, ou é um casal em que o homem vai na fila do meio, e do lado esquerdo vai um homem ou uma mulher. Ou são fileiras inteiras de homens e de mulheres convenientemente isolados.

Isto me leva ao seguinte questionamento: Será que o sistema que faz a gestão do booking das empresas convenientemente sugere sempre uma distancia entre homens e mulheres viajando sozinhos? A explicação que eu consigo ver é que para evitar transtornos com assédio, o sistema já trata isto separando homens e mulheres, sendo que quase todas usam o mesmo sistema para integração entre os diversos aeroportos e companhias, esta poderia ser uma função padrão!

Paranóia minha ou simplesmente falta de sorte? Vou notar nos próximos voos e tentar contar melhor!

Computação nas nuvens

Este termo ainda desconhecido por muitos é o futuro da computação, ele prevê um mundo em que computadores como conhecemos hoje não serão nada mais do que interfaces de acesso, e toda a computação que precisaremos estará hospedada “nas nuvens”, ou seja, na rede, assim você não terá mais dados no seu computador, nem mesmo capacidade de processa-los, pedirá a rede que obtenha suas informações onde é que elas estejam, sendo que provavelmente nem você mesmo saberá, e as processe em algum “node” disponível para executar as tarefas necessárias.

Neste ambiente, empresas não mais necessitam de datacenters, tudo que fazem é alocar um “node” e enviar sua “imagem” com o sistema operacional e a aplicação a ser executada. Além disto ainda existem serviços “nas nuvens” como bancos de dados, discos virtuais, publicadores de conteúdo multimidia como som e video, sistemas de live streamming e tudo que for necessário para atender a demandas escaláveis.

A grande chave deste conceito está na disponibilidade e escalabilidade da arquitetura computacional, pois um dos desafios da tecnologia da informação nos dias de hoje é desenvolver um sistema que sirva para uma pessoa tanto quanto para milhões.

Neste ambiente todo o conceito de desenvolvimento de software que temos hoje não serve mais, pois a teoria da computação defende a execução de tarefas em forma linear, sendo processadas uma depois da outra. Mesmo a tecnologia de multiplos núcleos com threads defende basicamente a mesma idéia, porém dividindo com varios “executores” de tarefas sequenciais.

Em um sistema desenvolvido para rodar “nas nuvens”, as tarefas devem ser tratadas em forma paralela, onde sempre que se dispor de mais recursos de processamento, este seja utilizado para diminuir o trabalho de todos os outros nodes da rede. É um conceito extremamente complexo e atualmente não existem plataformas e frameworks faceis de se desenvolver que implementem este tipo de funcionalidade, acessível para qualquer programador.

Nos próximos posts eu vou avaliar alguns serviços já disponíveis começando pelo Amazon AWS.

Referências:
Cloud versus cloud: A guided tour of Amazon, Google, AppNexus, and GoGrid

Conservadorismo do padrão POSIX

O padrão POSIX foi criado na decada de 80 para permitir a portabilidade entre plataformas UNIX, anos mais tarde o Linux também aderiu ao padrão, assim como uma port chamada CYGWIN também habilitou os sistemas Windows a rodarem estas aplicações.

Além de uma interface de usuário (o shell, Korn Shell no caso), se é que ainda podemos chamar assim. Também foi criada uma interface de acesso aos serviços do Sistema Operacional, chamadas de SYSCALLS.

A verdade é que fazem quase 25 anos que estes padrões estão inalterados, e nos dias de hoje é simplesmente impossível entender por que ainda seguimos esta norma, abaixo segue um exemplo de como esta desatualizada a API de programação:

struct ifreq *ifr;
struct ifreq ifrr;
struct sockaddr_in sa;

ifr = &ifrr;

ifrr.ifr_addr.sa_family = AF_INET;

strncpy(ifrr.ifr_name, ifname, sizeof(ifrr.ifr_name));

…..

*ifaddr = ifrr.ifr_addr;
printf(”Address for %s: %s\n”, ifname, inet_ntoa(inaddrr(ifr_addr.sa_data)));

O código acima serve para mostrar os IP’s das interfaces de rede presentes na maquina, ele é tão antigo que no tempo em que o POSIX foi criado, as máquinas dificilmente tinham varias interfaces de rede, então para facilitar ao programador localizar o IP da máquina, foi criada uma macro chamada ifr_addr.sa_data, mas o que acontece quando queremos saber o endereço de outras interfaces? A maneira mais simples é fazer isto:

Copiar o nome da interface para a estrutura ifrr, chamar novamente o ioctl() pertinente, e pegar o campo .sa_data, mas o que acontece se não sabemos o nome da interface? Bem.. dai perdeu playboy. Não existe syscall POSIX para enumerar as interfaces presentes.. O Linux atualmente esta implementando uma função mas não é padrão..

Um método extremamente ultrapassado de se fazer uma operação muito simples.

E assim acontece o mesmo com a maioria das chamadas SYSCALLS do POSIX, outro exemplo é o já citado ioctl(), ele tem tantas funções que simplesmente é impossível uma pessoa saber a metade deles, ele preenche estruturas de tamanho variavel, com informação variavel, sem qualquer explicação do retorno possível a não ser na documentação do proprio sistema operacional.

Tenho conhecimento de dois sistemas operacionais com API’s atuais, o Windows e o Mac OS X.

No caso do Windows existem tantas SYSCALLS que algumas inclusive fazem exatamente as mesmas coisas, somente para manter a compatibilidade entre as versões interiores, mas a questão é que pelo menos elas lidam com problemas atuais como Orientação a Objeto, Leitura e Escrita multiplexada (ao mesmo tempo sem threads) e muito mais.

Ainda existe o Darwin, que é o verdadeiro sistema operacional do Mac OS X, pois este é muito mais, na verdade é um conjunto de serviços de alto nivel como manipulação de tela, execução de conteudo multimidia, comunicação com hardware e dezenas de outros serviços.

O fato é que este último eu ainda estou estudando para poder dar uma opnião correta, mas o meu ponto neste artigo é que, pelo menos estes dois sistemas operacionais tentam atender as necessidades dos desenvolvedores, ao contrario do POSIX que tenta manter compatibilidade e dificulta a criação de aplicações.

Acredito que num futuro breve será necessária a criação de um novo padrão para compatibilidade de sistemas operacionais, e poderemos nos ver livres desta interface velha e obsoleta.

Será o meu problema a Internet?

Eu sempre me perguntei se eu realmente sou um cara viciado em Internet, ou se é uma necessidade imposta pelo meu estilo de vida.

Um calculo rápido me deu 84 horas de internet por semana, o dobro da media mundial e brasileira. Clinicamente eu posso ser diagnosticado um viciado, pois antes mesmo de ligar a luz do quarto eu prefiro a luz do LCD, e antes de escovar os dentes pela manhã eu vejo os meus emails e feeds mais importantes.

Mas a questão é, o que tem de errado num estilo de vida assim? É artificial? Superficial? Eu acho muito cedo para podermos avaliar este tipo de coisa, pois essas mudanças impostas pelo desenvolvimento tecnologico ainda não foram analisadas por alguém que esteja fora deste contexto, todos estão dependentes do mundo digital mesmo sendo alheios a este movimento, e as pessoas que assumem o papel imersivo dos hábitos deste mundo novo podem ser classificadas como viciados, por aqueles que não fazem a mínima idéia do por que passamos tanto tempo conectados.

Como podem os “especialistas” em dependencia classificar-nos como viciados, quando estamos pisando em um territorio absolutamente inexplorado por eles? Eles não fazem idéia do que fazemos aqui além de passar muitas horas na frente dos nossos computadores, para eles conversarmos no MSN é nos escodermos atrás do computador com medo das pessoas do mundo exterior, mas quantos de vocês não tem tantos amigos online quantos fora? E muitos deles primeiramente foram descobertos pela Internet, e depois se tornaram amizades reais e de valor?

Na minha opnião é exatamente o oposto, a rede nos conecta as pessoas, faz conhece-las de uma forma que jamais teriamos conhecido, de formas diferentes, acho que a distancia nos retira a mascara da vergonha, da timidez, nos faz sermos quem realmente somos ou queremos ser, sem o medo do julgamento e da reação das pessoas.

Folha de São Paulo com seus julgamentos incorretos pra variar

Viciados em internet?

Os Brasileiros e a piada do iPhone

Uma das coisas que mais me deixa puto é como somos tratados pelos estrangeiros quando o assunto é tecnologia de ponta.

Sempre que nos manifestamos somos chamados de “macaquinhos falantes” ou primatas, gerando revolta para todo o lado, mas o fato é que os brasileiros sempre dão motivos para serem chamados assim.

De vez em quando estamos falando besteira aos 4 ventos como se tivessemos toda razão, e a última foi a do desbloqueio do iphone que inclusive o portal G1 da Globo publicou sem ter a mínima noção a seguinte notícia: Grupo brasileiro é o primeiro a desbloquear novo iPhone 3G

Seguido pelo site dos “hackers” : http://desbloqueiobr.com.br/portal/.

Isto é ridiculo, na frente do geohot e dev-team? Estes caras estão trabalhando a meses em uma solução para o unlock total via Software, e um bando de tupiniquins dizem terem desbloqueado o telefone na frente deles, quando na verdade tudo que eles fizeram foi meter um Turbo Sim, um “adaptador” de chip SIM onde você usa o chip original da AT&T e um chip seu para enganar o telefone de que a linha usada é uma linha AT&T.

Então nessas horas temos que dar razão aos estrangeiros..