Barra de pesquisas do Google

Google

domingo, 1 de novembro de 2015

Solucionando o erro de acesso ao PhpMyAdmin no wamp

Se você tentou acessar o PhpMyAdmin do wamp e obteve o seguinte erro:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

A solução é bem simples:


  1. Vá na pasta do PhpMyAdmin (geralmente no diretório C:/wamp/apps/) e abra o arquivo config.inc.php. 
  2. Procure por $cfg['Servers'][$i]['password'] e informe a senha que você criou para o MySQL como no exemplo da imagem a seguir:


Este erro ocorre geralmente quando você instala o MySQL manualmente, aí quando tenta acessar o PhpMyAdmin ele acaba dando este erro por não ter a senha configurada.
Pronto! erro solucionado!

quarta-feira, 28 de outubro de 2015

Javascript... Por que otimizar?


O JavaScript surgiu em 1996 no Netscape Navigator, num contexto onde otimização não era algo muito considerado pelos desenvolvedores, embora as páginas levassem bastante tempo para carregar.

Seu surgimento veio com o propósito de melhorar a experiência do usuário, realizando tarefas mais simples diretamente na página ao invés de utilizar o servidor para isso (imagina você preencher um formulário, esperar de 30s a 60s pra enviá-lo após submeter, e depois receber uma validação de que um campo não foi preenchido?! pois é!) Nessa época o JS era utilizado meramente para enviar mensagens.

Com a chegada do IE4 no mercado e o dynamic HTML (capacidade de alterar elementos das páginas sem precisar recarregá-las), a quantidade de JS nas páginas só aumentou. Em seguida, veio a introdução do DOM (Document Object Model), que nada mais é do que uma abordagem unificada do DHTML que foi adotada pelo IE5, Netscape 6 e Opera, o que logo foi acompanhado pela padronização do JavaScript no ECMA-262 (3ª edição).

À medida em que estes progressos iam acontecendo, sistemas web mais complexos iam surgindo e aumentava a quantidade de código JS nas suas páginas. O problema é que a engine do JS ainda era a mesma de 1996, onde as páginas ainda não eram tão recheadas de JS. Browsers como o IE6 (se é que podemos chamá-lo de browser rs), que surgiu em 2001 se tornaram mais lentos com o passar dos anos pois as páginas que iam surgindo utilizavam cada vez mais códigos javascript, e como a engine era muito antiga, não estava preparada. Em suma, ela trabalhava de forma a procurar um número fixo de objetos na memória para determinar quando deveria coletar o lixo. Nos primórdios do JS, os desenvolvedores não atingiam este limite, mas com o aumento de código JS nas páginas, a quantidade de objetos aumentou e aplicações mais complexas foram sendo desenvolvidas, então este limite passou a ser atingido com frequência, exigindo cada vez mais dos browsers.

Os desenvolvedores web evoluíram, mas as engines estavam paradas no tempo.

Embora os diferentes browsers da época tivessem lógicas diferentes (e até um pouco mais eficientes) para lidar com o problema da coleta de lixo, a maioria deles utilizava um interpretador JavaScript para executar o código. Como se sabe, a interpretação de código exige a tradução entre o código e e as instruções do computador que devem ser executadas, o que é um processo bem mais lento, se comparado com a compilação.
Compiladores já funcionam diferente. Eles determinam a partir de uma análise léxica, o que o código está tentando fazer e então otimiza-o produzindo um código mais rápido para a execução da tarefa.

Em 2008 o Google lançou o Chrome, o primeiro navegador com uma engine otimizadora de JavaScript, o V8, o qual faz a compilação 'just-in-time' do JS e é capaz de produzir código de máquina a partir de JS e executá-lo, resultando na sua execução de forma bem mais performática. Seguindo essa idéia novas engines de JS vieram surgindo e com o passar dos anos evoluindo, como o Nitro do safari, o traceMonkey, JaegerMonkey SpiderMonkey, etc..
Mesmo com estes avanços no tempo de execução no core do JavaScript, ainda há situações que as engines modernas não conseguem resolver, como operações que afetam a aparência das páginas, atrasos provocados pela latência da rede, etc. Assim, o desenvolvedor JavaScript precisa buscar conhecimento para entender varios aspectos diferentes, como latência, bloqueio e downloads em paralelo, interação com o DOM, etc, preocupando-se sempre com a melhor forma de escrever seu código, para obter um melhor desempenho na execução de seu código, melhorando por consequência a experiencia do usuário ao navegar nas páginas.


sábado, 1 de novembro de 2014

Doctype... The history behind Internet explorer issues

There’s a long history — and a black art — behind the doctype. While working on Internet Explorer 5 for Mac, the developers at Microsoft found themselves with a surprising problem. The upcoming version of their browser had improved its standards support so much, older pages no longer rendered properly. Or rather, they rendered properly (according to specifications), but people expected them to render improperly. The pages themselves had been authored based on the quirks of the dominant browsers of the day, primarily Netscape 4 and Internet Explorer 4. IE5/Mac was so advanced, it actually broke the web.
Microsoft came up with a novel solution. Before rendering a page, IE5/Mac looked at the “doctype,” which is typically the first line of the HTML source (even before the  element). Older pages (that relied on the rendering quirks of older browsers) generally didn’t have a doctype at all. IE5/Mac rendered these pages like older browsers did. In order to “activate” the new standards support, web page authors had to opt in, by supplying the right doctype before the  element.
This idea spread like wildfire, and soon all major browsers had two modes: “quirks mode” and “standards mode.” Of course, this being the web, things quickly got out of hand. When Mozilla tried to ship version 1.1 of their browser, they discovered that there were pages being rendered in “standards mode” that were actually relying on one specific quirk. Mozilla had just fixed its rendering engine to eliminate this quirk, and thousands of pages broke all at once. Thus was created — and I am not making this up — “almost standards mode.”
In his seminal work, Activating Browser Modes with Doctype, Henri Sivonen summarizes the different modes:
Quirks Mode
Standards Mode
Almost Standards Mode
In the Quirks mode, browsers violate contemporary Web format specifications in order to avoid “breaking” pages authored according to practices that were prevalent in the late 1990s.
In the Standards mode, browsers try to give conforming documents the specification-wise correct treatment to the extent implemented in a particular browser. HTML5 calls this mode the “no quirks mode.”
Firefox, Safari, Chrome, Opera (since 7.5) and IE8 also have a mode known as “Almost Standards mode,” that implements the vertical sizing of table cells traditionally and not rigorously according to the CSS2 specification. HTML5 calls this mode the “limited quirks mode.”
(You should read the rest of Henri’s article, because I’m simplifying immensely here. Even in IE5/Mac, there were a few older doctypes that didn’t count as far as opting into standards support. Over time, the list of quirks grew, and so did the list of doctypes that triggered “quirks mode.” The last time I tried to count, there were 5 doctypes that triggered “almost standards mode,” and 73 that triggered “quirks mode.” But I probably missed some, and I’m not even going to talk about the crazy things that Internet Explorer 8 does to switch between its four — four! — different rendering modes. Here’s a flowchart. Kill it. Kill it with fire.)
Now then. Where were we? Ah yes, the doctype:
That happens to be one of the 15 doctypes that trigger “standards mode” in all modern browsers. There is nothing wrong with it. If you like it, you can keep it. Or you can change it to the HTML5 doctype, which is shorter and sweeter and also triggers “standards mode” in all modern browsers.
This is the HTML5 doctype:
That’s it. Just 15 characters. It’s so easy, you can type it by hand and not screw it up.
Source: http://diveintohtml5.info/semantics.html#blank-space-gotcha

How Quirks mode works

A document is always set to one of three modes: 
  1. no-quirks mode, the default; 
  2. quirks mode, used typically for legacy documents; 
  3. limited-quirks mode. 
Unless stated otherwise, a document must be in no-quirks mode.

The mode is only ever changed from the default if the document is created by the HTML parser, based on the presence, absence, or value of the DOCTYPE string. [HTML]

No-quirks mode was originally known as "standards mode" and limited-quirks mode was once known as "almost standards mode". They have been renamed because their details are now defined by standards. (And because Ian Hickson vetoed their original names on the basis that they are nonsensical.)




Quirks Mode
In the Quirks mode, browsers violate contemporary Web format specifications in order to avoid “breaking” pages authored according to practices that were prevalent in the late 1990s.

Standards Mode
In the Standards mode, browsers try to give conforming documents the specification-wise correct treatment to the extent implemented in a particular browser. HTML5 calls this mode the “no quirks mode.”

Almost Standards Mode
Firefox, Safari, Chrome, Opera (since 7.5) and IE8 also have a mode known as “Almost Standards mode,” that implements the vertical sizing of table cells traditionally and not rigorously according to the CSS2 specification. HTML5 calls this mode the “limited quirks mode.”

Possible Impacts:
There are several effects that most browsers use in Quirks Mode:
  • In some browsers, the box model changes to the IE 5.5 version of the box model in quirks mode.
  • Some browsers don't inherit styles into tables
  • Quirks mode affects the parsing of CSS and CSS layout dramatically, if you are converting pages to standards mode from quirks mode, be sure to test your CSS layout and parsing extensively.
  • Watch for changes to scripting when in quirks mode. Firefox changes the way the id-attribute works, for example. IE8 and IE9 have very dramatic changes to scripting in quirks mode.

These information are the result of a study I made while working in a legacy product, to understand the behavior why the browser was running under quirks/compatibility mode and find the best solution, considering possible impacts... I strongly recommend to use the latest doctype declaration (i.e. for HTML5) and replace deprecated CSS styles for the html5 equivalent ones).

References:

quinta-feira, 1 de maio de 2014

Moto G: incrivel!

Hoje resolvi postar em português para disseminar aos brasileiros que estão pensando em comprar um novo Smartphone um pouco da minha experiencia de uso com o Moto g, o novo Smartphone da Motorola.

Pesquisei muito antes de comprá-lo, pois sempre fui fã da Samsung e Nokia. A primeira barreira a ser vencida foi a da marca. Essa foi fácil superar, pois ao pesquisar descobri que o Moto g foi desenvolvido pela Motorola enquanto a empresa pertencia ao Google. Isto implica no fato de que o Moto g combinou muito bem seu sistema operacional com seu hardware (processador, memória...).

A segunda barreira foi que, após descobrir o Moto g, fui um pouco mais além e descobri o Moto x (que é considerado por muitos a obra prima do Google junto à Motorola). Não vou entrar em detalhes sobre este aparelho, mas o que pesquisei concluí que apesar de ele ter um processador de dois núcleos (contra um de 4 do Moto g), seu processador é sim melhor. Isto, além de outros recursos de reconhecimento de voz que o Moto x tem me seduziram a querer comprá-lo, até que seu preço de 1399 reais me fez optar por desistir (deixo claro que o valor dele ainda é baixo se comparado a outros modelos do mesmo nível de outras marcas.) Como não queria gastar mais de 1000 reais, voltei a cobiçar o Moto g novamente e analisar concorrentes da Samsung.

Do meu ponto de vista a Samsung pecou por ter lançado uma gama de aparelhos diferentes e com variadas opções (é aquela questão do paradoxo da escolha, onde você oferece opções demais e o cliente passa a ter muitas duvidas e não se decide.) Acabei aceitando o Galaxy s3 mini como concorrente do Moto g (ambos inclusive estavam custando o mesmo preço). O Moto g bateu o s3 pra mim por alguns detalhes, como proteção Corning Gorila glass 3 contra riscos na tela, velocidade de transferencia de dados ao usar internet (21mbps contra 14 do s3 mini), camera frontal de 1.3mp contra uma vga do s3, além do dispositivo da Motorola ser 2 anos mais moderno que o da Samsung e vir já preparado para receber o Android KitKat e , o melhor de tudo, o processador do Moto g que é um quad-core.

Esses foram os principais pontos que me ajudaram a optar pelo aparelho da Motorola, além também de ele vir com o Android puro (sem customizações e aplicativos que as empresas costumam adicionar, o que pode tornar o desempenho do aparelho um pouco lento as vezes).
Moto G VS Samsung Galaxy s3 mini (fonte: gsmarena.com)

Bom, hoje completam 2 semanas que estou com o aparelho e realmente só tenho elogios a respeito. Os serviços do Google funcionam muito bem, o reconhecimento de voz para localizar lugares e dirigir usando o GPS é outra coisa sensacional (mas que é independente do aparelho, e sim do sistema operacional (ou seja, deve funcionar bem em qualquer aparelho com Android).

Também usei o Bluetooth para transmitir músicas pelo som do carro e funcionou tranquilamente. 
Antes deste aparelho, eu tinha um Samsung Galaxy Ace, que comprei em 2011 quando estava na França ainda e o aparelho não estava mais suportando novos aplicativos, acusando falta de espaço interno. O Moto g tem duas versões, uma com 8Gb e outra com 16Gb de armazenamento interno (fornecendo ainda 50gb disponíveis no Google drive). Por alguma razão o meu Google drive ainda não reconheceu e me forneceu estes 50gb, mas acredito que conseguirei resolver este problema assim que tiver um tempinho, entrando em contato pelo suporte da Motorola que posso acessar diretamente pelo aparelho.

PS: Uma outra novidade interessante é que a Motorola divulgou na semana passada que em breve, o drive mode (diferencial forte do Moto x) será disponibilizado para o Moto g. Esta função identifica quando o usuário está dirigindo, lê as notificações recebidas e ainda permite respostas rápidas enquanto o usuário não pode olhar a tela.


Algumas fontes de pesquisa: 


terça-feira, 15 de abril de 2014

UX Weekend in Florianopolis

So fellows, two weeks ago I had the pleasure of participating in a User Experience design course.
It was managed by Edu agni, and began on Friday with the Responsive Day, where we learned some concepts of "Mobile First" and Responsive web design.

Nowadays, when we design a website, we should consider that it can be seen in several types of devices (desktop, tablets, smartphones). This way, the mobile first concept says that we should start developing for the smaller device and then improve the system for the desktop version (when I say desktop version, I refer to a website displayed in a laptop/desktop browser).

But why to start by the mobile version? The answer is simple: If you start to think how to design for a small screen device, you will focus on the information that really matter. This will ensure that the user experience is 'usable'. Also, you can optimize user experience by adding some media queries and applying some styles to display and position information for other devices with different resolutions (designers applies the therm Progressive Enhancement in this context, where you start developing from the simplest, and keep improving the system for other resolutions).

Besides that, we also learned some techniques to understand user requirements (to define it!) such as User Cases, User Stories, Scenarios, Card Sorting. This last one we practiced a bit and it was a very interesting experience, which I'll probably try to apply in the product I work.

Usability Evaluation was one of the main topics we learned in the UX course, and of course, Jacob Nielsen was referenced, as expected, with his 10 heuristics (I'm planning to talk about it in a future post).


Well, It was really productive and I could 'update' my skills as front-end developer.
Here is a pub about the UX Weekend (by the way, I'm in the video! haha)


sexta-feira, 28 de março de 2014

WikiComputação is... back!

So, after sometime, here I am publishing for WikiComputação again. Well, after these almost 2 years without posting anything here, I have some news. I enjoyed a great experience doing an internship for a French enterprise (Fruition Sciences SAS - a French startup that optimizes Wine production), where I developed some enhancements to their Decision-Making support system, using PHP (MVC framework), MySQL, jQuery, HTML and CSS.

I returned from France in october 2012 to complete my Computer Science Bachelor degree, and I had the opportunity to study one last course at UDESC. I picked up HCI (Human-Computer Interaction). I found this topic really interesting. I had the opportunity to study systems usability, ergonomics and other related concepts.

I may have forgotten to mention, but before I go to France, I was doing an internship at Render Multimídia LTDA (a Brazilian e-commerce that sells online courses), and during this period, I was trained to be the Front-end engineer in a team composed by 3 back-end developers and me (the front-end developer). At this point, some third-party enterprise was hired to design the new pages of the e-commerce, and I was creating the html+css+javascript effects from PSD files sent to me by the designers.

I enjoyed a lot this work, and since I was in charge with 'only' this job, I could improve my front-end knowledges really well.
When I went to France, I did an internship as a back-end developer, so I could improve my 'back-end' skills. I came back to Brazil and after one month I got hired by NeoGrid (a Brazilian Multi-National leader in Supply Chain Management), where I started my career as junior developer. There, we work in a SCRUM team, so we're all front-end/back-end developers at the same time.

I'm currently programming in Java (J2EE, JSP, Struts, Oracle, Liquibase). It's been an awesome experience. We also have QA analysts to help us testing the issues we solve (Funny story: If you have already worked with QAs you're probably aware of these phrases:"It works in my machine!" "This problem was not caused by my code changes!", "This is not related to the issue I'm currently working". haha It's a 'funny' war that I'm used to call "QA vs Dev".

PS: I don't know why the QA is a mouse in the cartoon... so don't blame me!!!
Another awesome thing is that we follow almost all the 12 topics to pass in the JOEL TEST.
Well... This was just an introduction to let you up to date about my current situation. As I mentioned, I enjoyed studying HCI concepts. Now, I'm trying to improve my knowledge in this major field and help my team to keep finding better solutions to the products we develop. This way, I came to Florianópolis this weekend to do the ResponsiveDay and User-Experience Design course (UX Weekend), conducted by Edu Agni, a Campus Party Brazil Design Consultant. I just came back from the #ResponsiveDay and it was very productive. Tomorrow we will start the UX Weekend.
I'll be talking about it soon, in my next post.

sexta-feira, 24 de fevereiro de 2012

Google Insights for Search


This is one of my favorites SEO tools. Google insights for search is a Google free service that allows you to check and compare how often the keywords you are checking are searched on the internet by the users. These results will be shown to you by periods of months and years, and if the keyword you are using is something that people has been searching for years, it will also give you a forecast about the next months. Can you see how can you use it in your e-commerce?
So... first situation:
  • You have a product that you don't know what's the best label you should give to him in your website (and I'm talking about this, because it's really important to know what's the best name to your product, and the best name is the more related to your product, that is also the most searched for users). So, how do you choose it? Let's suppose your boss wants to sell carpets in the e-commerce, and you have to choose if carpet is the name the most searched for the users. Go to Google Insights for search and search for "carpet" and its synonyms. In the following image you'll see an example:
As you can see, the red line shows the frequency the word 'Carpet' has been searched, and the blue shows the same about the word 'Tapestry'. You can also notice that Google insights for search made a forecast for the keyword most searched. This information allows you to choose the name carpet, that will easily induce the users to go to find your products.
Let's think about one second situation:
  • You want to give a discount price for some product that you are not selling well. How can this service help you? Think about this: you go to Google Insights and search for this product. You will check the months people look for this product more often. After that, you will be able to see the months you can give the discount. If you are not selling this in a month that people really search for this product, you can think about the reasons why you are not having success in doing it. Maybe your competitors are giving more discounts... anyway, you have something to think about.
As you can see, Google Insights for Search is a really interesting tool, and not just for people who works for e-commerces. Even for writing this post, I used this service. As my mother language is Portuguese, I was in doubt if I should use feature or tool, when I talk about "SEO tools". Yes.. I chose "tools" because after searching in the service, I discovered that people use much more the word 'tools' instead of 'features'. And if people use more this, propably it's the reason why you found my blog and you're reading this.
I hope you enjoy it!

SEO tools

So people.. there's being a long time I have no time to publish here, but in the next days I'm planning to talk a little bit about some interesting SEO tools. This should be interesting for those who are interested in Web Marketing and e-commerce, in general.
Here I present you the tools I'm going to talk about:
  • Google Insights for search
  • Alexa
  • Google Analytics
Yes, there are lots of others SEO tools, and there are much more concepts involved in this subject, than just tools, such as web development, but just to introduce you, I'll talk about these three tools in the next posts and give you some ideas.

quarta-feira, 4 de maio de 2011

font-size attribute in Opera Browser


Usually the developers use the attribute font-size in CSS specifying the font size in px, pt or em, for example. Most of them don't know it doesn't work in Opera... So, you need to have in mind that Opera follows the W3C specifications and, as it's true, if you are trying to change de font-size attribute for Opera Browser without success, you can see how to do this by visiting this website or just by taking a look at the following image:


I really think it helps in the standardization for the use of the fonts... I'm not telling that I like it, because it forbides us to make hacks, but we must try to do the things ok, right?

segunda-feira, 2 de maio de 2011

Brincando com o VBA (Visual Basic for Applications) No ARENA Simulator

Então pessoal... estou iniciando meus estudos de VBA no software de simulação ARENA, da Rockwel Automation. Como iniciante, minha primeira 'atividade focada em programação ali dentro' foi encontrar como programar no ARENA e criar meu primeiro "hello World". Estaria mentindo se dissesse que fiz isso hoje, pois já há pouco mais de 1 mês, brinquei com a ferramenta e criei meu primeiro helloworld ali, mas como desde então tive outras preocupações com o projeto que estou participando, resolvendo muitas burocracias (e sem contar ainda que estou correndo com o TCC), estou voltando a gerir melhor meu tempo para começar a programar efetivamente aqui no Arena...
Hoje vou só explicar os passos pra se chegar no VBA através do ARENA (versão 13.5) e começar a programar.
Com o software aberto, realize os seguintes passos:
1.clique na aba "FILE";
2.Leve o mouse sobre a opção "Template Panel"
3. Clique na opção "Attach";
4. Uma janela abrirá e você deve buscar no endereço da pasta onde se encontra instalado o arena;
5. Acesse a pasta Templates;

6. Abra o arquivo Blocks;

7. Na aba "Blocks" que surgirá no ARENA, escolha o item VBA;
8. Na janela do lado direito, dê um duplo clique no quadrado que surgirá, e Voilà!
Você estará no ambiente de programação de VBA para o ARENA Simulator.

É isso pessoal!

segunda-feira, 20 de dezembro de 2010

Documentando código com Phpdocumentor

Resolvi fazer esse breve post só dar uma ajudinha rápida aos que estiverem iniciando com o PhpDocumentor, para não perderem tempo como eu perdi no começo.
Então... Se vc estiver pensando em documentar seu código Php, na página oficial do PhpDocumentor tem explicando os passos de como fazer... Você pode instalar no seu servidor, ou usar uma interface web deles pra isso, onde vc baixa os arquivos e monta num servidor. É recomendado que vc primeiro realize testes antes de fazer com o código principal, pra vc não correr o risco de fazer besteira e "corromper" seu código.
Então... esse post é só pra dar a dica de que vc não precisa baixar nada disso... basta usar a interface web disponível aqui .
As imagens abaixo são para uma breve orientação:
Acima você viu como selecionar os arquivos pra documentar. A figura abaixo é referente à aba 'output', onde se especifica o diretório de saída onde se encontrará a documentação gerada.
O bacana é que ela sai em HTML, onde você pode add estilos e deixar tudo bem organizado.

sexta-feira, 3 de dezembro de 2010

Metodologias para desenvolvimento de software

Já há algum tempo desde quando decidi que meu tema de tcc seria na área de engenharia de software. A idéia é aplicar conceitos dessa área, na área de pesquisa em que atuei por 2 anos, que é a de informática na educação.
Para isso, estou estudando metodologias ágeis e tradicionais.
Tá sendo bem produtivo, até pq sou realmente fã destes modelos de organização para desenvolvimento. Os processos ficam muito desorganizados quando não aplicamos metodologias, todavia, é claro, é preciso um bom estudo pra descobrir qual metodologia é mais interessante para cada projeto.

Futuramente devo publicar algo sobre metodologias tradicionais ( e fiquem felizes! com referências científicas!). É conhecimento embasado em teorias científicas, e não a opinião pessoal deste mero desenvolvedor e estudante de computação.
abraço e até breve!
PS: acho q em breve vou publicar sobre smartphones também! :D

quarta-feira, 3 de novembro de 2010

ebuddy mantem usuário conectado mesmo após o fechamento do App?

Interessante... Esses dias baixei o aplicativo ebuddy pro meu Nokia E71 e achei bacana utilizá-lo.
Funcionou muito bem... conectou.. conversei com amigos via msn e tudo mais... até aí, beleza!
O problema começou quando fui acessar o msn pelo cliente oficial do msn, instalado no meu notebook. Ele simplesmente não queria conectar! Demorei pra descobrir o motivo, pois já havia reparado que se o msn estivesse conectado via smartphone, o msn no notebook não conectava. O que fiz? desliguei o cel e testei! nada! continuou dando erro!
Após ficar pensando.. resolvi simplesmente trocar a senha e funcionou!
Como eu tinha dois programas pra conectar MSN, instalados no celular, não descobri qual dos aplicativos estava com problema.
Até aí, mistério!
Hoje um amigo meu estava conectado tanto no msn, como no gtalk, com ambos o pc e o iPhone dele desligados. Via gtalk, ele informava a seguinte mensagem: " - on eBuddy for iPhone & iPod Touch www.ebuddy.com/iphone"Ele simplesmente não sabia como isso estava acontecendo, assim como eu, quando aconteceu comigo.
É estranho, pois o ebuddy sempre foi um software bem recomendado e íntegro, mas ao observar isso, dá motivos para desconfiarmos de que, efetivamente, está utilizando nossos dados.
Sugiro que quem verificar o mesmo problema troque a senha (solução que realmente dá certo!)

Abraços

sábado, 25 de setembro de 2010

Orkut infectado com Worm "Bom Sabado"

Hoje acordei e fui dar uma olhada no orkut..
Estranhei ao receber mensagens de pessoas que não falava há um tempão, com um simples recado:"Bom sábado" ou também:"Agora estou por aqui tbm kkkkkk".
Resolvi pesquisar e descobri... O orkut foi infectado por um worm que está sendo chamado de "Bom Sabado". Ele explora uma falha e envia o recado para grupos de amigos, além de adicionar automaticamente seu perfil em outros grupos.
O orkut tem sido alvo de ataques XSS (vulnerabilidade de segurança de páginas dinâmicas) e no passado já aconteceram outros semelhantes.
Você pode ser infectado só de olhar a sua página de recados ou a de alguém infectado, por isso, os especialistas recomendam que não acessem o orkut enquanto esta falha não é corrigida.
Uma dica é limpar os cookies do seu navegador... se estiver no firefox, basta dar ctrl+shift+del, selecionar a opção dos cookies e clicar em "limpar agora".

Tem sites dizendo por aí que o simples fato de você visualizar a bandeira do brasil que foi adicionada nos perfis das pessoas infectadas, vc já está infectado também, mas eu não comprovo esta afirmação, pois eu visualizei e não fui infectado.. apenas não cliquei em nada e nem na minha pagina de recados ou na de outras pessoas... então evitem isso também, ok?
A imagem da bandeirinha é como no exemplo seguinte:

quinta-feira, 2 de setembro de 2010

Simulador de Vôo Em C usando OpenGL

Há bastante tempo estou pra publicar esse post, e me faltava tempo. Hoje vou aproveitar rapidinho e deixar o link para o trabalho que desenvolvi junto com o André Furquim, onde desenvolvemos este simulador de vôo para a disciplina de Computação Gráfica na UDESC, no segundo semestre de 2009.
Este simulador trata de uma câmera guiada pelo usuário através das setas do teclado, orientando-se pela mira, centrada na câmera. O objetivo do jogo é atirar na maior quantidade de aviões possível, no tempo de 1 minuto ou 5 minutos.
São carregados objetos estáticos. Deu-se movimento a alguns objetos (ditos dinâmicos), que são os alvos do usuário (aviões).
Para o cenário, foi utilizada uma skybox de deserto.
Existe tratamento de colisão com a skybox, tratamento de colisão dos tiros (que são esferas), nos aviões alvos (.obj dinâmicos) - o tratamento de colisão dos aviões com os tiros é feito através da técnica de bounding box.

Também há inclusão de iluminação no cenário. (simulando dia e noite)
A biblioteca usada pra som foi a SDL.
As bibliotecas do opengl utilizadas são: glut e glaux
Este programa foi desenvolvido na linguagem C.
O jogo em si é bem leve, mas por causa do arquivo de música de fundo, o jogo ganhou 59mb a mais!
Se estiver interessado no código ou estiver curioso para visualizar, pode baixá-lo clicando aqui.

quinta-feira, 8 de julho de 2010

Problema com Ubuntu 10.04, envolvendo GRUB e MBR

Pois é.. Se você veio parar aqui por problemas semelhantes ao descrito no tópico, e quiser apenas voltar pro windows tranquilamente, acalme-se! a solução que vou referenciar funciona!!
É o seguinte: instalei o ubuntu 10.04 na terça feira, e tava super feliz! interface maneira!! curti mesmo! no dia seguinte, o técnico da dell veio aqui em ksa, trocar a placa-mãe do meu vostro 1520, (detalhe que o problema era no LCD, mas isso não convém neste post). Após trocar a placa, rodei o note no windows e funcionou legal ainda... desliguei, fui para o estágio e quando fui inicializar o note, a surpresa: o grub não carregou! o note reiniciava sem carregar o grub. (o legal é que isso aconteceu no estágio, e no meu terceiro dia! ótimo, né! ¬¬.
Beleza.. A galera do suporte me ajudou e resolveu o problema pra mim. Hoje, quinta feira, tudo funcionou muito bem de manhã e de tarde... quando cheguei em casa a noite, e liguei o note, veio a 'surpresa': novamente o note rebootava e n carregava nada. Tentei várias soluções disponíveis na net, usando um pendrive rodando o live do ubuntu 10.04, sem sucesso. A solução veio usando o cd do windows vista, usando a ferramenta de reparação do sistema dele.
Como fiquei mt feliz com o resultado, resolvi referenciar o blog com o tutorial explicando o passo-a-passo pra solucionar o problema (e foi bem simples!)
Clicando AQUI vc será direcionado para a página que explica com fotos e detalhes o procedimento que vc deve seguir.

quinta-feira, 24 de junho de 2010

O padrão JPEG

Aqui segue a apresentação que eu e o andré fizemos para a disciplina de Sistemas Multimídia, descrevendo o padrão JPEG e seu algoritmo de compactação.

Este trabalho gerou um artigo o qual estou disponibilizando neste link, para ajudar no entendimento deste processo.

Desenvolvendo em Python - Analisador de semelhança de imagens melhorado!

Como já havia descrito no post anterior a aplicação desenvolvida como trabalho final para a disciplina de IA, to vindo aqui agora pra descrever a aplicação final, dada as melhorias que fizemos.Antes tiravamos fotos de 2 em 2 segundos (automático). Isso nos deixava meio perdidos nos testes, pois não sabíamos exatamente o momento em que cada foto era tirada. Assim, implementamos de maneira que cada foto só é tirada qd o usuário pressiona algum botão. No terminal, é exibida uma mensagem indicando qual foto o usuário está tirando, para ele se situar (visto que estamos tirando 15 fotos).Essas fotos são armazenadas nas 3 pastas, como descrito no post anterior e, por questões estéticas (para demonstrar o resultado), estamos gerando um documento HTML bem simples que pega as fotos de cada pasta e as exibe de acordo com a semelhança detectada pelo algoritmo.
Ficou bem bacaninha!Os trabalhos de outras equipes da disciplina também ficaram show de bola.. Desde joguinho de smileys atirando pedra uns nos outros a identificação de semelhança em músicas (para classificá-las de acordo com seu gênero.)
Abaixo seguem os slides da nossa apresentação:




Definitivamente, essa foi a disciplina que eu fiz que gerou os melhores trabalhos, tanto em inteligência como em variedade e qualidade!

sexta-feira, 18 de junho de 2010

programando em python

Depois de um tempinho sem postar, aqui estou... Hoje to programando em python aqui pra tentar evoluir no trabalho final da disciplina de inteligência artificial... eu, o andré e a helô estamos usando o coeficiente de correlação de pearson pra pegar um conjunto de imagens com mesma resolução (extraídas diretamente da webcam), e classificá-las de acordo com a sua semelhança. esse algoritmo não é mt eficiente para esta aplicação, mas estamos utilizando-o por fazer parte dos conceitos aprendidos na área de inteligência coletiva.
problemas que tivemos:
a princípio começamos desenvolvendo no ubuntu, mas descobrimos uma biblioteca mt simples p retirar foto diretamente da webcam, no windows, então fomos mudar... a beleza é que o firefox travou inúmeras vezes ao tentar baixar as bibliotecas scipy e numpy, oq me fez baixar o safari 5 pra repetir o processo (oq n resolveu! :S)... depois de mta paciência, consegui sair dessa fase!!

programa feito!
o nosso programinha ta funcionando que é uma beleza!! hehe
ele age da seguinte forma:
retiramos 15 fotos a cada 2 segundos, pela webcam, e cada foto retirada é comparada com a primeira foto... cada comparação gera um coeficiente (baseado na correlação de pearson). A partir disso, organizamos uma tupla ordenada, contendo estas correlações e suas respectivas imagens, na ordem decrescente, e a aplicação gera 3 pastas... na pasta 1, estão as 5 primeira fotos mais semelhantes, na 2, as intermediárias, e na 3, as menos semelhantes.

c'est tout!

Sign by Dealighted - Coupons & Discount Shopping