Sempre gostei da idéia do Kindle, antes mesmo de ele se materializar e deixar de ser somente um conceito distante.
Li alguns livros no computador. Mesmo com o desconforto da tela, a vantagem de poder ter o livro quase que imediatamente após seu lançamento era ótimo.
Aí veio o Kindle, com seu eInk e a promessa de leituras com conforto total, sem a parte ruim da iluminação dos monitores. A primeira versão sofria de todos os problemas que sofrem os primeiros dispositivos de um tipo (aqueles problemas que os early adopters sempre acabam abraçando): Era caro (US$399 no lançamento por uma tela de 6″), com pouco espaço interno (200Mb contra os 4Gb atuais), mais feio e com o display pior do que é hoje em dia. Ainda assim, babei quando vi as notícias.
Fui ter contato real com um kindle muito depois, ano passado. Quando finalmente segurei um na minha mão e pude ver o impacto real da tela de eInk. Realmente, não parece uma tela. Realmente parece um papel, com uma cobertura que lembra a de uma moldura de foto.
Agora me apareceu uma oportunidade legal de pegar um. E como de costume, eu saí procurando todas as coisas legais que dá pra fazer com ele. E por isso, resolvi fazer esse post antes mesmo do meu poder chegar e eu poder dizer pra vocês o que eu achei xD
Não são dicas novas, originais. Mas são coisas que fui coletando pela internet afora, e achei legal de juntar num lugar só (até mesmo pra eu poder ver depois). As dicas são, em geral, relativas ao Kindle 3.
Project Gutenberg – O projeto gutenberg é um projeto que guarda livros que caíram no domínio público. A maioria dos livros, pelo que vi, está em inglês. Mas acredito que tenham um ou outro em português, também. (mas, ao menos hoje em dia, se você tem um kindle, provavelmente já se acostumou a idéia de ler em inglês :P)?
Things a Kindle 3 Can Do – Isso não é nada de especial, é só uma lista de features.
Anti-Theft Idea: Algumas idéias pra prevenir furto…
About the logging (big brother): Um ótimo tópico pra acompanhar sobre as features mais bigbrother do kindle. Em especial, quero ver quando o meu chegar se consigo redirecionar a localização dele pra mim. Aí, além de anti-furto ainda consigo uma recuperação de roubo.
Comprehensive List of Kindle Hacks/Modifications: Todos os hacks que dá pra fazer depois do Jailbreak. Incluindo Screen Savers custom e até mesmo debian no kindle! :)
Bom, acho que esses são os links que eu reuni. Se achar mais algum, boto por aqui :)
Já tinha comentado há um tempo atrás sobre o meu toc de não ouvir músicas repetidas.
Adoro ouvir música, não gosto de ouvir música repetida. Olhando o Last.fm de pessoas normais, você vê o playcount de determinadas músicas em 60, as vezes mais. Porque são músicas favoritas. No meu caso, minhas músicas favoritas tem o playcount em torno de 7.
Eu tava sem Mp3, então isso não vinha sendo um problema, afinal, no amarok 2.0 tem uma parada chamada dynamic playlist, que deixa você dar regras pra criar uma playlist e a minha regra era “playcount=0″, o que fazia com que músicas que já tivessem tocado não repetissem.
Hoje peguei emprestado o mp3 da namorada por uns tempos, daí fui tentar fazer o que fazia no amarok antigo, e não dava. E mais, com esse negócio de dynamic playlist, corria o risco do amarok sortear uma música que eu já tivesse ouvido no mp3.
Resolvi então fazer um script pro amarok, pra copiar as músicas pro mp3 e incrementar o playcount.
O negócio não tá perfeito, mas acabei de testar e serve super bem ao seu propósito :)
Taí pra quem quiser o negócio ;)
http://code.google.com/p/amarok-copy-musics-to-devices/source/browse/trunk/copyMusicsAmarok.py
Me amarro na idéia de controles de movimento desde que anunciaram o Wii. Naquela época, muita gente tava animada, e muita gente duvidava do sucesso do console da Nintendo. Hoje, 5 anos depois do protótipo mostrado na E3, todos os consoles da geração atual estão dando seu jeito de ter um controle de movimento pra abocanhar uma parte do mercado.
Sou nintendista, mas acho isso muito bom. Acho que controles de movimento são muito bons para certas classes de jogos. E são divertidos e fáceis de aprender, o que facilita quem não joga nada jogar também.
Quando vi o Move, achei uma solução interessante. Quem não pesquisou, o move usa uma técnica contrária ao Wiimote. O Wiimote detecta o sensor (dois leds infravermelho) acima da tv, e se orienta por aí. O move usa a Playstation Eye, a camera do PS3, pra localizar a bolinha colorida no topo do controle. Há vantagens e desvantagens dessa aproximação.
A vantagem principal é que o controle não precisa apontar pra tela, você poderia, em teoria, fazer movimentos mais livres. Com o Wiimote as vezes acontece do controle se perder um pouco, quando você sai sem querer da linha do sensor.
Ainda não usei o move, mas ainda assim, não me parece ser tão preciso quanto um Wiimote, pra uso em jogos tipo on-rails shooter e coisas com mira. Posso estar enganado, e nesse caso, seria de fato uma aproximação melhor, porque tiraria um dos defeitos do Wiimote sem introduzir outros. Do contrário, talvez o ideal fosse fazer algo combinado dentre os dois controles.
Gostaria de testar um pra ter mais do que falar.. Enquanto isso não acontece.. Alguém tem algo a acrescentar? :)
Ultimamente, sempre que eu preciso fazer uma nova instalação de Linux, eu tento fazer com uma Distribuição que eu ainda não tenha usado. A idéia é que eu possa interagir com várias distribuições diferentes, conhecer os vários gerenciadores de pacotes, e quem sabe, achar uma que seja melhor, para mim, do que a que eu uso atualmente, o Gentoo.
Por isso instalei Sabayon no meu computador do trabalho. Era uma distro que eu queria testar já há algum tempo, porque ela é derivada do Gentoo, só que a idéia é que ela seja uma distro menos para curiosos, e mais para usuários. Assim, ela possui um gerenciador de pacotes próprio, o Entropy, que usa pacotes pré-compilados, assim como yum, apt-get, rpm, etc. E também ela é empacotada e finalizada com o intuito de ser usada direto do livecd.
Instalei ela porque por mais que eu goste do Gentoo, para fazer a instalação pode demorar um pouco, se você quiser fazer uma instalação completa de KDE, devido ao tempo que demora para compilar todo o ambiente. E eu queria botar tudo funcionando o mais rápido possível. Pois bem.
Entropy
O entropy parece ser um gerenciador de pacotes muito bom. É, até certo ponto, no mesmo estilo do Portage, e tem uma interface gráfica e um notificador que fica na tray para avisar quando tem atualizações. Porém, a parte gráfica dele ainda sofre de um uso absurdo de CPU. Demora um tempinho para abrir, nada absurdo, mas um tempinho que dá pra notar.
A parte boa é que ele é integrado ao Portage, então você pode, se achar necessário, misturar pacotes dos dois, desde que saiba o que está fazendo. A recomendação é não misturar muito, e usar um como principal, e o outro só pra alguns pacotes complementares.
O Acabamento
Isso eu achei bem legal, o Gentoo não é feito para ter acabamentos, pois a idéia é que você deixe tudo no seu estilo. Mas como o sabayon é meio que direcionado para media-centers e jogos, ele é bem polido, já usa Grub2 com uma imagem de fundo bem legal, o Splash dele é bem acabado também, e assim que você termina de instalar ele, você já tem no Desktop um link pro XBMC que é um media center e para um demo de World Of Goo rodando via Wine.
Há duas opções de livecd, um baseado em KDE4 e o outro em GNOME. Ambos tem a opção de instalar um sistema com Fluxbox pro caso de uma instalação minimalista.
Primeiras Impressões
As primeiras impressões foram muito boas. A única reclamação que eu tenho é que não tem mirrors mais próximos do Brasil, então os downloads muitas vezes demoram um tantinho, mas fora isso, tudo funciona como o esperado.
Recomendo pra quem tá querendo testar alguma coisa fora de Ubuntu, até gostaria de ver uma avaliação de alguém que esteja migrando do Ubuntu para ele para ver o que acha.
Então, fica aí minha recomendação: Sabayon Linux, eu aprovo ;)
Há uns dias atrás eu descobri o Paludis. O Paludis é, segundo a definição do próprio site, “the Other Package Mangler”, ou em tradução livre, o Outro destruidor de pacotes. A idéia do Paludis é substituir o Portage, o gerenciador de pacotes padrão do Gentoo. A reclamação era de que o Portage, além de ter uma resolução de dependências lenta, também era muito, digamos, conivente com certos problemas e estranhezas introduzidas ao longo do tempo.
Com isso, fizeram o Paludis, apenas se baseando no Portage, mas sem seguir estritamente as mesmas regras e idéias. Feito em C++, é supostamente mais robusto e mais fácil de manter, além de ser mais duro na hora da resolução de dependências, e com isso, evitaria certos vícios que o Portage introduziu.
Nunca tive nada a reclamar do Portage, muito pelo contrário, mas sempre que dá eu dou uma investigada em coisas novas, para não acostumar. Acredito que no mundo de hoje, especialmente no meu ramo, não dá pra ficar parado muito tempo sem aprender coisas novas :)
Pois bem, resolvi então testar o Paludis. Com um certo medinho, afinal, mudar o gerenciador de pacotes da distribuição que você usa no dia-a-dia é uma parada meio bizarra e quase certa de dar erro. Fui então testando ele no pior caso de uma vez. Estava sem atualizar o meu computador há quase um mês, e de lá pra cá, nova versão do KDE saiu, isso quer dizer, mais de 100 pacotes novos, atualizando todos os pacotes do KDE.
Pois bem, segui as orientações, instalei, fiz todos os passos para ativar o cache e tudo o mais. E tentei ver se conseguia me habilitar a ele durante alguns dias. Meu saldo final é o seguinte:
Resolução de dependências
É uma bandeira bem levantada que o Paludis resolve dependências mais rápido. Na prática? Não vi diferença. Talvez em outros casos (por exemplo, menos pacotes desatualizados na árvore), ele faça diferença. Mas no meu caso, quase nenhuma.
Resolução de Bloqueios
Comecei a usar o Gentoo em 2007. Nessa época, alguns bloqueios mais triviais, do tipo, uma versão de um software estar bloqueando a versão mais nova dele, algumas vezes aconteciam e tinham de ser resolvidos manualmente. É um passado das trevas para o qual eu não gostaria de voltar. E foi uma das primeiras coisas que vi quando rodei o Paludis. Enquanto o Portage resolveu lindamente os blocks e perguntou apenas se eu gostaria de atualizar, o mesmo comando no Paludis mostrou um block que ele não saberia resolver.
Pelo que vi, talvez isso seja By Design, mas não gostei, anyway.
Por fim, depois de mexer um pouco mais pra lá e pra cá, desisti da experiência. Enquanto lia mais sobre esse problema das dependências vi sobre a grande possibilidade do Paludis ser substituído por um outro, o Cave, por causa de algumas mudanças que vão ser feitas no modo como são feitas as resoluções.
Enfim, de volta ao Portage. :)
Eu sou gerente da equipe que gerencia os softwares dos laboratórios do meu departamento na faculdade, a equipe de Workstations. Basicamente, a configuração lá é um dual boot de Windows XP e Linux, usando o Gentoo como distro, já que era a que eu tenho mais facilidade.
Isso me fez mudar algumas idéias que eu tinha, evoluir outras, e me fez procurar soluções para as quais eu nunca precisei. Explico.
Há alguns anos, desde fim de 2007, se não me falha a memória, que em casa eu só uso Linux. E como eu não sou um usuário comum, isto é, eu não me incomodo de fuçar aqui e ali pra consertar as coisas de vez em quando, ou de fazer um “hack” esquisito pra alguma coisa que não funciona num determinado programa, eu acabava não dando importância quando certas coisas davam errado no meu gentoo. Coisas básicas, na verdade, quase todas de interface. Como por exemplo, o fato de que o Firefox não consegue absorver muito bem as associações de arquivos.
Quando eu entrei pra equipe de Workstations, no meio do ano passado, a distro que estava instalada na época era o Ubuntu. E uma versão do Ubuntu com pelo menos um ano de atraso. Eu “gerencio” uma instalação do Kubuntu na casa da minha namorada, e ela não é uma alternativa muito boa para um ambiente onde tantas coisas precisam estar instaladas. A ferramenta de update do (K/X)Ubuntu ainda não é 100%, e consegue fazer umas cagadas homéricas quando você faz um full-dist-upgrade, ou seja lá como isso é chamado.
Nas últimas duas atualizações do Kubuntu eu tive que reinstalar para que ele voltasse a ser 100% como deveria ser. Isso não é um grande problema quando você tem duas ou três coisas fora do padrão instaladas. Mas quando tem pelo menos 120 pacotes instalados, e muitos deles não são padrão de uso da maioria, isso começa a ficar meio preocupante.
Além disso, a filosofia do Ubuntu é muito boa para um desktop normal, e eu realmente admiro eles pelo que eles fazem. Mas eu não acho que ela seja a filosofia ideal para um ambiente onde grande parte dos usuários usa ferramentas de desenvolvimento. (É preciso lembrar que até poucas versões atrás, o Ubuntu não vinha com o gcc instalado por padrão)
O problema é que quando você muda do Ubuntu, que é uma distro com várias “especializações” para facilitar a interface, para uma distro como o Gentoo, onde a funcionalidade é mais importante, alguns detalhes passam batidos que as pessoas sentem falta. As associações do firefox, que eu citei lá em cima, são um exemplo.
O firefox não consegue, por algum motivo que eu ainda desconheço, reconhecer as associações do Desktop Manager em uso. Ele faz uso de um arquivo, que é gerado baseado no que cada aplicativo diz que aceita. Isso gera alguns resultados estranhos, como o GIMP virar padrão pra abrir PDF. (Pois o GIMP consegue abrir PDFs, ele só não é um visualizador.)
Além disso, por resolver seguir a tradição do laboratório – instalar Desktop Managers que agradem a gregos e troianos – tive a dificuldade de que esse tipo de coisa não é feita, por padrão, e por isso as pessoas não se preocupam em deixar eles amigáveis entre si. O que resultou em algumas associações bem bizarras, principalmente nos Desktop Managers que eu não uso, como o GNOME.
Mas nem tudo são erros, acredito eu. Eu venho tentando aproximar os laboratórios dos usuários, tentando fazer com que as sugestões sejam aceitas de modo mais rápido, as correções feitas de modo mais rápido. Talvez isso compense, de alguma forma, pelos bugs que eu acabei introduzindo sem querer no meio do caminho. Talvez tenha sido uma troca justa?
Uma das coisas mais discutidas, depois que o hype passou, é pra que diabos serve o Wave?
Afinal, quem já tem email não tem muita necessidade de trocar por algo que é mais lento e aparentemente tem as mesmas features, provavelmente implementadas pior, ao menos por enquanto.
E eu tenho que concordar que não tinha visto nenhuma utilidade naquela bagaça, até que semana passada eu precisei fazer um Brainstorm sobre um jeito novo de fazer uma das tarefas do laboratório que eu ajudo a gerenciar.
Como a idéia era fazer um brainstorm, eu queria que todos participassem, e o problema de usar email pra isso, é que vez por outra as pessoas esquecem de dar “reply to all” e aí a parada não funciona como deveria.
Não valia a pena criar um grupo de discussão só pra isso, já que seria só um tópico e acabou.
E aí eu abri meu wave, incluí as pessoas que queria que estivessem no brainstorm, e comecei a escrever.
Acho que finalmente achei a serventia, e por isso estou escrevendo: Usem o Wave pra situações onde pessoas possam ser incluídas depois. No caso do brainstorm, alguém podia lembrar de algum amigo que conheça bastante do assunto sendo falado e incluir para que ele pudesse falar sobre o assunto também.
Se fosse por email, teria o inconveniente de ter que repassar toda a thread original para a pessoa, além de ter que dar um jeito de incluir em todos os emails enviados dali em diante (as pessoas poderiam dar reply num email antigo da discussão, antes de ele entrar)
Ou seja, acredito que o Wave seja bom para duas situações: Brainstorms e organizações de eventos. Nesses dois casos incluir mais gente é uma possibilidade (“Hey, vou convidar fulano, tô incluindo ele no email”) e acho que no Wave isso é mais natural.
E vocês, quais serventia vocês acharam pro Wave?
Durante um bom tempo fui contra a “automatização” da computação. Achava que isso ia causar uma sucatização massiva. Achava que se o cara pudesse gerar código automaticamente, tudo ia acabar descambando pro código automático porco que não ia servir pra muita coisa. E andei até conversando com várias pessoas sobre o assunto.
E depois de conversar sobre o assunto, cheguei a conclusão de que estamos passando pela evolução que passaram os alfaiates. No princípio, tudo era feito a mão. Os alfaiates faziam as roupas, cobravam o quanto queriam por elas, pois não eram tantos os que eram mestres na profissão. E com o tempo, surgiu a indústria de roupas, o barateamento das roupas, e os alfaites, ainda existentes, caíram basicamente em desuso.
Exceto talvez pelos ternos. Já ouvi muita gente falando que terno que não é ajustado pessoalmente pra você é basicamente inútil. Não é confortável, não cai bem, etc etc.
Não uso ternos, mas já ouvi mais de uma pessoa falando isso. Fora que ternos são peças de roupas bem específicas e bem caras, também.
Por isso o paralelo, acho que com o passar do tempo a computação evoluirá para algo no molde da alfaiataria: O comum será usar fábricas de software. Software barato, rápido, que serve pro que você precisa. E só quem precisar de algo específico – só quem precisar de um terno – irá recorrer ao software feito a mão. Não completamente a mão, claro. Hoje em dia mesmo quem faz software específico não escova mais bits. O compilador ajuda muito nessas horas. Mas hoje em dia acredito que mesmo os alfaiates tem mais evolução do que tinham há anos atrás.
Eu nem sei o que a maioria das pessoas considera software específico. Eu mesmo não sei se sei. Há um tempo atrás qualquer coisa que usasse uma camada de abstração em cima do banco pra mim já começava a ficar bizarro, porque já tinha visto várias consultas desnecessariamente grandes sendo geradas pra coisas bobas. Mas hoje em dia não sei qual é o “state of the art”, então não sei se tenho como dizer como está esse nível.
Ainda acho que automatização demais faz mal. Só gerar um UML e mandar ele gerar o software pra você não vai fazer o melhor software do mundo. Mas talvez ele esteja na medida certa pra 90% das pessoas. E o princípio de pareto ainda é o mais importante. Melhor fazer 20% do esforço e resolver 80% dos problemas.
Bom, eu não sou exatamente um expert em C#, mas uso no dia-a-dia no trabalho, e ultimamente uma coisa vem me incomodando bastante na sua definição.
Primeiro, vamos deixar claro, uso .net v2.0. Ou seja, não sei se o problema foi corrigido nas versões posteriores, mas pelo que vi, não o foi.
Quando criamos um DataGrid em C#, para exibirmos dados no DataGrid precisamos especificar um DataGridTableStyle, que é o define que tipo de dado será exibido naquele DataGrid, qual será o nome de cada coluna, a ordem das colunas, etc.
Pois bem, temos então algo nesse estilo:
DataGridTableStyle estilo = new DataGridTableStyle();
estilo.MappingName = typeof(List).Name;
DataGridTextBoxColumn coluna = new DataGridTextBoxColumn();
coluna.MappingName = “Campo”;
coluna.HeaderText = “Meu Campo”;
estilo.GridColumnStyles.Add(coluna);
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(estilo);
Agora olhe bem pra esse código. Você a vê a linha que define coluna.MappingName? Pois é. Ele define uma string com o nome do campo. Sim, uma string hard-coded no seu código.
“Ah, mas qual o mal nisso?”, você pode perguntar. Como é sabido, o Visual Studio tem uma ferramenta de refactor razoavelmente eficiente. Que deixa que você modifique o nome de um campo para melhorar o seu código em poucos passos. No entanto, com o nome no campo assim numa string, isso passa a não ser mais tão útil assim, pois você tem que ir lendo todas as ocorrências da string para ver se elas são mesmas relativas ao campo que você está modificando. Se você esquecer de alguma, você terá problemas no seu programa.
Um outra caso é que em refactors algumas vezes você muda a estrutura do seu programa e aí você não pode ter certeza se o campo que você quer apagar realmente não é referenciado pois não é possível encontrá-lo sem que você busque pela string e vá vendo ponto-a-ponto.
Não é o pior problema do universo, no entanto, vai de encontro a toda facilidade de refactor estabelecida no Visual Studio.
Eu procurei e não encontrei solução para isso, e fiquei bem decepcionado. Tive que usar de truques pra encontrar essas coisas no código, como declarar uma variável temporária do mesmo tipo da Classe usada na Lista para poder usar o refactor.
Vocês conhecem uma solução melhor?
Bom, a verdade é que me deu uma vontade louca de falar sobre o DS esses dias. Eu tô nessa de DS desde novembro de 2007, basicamente 1 ano depois do lançamento do DS Lite.
Então vou fazer uma série de posts falando sobre o DS e como ele chegou ao que é hoje, pelos meus olhos. Vou falar principalmente da parte de homebrew, porque acho que é a parte onde complica.
No primeiro post eu falei de origens, do GBA e dos primeiros flash carts, sem entrar em muitos detalhes.
No segundo post eu falei sobre a infância do homebrew no DS e o que era o DS quando eu comprei o meu.
Nesse terceiro e último post eu vou falar sobre como vejo hoje em dia o DS.
R4: Ladrão que rouba ladrão…
É fácil de ver que quando um produto faz sucesso, o que mais acontece é ele ser copiado até a exaustão (Vii, Polystation, dentre outros), e se isso acontece com produtos oficiais legalizados e tudo mais, imagina como não é com um flash cart, que está numa área muito cinza da legalidade?
Depois que o R4 ficou famoso, o que mais começou acontecer foram os inúmeros clones dele. Primeiro, clones com o mesmo nome, ou seja, R4 falsificados. Depois que isso ficou muito na cara, começaram a surgir clones com outros nomes. Até porque, e isso eu não sei dizer corretamente, o R4 tem um hardware igual ao M3, e eu não sei qual deles veio primeiro. Mas aí veio também o G6, o R4 SDHC, e tantos outros clones espalhados por aí.
Aí eu fico até com um pé atrás de recomendar algum flash cart quando alguém me pergunta. Porque como eu vou dizer qual deles é o melhor pra comprar? Se o R4 já hoje em dia tem grandes incompatibilidades, o que dizer dos clones?
E até onde os clones são compatíveis com os firmwares, originais ou não?
A boa coisa do R4 original é que ele roda, por exemplo, o YSMenu, que é o firmware do DSTT modificado para rodar no R4 (o que aumenta a compatibilidade, já que o R4 não tem mais seu kernel atualizado desde ’08).
Claro que além do R4, existem outros chips como o próprio DSTT, o CycloDS ou o Acekard, mas não tenho conhecimento de causa suficiente pra recomendar nenhum deles, e não sigo de perto os lançamentos em cada um pra saber como funcionam os lançamentos recentes neles.
Por isso, fica a conclusão, ao comprar seu Flash Cart hoje em dia, tome um cuidado extra. Pesquise bem nos fóruns antes de comprar seu DS pra não ficar arrependido depois.
« Previous Page —
Next Page »