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.
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.
Nesse segundo post eu vou falar sobre a infância do homebrew no DS e o que era o DS quando eu comprei o meu.
DS: Pegando carona numa onda que já vinha
Quando o DS saiu com seus dois slots, quem já estava desenvolvendo em GBA pensou logo em usar aquela entradinha safada de GBA, chamada Slot-2, pra continuar o que já fazia usando o DS. Já que o DS roda GBA nativamente, a maioria das coisas feitas pela cena homebrew de GBA podia ser aproveitado sem problemas no DS. Óbvio que sem usar todo o seu potencial, mas ainda assim, usado.
Naquela época, o que foi feito foi usar um dispositivo semelhante ao que já era usado no GBA, porém melhorado, e para conseguir fazer ele funcionar para jogos de DS, foram usados métodos que enganavam a firmware do DS. Estão aí incluídos dispostivos como o SuperKey e o FlashMe, um firmware modificado para o DS.
Era então um pouco complicado esse início. Era necessário adquirir um cartucho para o slot-1 como o superkey, um flash cart para o slot-2 para botar os jogos, e aí sim era possível usar. Não era muito complicado, mas pra quem era leigo, a coisa começava a enrolar.
Depois de algum tempo, a encriptação do DS foi quebrada, e com isso os cartuchos para SLOT-1 puderam ser fabricados, no início, com compatibilidade pequena, mas aos poucos foi aumentando e se equiparando aos cartuchos de SLOT-2, que já estavam mais consolidados. Nessa época passa a ser possível comprar somente um cartucho, alguns com memória interna, outros aceitando cartões externos, como MicroSD.
Cartuchos de SLOT-1 tem a desvantagem de que não é possível jogar GBA diretamente deles. Para jogar jogos de GBA a partir de um cartucho de SLOT-1 é necessário outro dispositivo no SLOT-2 que sirva somente para isso. Dispositivos de SLOT-2 também tem a vantagem de aumentar a memória do DS, como é o caso do cartucho do Opera DS.
Nessa época que eu comprei meu DS. Na época, o Flash Cart mais proeminente era o R4. Claro que haviam outros, mas era o que tinha melhor custo x benefício.
O R4 tinha a vantagem de ter seu firmware colocado dentro do MicroSD, como é comum nos flash carts, e seu firmware era atualizado com frequência, para corrigir eventuais jogos novos que não funcionavam.
Mas claro que isso atraiu os olhos de outros piratas.. E é aí que entra a 3ª parte da minha história :)
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.
Nesse primeiro post vamos falar de origens, vamos falar do GBA.
Nintendo GBA: Onde tudo começou
Antes do GBA, pirataria em consoles com fitas era um pouco mais complicado. Não que não existissem jogos piratas, mas você tinha que ir em algum fornecedor e comprar o jogo pirata, e só assim você ia rodar um jogo não oficial no seu portátil.
Sempre existiram cartuchos em que era possível escrever, mas em geral esses cartuchos ficavam de posse dos desenvolvedores. Existiam alguns dispositivos para fazer backups de cartuchos mas eram caros e basicamente difíceis de conseguir, ao menos no Brasil. Eram exemplos o Game Doctor SF, pra SNES. E em especial, a Bung, que fez acessórios semelhantes para Nintendo 64, Neo Geo, e GB/GBC. [1]
Embora nos EUA o Doctor V64, dispositivo de backup da Bung para N64, tenha feito sucesso, o terreno ainda não era propício, roms de N64 eram grandes pra internet na época. Era difícil armazenar um arquivo que tinha entre 4Mb e 16Mb em servidores online.
Não achei dados, mas acredito que o GBA tenha coincidido com a época do barateamento das memórias flash, como cartões de câmera, pendrives e etc. Com isso, foi muito simples fazer um cartucho nesse estilo e fazê-lo ficar barato e atrativo, com um espaço razoável. Além disso, na época, era muito fácil disponibilizar os jogos online. Fazendo assim um terreno fértil para acessórios do gênero.
Assim, ao fim da vida do GBA, era possível você comprar um dispositivo chamado Flash Cart (cartucho Flash), um exemplo era o Extreme Flash Advance, e passar seus jogos baixados da rede pra ele, e então jogar no seu GBA, sem emuladores. Assim começa o homebrew do DS.
[1] http://en.wikipedia.org/wiki/Bung_Enterprises
Quando o Chrome foi lançado foi um grande estardalhaço. Vozes se elevaram falando sobre a possível morte dos outros browsers em face a um browser suportado pela Google. Com o grande gigante da internet apoiando um Browser, como poderia ser diferente?
Aos poucos as pessoas viram que não era bem assim. Pra começo de conversa, depois de pesquisas, descobriram que os usuários nem sabiam o que era o browser. E muita gente nem tinha idéia de como usar o Chrome no lugar do Internet Explorer que eles aprenderam a usar desde sempre.
Depois, esbarraram no segundo problema, o ambiente corporativo. Como muita gente sabe, existem zilhões de sistemas de intranet desenvolvidos para IE (mais especificamente, IE6) e por isso, em muitos ambientes corporativos não há a opção de mudar de browser, porque não há sentido em gastar dinheiro migrando um software que está funcionando para outro simplesmente porque a internet chora contra o IE6.
Mas dentre os power users, o chrome foi ganhando mais e mais momentum, comigo foi diferente porque, como muita gente sabe, em casa eu só uso linux há uns dois anos, e ainda não tinha versão do chrome para Linux. Depois apareceu um alpha mas dava muito trabalho pra instalar. E finalmente semana passada eu vi uma versão do chromium (a engine open-source por baixo do Chrome) para instalar no Gentoo.
Minhas primeiras impressões foram as melhores possíveis. Tudo funcionou sem dor de cabeça: Flash, Java. Ao contrário do Firefox, associações de arquivo também funcionaram maravilhosamente, pdf abre no meu aplicativo favorito do KDE.
A velocidade em relação ao firefox é impressionante. Embora a versão de Windows tenha ficado mais rápida quando pulou para a 3.5, a versão de linux continuou muito lenta. E pesada. E bugada. A mozilla parece não ligar para o segmento linux, mas até faz sentido, já que seu Market Share é principalmente formado por usuários Windows.
Eu sei que o Firefox vai ficar abandonado por aqui. Estou usando só para links que não funcionam corretamente no Chromium, que até agora são poucos. E recomendo a quem puder, testar o Chromium também.
Bom, não é de hoje que pendrives são falsificados. Eu, por sorte, nunca peguei nenhum, mas é bem comum ver amigos comprando pendrives e recebendo uma falsificação de presente.
Dependendo do pendrive até dá pra ver só pelo acabamento, mas ainda dá pra achar uns que são quase iguais ao original, então o que fazer?
Dois são os fatores preocupantes nesse caso:
- O fato de, por ser falsificado, ter menos qualidade na fabricação.
- O fato de, por ser falsificado, não ter todo o espaço anunciado.
O primeiro não tem jeito, é complicado descobrir se é original, a menos que você use algo como o suporte da Kingston, onde você põe o número de série e ele te diz se é original.
Quanto ao segundo tem jeito. Existem programas que fazem a checagem do espaço físico do Pendrive para verificar se todo o espaço está funcional. Um deles é o h2testw. Preciso descobrir um software semelhante para o Linux, mas esse funciona no Windows e a idéia é bem simples:
Assim que você adquirir seu novo pendrive, você formata ele (se ele for um daqueles afrescalhados que vem com programas e tudo o mais, faça backup deles, se assim quiser), e em seguida, roda o programa. O programa então vai criar vários arquivos ocupando todo o espaço do pendrive. E em seguida, ele vai tentar ler esses arquivos para verificar se está tudo lá como deveria.
Um teste simples, mas que evita futuras dores-de-cabeça, como descobrir, depois de ter enchido o pendrive, que certos dados não estão sendo lidos corretamente.
Ainda sobre o H2testw: H2testw 1.4 – Gold Standard In Detecting USB Counterfeit Drives
Já dizia a 3ª lei de Clarke:
Any sufficiently advanced technology is indistinguishable from magic.
Acredito que isso é o maior problema das pessoas. Acreditar que tecnologia é mágica. Já comentei por aqui o quanto as pessoas acham que computadores são seres com vida própria, mas além disso, eu vejo com frequencia as pessoas tendo suas contas roubadas, fotos que não deveriam ir a público aparecerem na internet, e na maioria das vezes, é por pura ingenuidade. Ultimamente tem acontecido muito no Twitter. Um dos admins do site tinha sua senha como dictionary, ou seja, era uma palavra comum e conhecida, sem nenhum tipo de modificação. Assim, tipo, “Deus”. Porra.
E ainda hoje em dia eu vejo pessoas colocando suas datas de nascimento como senha. “Ah, é que é muito difícil gravar senha, né?”. E tasca-lhe engenharia social. Ainda mais com orkut, facebook, twitter, hoje em dia cê nem precisa mais falar com a pessoa. Basta ver num dos serviços a data de nascimento e pronto.
Antes dessa onda de redes sociais, o comum era que fotos que não deveriam ir a público, tipo fotos durante sexo e coisas assim, acabarem vazando na internet quando computadores iam para o conserto. Nesse caso, embora eu ache meio inconsequente deixar esse tipo de coisa no computador, o desconhecimento tecnológico até poderia desculpar e aí tem também a falta de ética dos técnicos e tal. Mas hoje soube de um caso em que um casal colocou as fotos no flickr, e parece que lá tem opções de compartilhamento tipo as do orkut, de limitar quem pode ver determinado álbum. As fotos vazaram, claro. Eu até acredito na bondade das pessoas, então acredito que o mais provável é que uma das pessoas na tal lista deixou sua conta logada em um computador público e bang, perdeu.
Já vi em laboratórios da faculdade contas de email logadas tantas vezes, essa seria só mais uma.
Será que dá pra mudar? Fazer as pessoas notarem que a internet não é um mundo cor de rosa? E mais importante ainda.. Botar algo na internet equivale a mijar na piscina. Você pode até não ver, mas ainda está lá, em algum lugar, provavelmente em vários lugares. Nem que seja guardado num canto sujo de um hd de alguém, até o dia que ele resolver que aquilo é bom pra postar em algum lugar. Faça o seu papel para um mundo melhor: conscientize um amigo sobre a importância de uma senha segura, de pensar duas vezes sobre botar alguma coisa online e sobre a segurança dos arquivos dele.
Bom, a Sandisk faz alguns dos melhores players que eu já botei a mão, isso é fato. Mas também é fato que o Firmware do Sansa e250 não é uma jóia rara.
Eu sou um pouco chato com músicas. Gosto de ouvir minhas músicas no Shuffle e repetir músicas o mínimo possível. Pois bem, no início, assim que comprei o player, a versão do Firmware que veio com ele tinha um bug que não deixava que você usasse o shuffle sem ter uma playlist. Pois bem, durante muito tempo, até lançararem um fix, eu gerava uma playlist sempre que botava músicas no player, botava ela aleatória, e daí só ouvia a playlist. Um bom jeito de consertar? Nem tanto. Era meio incômodo ter que fazer isso sempre, mas passa.
Aí veio um update, consertou isso mas alguns problemas continuaram. Como por exemplo: se você estiver ouvindo músicas em shuffle e resolver que quer ouvir FM, você perde a lista de músicas que estava ouvindo. De novo, eu sou chato, mas pra mim isso incomoda um pouco.
Há tempos que vinha querendo botar o Rockbox no meu player, mas por meu player ser um e250 v2, não podia fazer isso: somente os v1 eram suportados.
Até que recentemente os v2 começaram a ser suportados e como o e200v2 é a única série que dá pra desbrickar caso algo dê errado, reuni coragem e fui na fé.
Tudo parece estar funcionando e até agora o firmware parece perfeito. Consertou pequenos bugs que me incomodavam no firmware original, além de ter várias coisas extras (como joguinhos e aplicativos).
Além disso, ele também adiciona suporte à plugins que antes não eram suportados pelo meu player, como ogg e flac. O que é maravilhoso, porque assim a transferência do PC pro player fica mais rápida, sem ter que fazer transcode.
Ainda tô na lua de mel, conforme for achando problemas vou botando por aqui, mas até agora, tudo são flores :)
Next Page »