Unibandeco.com.br

Agora o aplicativo do bandeco tem endereço próprio:

http://unibandeco.com.br

E para quem usa Firefox (no computador ou celular), agora há a opção de instalar o aplicativo nativamente no seu sistema. Basta clicar em opções () e depois em “Instalar aplicativo”! Um ícone irá ser criado no seu desktop/atalhos de aplicativo :)

Tags:
Postado em Bandeco por Guilherme Souza. Sem comentários

Sim, mais uma calculadora

Mas dessa vez ela é bem melhor do que as demais (com operações mais completas, mais rápida e feita em JS).

As últimas tentativas minhas de fazer calculadoras foram em 2010, com o projeto cálculos (PHP), e em 2011 com a calculadora de números grandes (C++).

Principais características:

  • Operações exatas com inteiros e frações (até 9.007.199.254.740.992), em várias bases;
  • Operações com double (5.0*10^-324 a 1.8*10^308);
  • Operações com números muito grandes ou muito pequenos (como 2^2^2^2^2);
  • Operações com complexos, como 1/(1+i)
  • Listas: {2, 3, 5, 7}! → {2, 6, 120, 5040}
  • Vetores: [3,14]*[15,92] → 1333
  • Matrizes: inverse(|3,14,15;92,65,35;89,79,32|)
  • Variáveis: x = pi/2
  • Funções: f(a, b) = a!/b!
  • Gráficos: plot(x, -3, 2, x^x)
  • Unidades: (1._in)_mm → 2.54_mm

Acesse o projeto, mande feedbacks e veja o código fonte

Tags: , , ,
Postado em Top!Calc por Guilherme Souza. Sem comentários

Revendo um eZemplo

Meses atrás mostrei meu primeiro programa em C. Resolvi dar uma revisada nele, só por diversão. Segue o resultado:

Ah, sim, ele executado: http://codepad.org/gzjKQA73

Obs.: “ezemplo” porque faz muito mais sentido, tem som de z oras!

Tags:
Postado em C e C++ por Guilherme Souza. 2 comentários

Libere o artista em você

Bem clichê, mas é uma nova ferramenta disponível no editor da HP que lancei 3 dias atrás. Você pode criar seu desenho no próprio aplicativo e inseri-lo na página.

Quando quiser, expresse suas ideias com um desenho simples

Quando quiser, expresse suas ideias com um desenho simples

Como deu pra ver acima, agora ele também tem uma versão em inglês (e outras vindo). Foi meu primeiro programa com suporte multilíngue, mas é importante experimentar com essas coisas.

Tags: , , , ,
Postado em EditorHP por Guilherme Souza. Sem comentários

Uma nova coisa útil

No último post, falei um pouco sobre interfaces e citei meu mais recente projeto: editor de textos para a calculadora HP50g.

O que interessa é que está disponível, aqui: sitegui.com.br/editorHP. Não precisa baixar ou instalar nada, nem no computador nem na calculadora, só criar seu arquivo e salvar num cartão SD e pôr na calculadora. Essa é a primeira versão, claro! Aberto a feedbacks :) Funciona no Firefox (15+) e Chrome (20+). No InternetExplorer não sei, não tive tempo de esperar ele abrir :|

Pra mim esse projeto representa o início do meu compromisso em fazer programas mais úteis, mais completos, mais fáceis de usar e (porque não?) mais bonitos. A ideia de fazer um editor de texto pra HP surgiu no início de 2012 quando vi que a melhor opção era o bloco de notas que (claro) não dá muitos recursos. 10 meses, 312 linhas de HTML, 874 linhas de CSS, 4237 linhas de JavaScript, 341 linhas de PHP depois ele está vivo!

Só pra ter uma ideia melhor do que 5764 linhas de códigos representam: se eu publicasse um livro comum (com 40 linhas por página), isso daria quase 150 páginas :D

Ah, claro: todo o código-fonte está no GitHub. Sinta-se livre para ver e mandar qualquer dúvida que tiver.

Tags: , , , ,
Postado em EditorHP HP por Guilherme Souza. 2 comentários

Enfrentando o monstro de frente

Todo programador sabe que interface é uma parte vital de qualquer projeto, para qualquer público. Ela é, muitas vezes, a diferença entre um produto de sucesso e outro fracassado.

Na verdade, uma boa interface (user interface, UI, como chamam) só surge quando se preocupa em como ela será usada e como irá se comunicar com o usuário: gerar a experiência do usuário (user experience, UX, pros técnicos). Em se tratando de experiência do usuário, três empresas tiram isso de letra:

  • A Mozilla sempre preza pela personalização, você sentir que aquele programa foi feito para você. Isso cria uma aproximação do usuário com o software (e com a marca posteriormente), faz ele se sentir em casa e confortável. No Firefox, por exemplo, toda média/grande mudança no layout vem com uma opção de desativa-la (abas no topo, sites recentes na nova aba).
  • A Google sempre preza pelo não obstrução, seguindo seu slogan “não seja mau” (“don‘t be evil no original) nos seus produtos (GMail, GDocs, etc): o programa não gera alertas desnecessários ou alarmantes, ele sempre oferece um desfazer. Se eu excluir meu e-mail, ele simplesmente é excluído e uma pequena mensagem aparece no topo com a opção de desfazer. Por outro lado, a Google quase sempre impõe seus novos layouts e não permite tanta personalização.
  • Apple, pela intuitividade. Sempre buscam usar botões claros e representados por ícones autoexplicativos, além de sempre relacionar o tecnológico virtual com o simples e real: bloco de notas com fundo de cadernos, visualização de álbuns no iTunes como se fosse um disco, etc.

O ponto é que nunca pensei nesses pontos nos meus projetos, mas vendo agora, foi um grande erro. A central de músicas (player de música), por exemplo, tem uma abordagem que eu não vi ainda em nenhum outro player (analisa como o usuário ouve as músicas para determinar quais ele mais gosta e então reagir a isso, tocando-as mais vezes). Mas a interface mata! Não só questão de ser bonito. Não é intuitivo, não cria uma relação fluída com o usuário.

Então juntei coragem, tempo e uma ideia de abril de 2012: fazer um editor de texto para a HP50g (calculadora gráfica da HP). Fiz alguns experimentos com algoritmos e depois pensei em quem irá usar o programa, pra que e como otimizar sua experiência.
Cheguei num resultado impressionante pra mim, que nunca gostei muito da parte de interface (como a maioria dos programadores: não sou designer!). Pode não ser impressionante comparado com aplicações do mercado, mas pra mim foi uma grande vitória :)

Interface atual do meu projeto recente (ainda não lançado)

Interface atual do meu projeto recente (ainda não lançado)

Esse projeto ainda não está pronto e a ideia aqui não é falar dele, deixo isso pra depois. Mas o código atual já está disponível no GitHub

Tags: , ,
Postado em HP por Guilherme Souza. Sem comentários

Bibliotecas atualizadas

Há vários meses eu estava experimentando com novas versões de bibliotecas para Ajax e banco de dados. Hoje decidi publicar as novas versões de cada uma.

Elas servem para auxiliar com tarefas extremamente comuns no desenvolvimento Web, principalmente no uso de JavaScript (cliente)+PHP (servidor)+MySql (banco de dados). A primeira (AJAX) ajuda na comunicação JavaScript <-> PHP, a segunda (Query) PHP <-> MySql

Aproveitei para documenta-las melhor e coloca-las na recém criada conta no GitHub :)

Agora, na verdade, tenho duas grandes APIs ainda não publicadas:

Uma delas é sobre WebSocket, que já está funcionando razoavelmente (na verdade o que falta é colocar um exemplo funcionando no ar). Ela serve para conectar clientes e servidores de uma forma mais estável e leve do que a que eu implementei antes com a API de Conexão

A outra foi a que eu postei a estrutura do banco de dados um tempo atrás. Só adiantando o nome: névoa, não quero falar mais do que isso por enquanto :P

Tags: , , ,
Postado em API Névoa por Guilherme Souza. Sem comentários

Grandes novidades no Bandeco

Desde o dia 14 (4 dias atrás) estou trabalhando na nova versão do projeto bandeco. O código fonte e todo o histórico de desenvolvimento pode ser encontrado no GitHub (ainda estou me acostumando a trabalhar com ele)

Pra quem não conhece o projeto, ele serve para ajudar os estudantes da Unicamp a ver o cardápio do bandejão (ou bandeco, bandex, etc). Ele tem todo o histórico desde o meio de 2011 (260 pratos diferentes!) e permite você votar nas refeições para compôr a nota daquele prato.

Acesse o WebApp do bandeco (abre em qualquer navegador, inclusive de celulares)

A novidades principais são:

  • Você pode configurar para ser avisado por e-mail do cardápio da semana ou quando o cardápio mudar (porque muitas vezes a feijoada vira salsicha de última hora). Configure agora mesmo isso
  • Funciona offline! Quando conectado, baixa o cardápio da semana e permite visualizar sem conexão
  • Melhor suporte a navegadores de celular (interface e código)

Essa é uma primeira versão, ainda em fase de testes. Diga o que achou, ajuda muito!

(Estou planejando um aplicativo para celular, vamos ver…)

Outras novidades menores incluem ver ranking completo, ir para uma data específica, copiar URL direta, avisos pela API, documentação mais completa da API.

Tags: , ,
Postado em API Bandeco por Guilherme Souza. Sem comentários

Usando o GitHub agora

Boas novas!

A partir de agora, vou colocar meus projetos no GitHub, local onde é mais fácil acessar o código fonte dos projetos e também acompanhar o desenvolvimento deles. Além disso, isso irá facilitar caso alguém queira colaborar com o desenvolvimento de algum deles.

Por hora, estou trabalhando numa grande atualização para a API do bandejão/bandeco da Unicamp. Coloco mais detalhes em breve, mas no GitHub tem o código já atualizado. Nova estrutura do banco de dados:

Além desse projeto, vou mover vários outros para lá também, conforme for me organizando melhor.

Tags: ,
Postado em API Bandeco por Guilherme Souza. Sem comentários

Só digo isso:

Detalhes em breve…

Tags: , ,
Postado em API Névoa por Guilherme Souza. Sem comentários