Desen_20120806a20120810
S\303O PAULO \u2013 Pouca gente consegue entender como a Apple consegue fidelizar seus clientes, mesmo com o alto pre\347o dos aparelhos e as constante atualiza\347\365es. Segundo o site Smartmoney, os cliente da Apple s\343o verdadeiros f\343s da empresa e v\343o defender a marca para o resto da vida. Pensando nisso o site listou as coisas que a Apple nunca ir\341 dizer aos seus clientes. Confira:
Frustra\347\365es
At\351 os clientes mais fi\351is da Apple se dizem chateados com os constantes lan\347amentos de novos aparelhos. Segundo o site Smartmoney, os consumidores est\343o frustrados porque quando compram o mais recente produto da Apple, a empresa normalmente j\341 est\341 preparando a substitui\347\343o.
\u201cTudo que compramos deles j\341 est\341 ultrapassado\u201d, explica o consultor de tecnologia Patchen Barrs, que possuiu 25 produtos da Apple adquiridos nos \372ltimos 20 anos. Desde 2001, a empresa lan\347ou seis iPod, dois iPod mini, seis iPod nanos, quatro Shuffles iPod e quatro edi\347\365es do iPod Touch. A Apple lan\347ou cinco modelos de iPhone desde 2007 e teve tr\352s iPad desde 2010.
Obviamente, todos os modelos ganharam vers\365es mais r\341pidas, ficaram mais finos e com recursos adicionais, como c\342meras melhores e telas com qualidade melhorada. Segundo o site Smarthmoney, a Apple se recusou a comentar o assunto e informou que as melhorias mais do que justificam o processo acelerado de suas atualiza\347\365es.
Consumidores est\343o com medo
Mesmo com os benef\355cios das atualiza\347\365es, quase 50% dos consumidores dizem que est\343o receosos em comprar novos produtos devido ao lan\347amento em curto de prazo de vers\365es mais atualizadas. Os dados s\343o de uma pesquisa recente com duas mil pessoas, realizada pela revista Marketing, no Reino Unido.
Em julho, a Apple deixou a desejar mais uma vez quando lan\347ou uma nova vers\343o de seu software de Airplay, que praticamente conecta gadgets da Apple e transmite v\355deos de computadores para a Apple TV. Mas o novo Airplay n\343o \351 compat\355vel com computadores iMacs e do MacBook Air comprados antes de meados de 2011.
Passando eventos para uma m\341quina virtual Ter\347a-feira, 07/08/2012 \340s 11h15, por Alexey Lyashko
O c\363digo fonte para este artigo pode ser encontrado aqui.
M\341quinas virtuais e frameworks de software constituem uma parte inicial de nossa vida digital. H\341 VM complexa e frameworks de software simples. Estes dois artigos (virtual machine simples e tempo de execu\347\343o de framework simples atrav\351s de exemplo) mostram o qu\343o f\341cil pode ser implementar voc\352 mesmo. Eu fiz o poss\355vel para descrever a forma como o c\363digo VM pode interagir com c\363digo nativo e o sistema operacional, no entanto, a intera\347\343o ainda \351 deixada para tr\341s sem explica\347\343o. Este artigo ir\341 corrigir essa omiss\343o.
Como de costume - nota para nerds: O c\363digo fonte dado neste artigo \351 apenas para exemplo. Eu sei que este framework est\341 longe de ser perfeito, portanto, este artigo n\343o \351 um HOW TO ou tutorial - apenas uma explica\347\343o do princ\355pio. Verifica\347\365es de erro s\343o omitidas de prop\363sito. Voc\352 deseja implementar um quadro real - fa\347a voc\352 mesmo, incluindo verifica\347\365es de erro. Ao dizer c\363digo VM, n\343o me refiro \340 implementa\347\343o da m\341quina virtual, mas ao pseudo-c\363digo que corre dentro dela. Vis\343o geral da arquitetura
Desnecess\341rio mencionar que a capacidade de transmitir eventos/sinais a um c\363digo executado pela m\341quina virtual implica em uma mais complexa arquitetura VM. Enquanto todos os exemplos anteriores foram baseados em uma \372nica fun\347\343o respons\341vel pela execu\347\343o, a adi\347\343o de eventos n\343o significa apenas a adi\347\343o de uma outra fun\347\343o, mas teremos que introduzir t\363picos para nossa implementa\347\343o. Pelo menos dois segmentos s\343o necess\341rios: Actual VM - esta thread \351 respons\341vel pela execu\347\343o do c\363digo execut\341vel da VM e pelo envio de eventos da fila (processador); Event Listener - esta thread \351 respons\341vel pela coleta de eventos relevantes para os sistemas operacionais e pela adi\347\343o deles na fila de processos da da VM.
Voc\352 pode ver que a fun\347\343o Core(), no c\363digo fonte anexo, cria thread adicional.
Fig.1: Arquitetura VM com Event Listener
Event Listener: Essa thread coleta eventos do sistema operacional (movimento do mouse, key up/down etc.) e adiciona uma nova entrada para a lista de estruturas de eventos.
typedef struct _EVENT { struct _EVENT* next_event; // Pointer to the next event in the queue int code; // Code of the event unsigned int data; // Either unsigned int data or the address of the buffer // containing information to be passed to the handler }EVENT; O c\363digo para o listener \351 bastante simples: while(WAIT_TIMEOUT == WaitForSingleObject(processor_thread, 1)) { // Check for events from the OS if(event_present) { EnterCriticalSection(&cs); event = (EVENT*)malloc(sizeof(EVENT)); event->code = whatever_code_is_needed; event->data = whatever_data_is_relevant; add_event(event_list, event); event->next_event = NULL; LeaveCriticalSection(&cs); } }
O c\363digo \351 suficientemente auto-explicativo. Antes de tudo, ele verifica eventos dispon\355veis (essa parte \351 omitida e substitu\355da por um coment\341rio). Se houver um novo evento para transmitir \340 VM, ele o adiciona \340 fila. Enquanto neste exemplo a coleta de eventos \351 implementada como um loop, na vida real, voc\352 pode faz\352-la na forma de callbacks e usar o loop acima apenas para esperar a thread do processador para sair.
Processador
Obviamente, o "processador" thread vai ser um pouco mais complicado, ent\343o, no artigo anterior (tempo de execu\347\343o de framework simples atrav\351s de exemplo), como al\351m de executar a fun\347\343o run_opcode (CPU **), ele tem que verificar se h\341 eventos pendentes e passar o controle de fluxo para o handler associado no c\363digo VM.
typedef struct _EVENT_HANDLER { struct _EVENT_HANDLER* next_handler; // Pointer to the next handler int event_code; // Code of the event unsigned int handler_base; // Address of the handler in the VM's code }EVENT_HANDLER; DWORD WINAPI RunningThread(void* param) { CPU* cpu = (CPU*)param; EVENT* event; EVENT_HANDLER* handler; do{ EnterCriticalSection(&cs); if(NULL != events) { event = events; events = events->next_event; // Save current context by pushing VM registers to VM's stack cpu->regs[REG_A] = (unsigned int)event->code; cpu->regs[REG_B] = event->data; handler = handlers; while(NULL != handler && event->code != handler->event_code) handler = handler->next_handler; cpu->regs[REG_IP] = handler->handler_base; free(event); } LeaveCriticalSection(&cs); }while(0 != run_opcode(&cpu)); return cpu->regs[REG_A]; }
Estamos quase terminando. Nosso framework j\341 sabe como passar eventos para um handler correto no c\363digo da VM. Duas coisas ainda precisam ser descobertas - registrar um handler e retornar de um handler.
Retornando do handler
Devido ao fato de que o Event Handler n\343o \351 uma rotina regular, n\343o podemos retornar dele usando a instru\347\343o regular RET, em vez disso, vamos introduzir uma outra instru\347\343o - IRET. Como o evento realmente interrompe o fluxo de execu\347\343o do programa, IRET - retorno de interrup\347\343o \351 exatamente o que precisamos. O c\363digo fonte que manipula essa instru\347\343o \351 t\343o simples, que n\343o h\341 necessidade de fornec\352-lo aqui no texto do artigo. Tudo o que ele faz \351 simplesmente restaurar o contexto do c\363digo da VM disparando os registos previamente
inseridos na pilha.
Registrando um Event Handler A \372ltima coisa que resta \351 "ensinar" o programa escrito em pseudo assembly a registrar um handler para um tipo determinado de evento. Para fazer isso, precisamos adicionar uma chamada de sistema simples - SYS_ADD_LISTENER. Essa chamada de sistema aceita dois par\342metros:
C\363digo do evento para handler. Endere\347o da fun\347\343o handler. loadi A, 0 ;Code of the event loadi B, handler ;Address of the handler subroutine _int sys_add_listener ;Register the handler
C\363digo de exemplo
O c\363digo de exemplo anexado a este artigo \351 a implementa\347\343o de todos os itens acima. Ele faz o seguinte:
Vejo voc\352s na pr\363xima.
\u2042
Texto original dispon\355vel em http://syprog.blogspot.com.br/2012/05/passing-events-to-virtual-machine.html
Gr\341ficos mais bonitos e econ\364micos vir\343o para Macs e iGadgets com o novo OpenGL
Desenvolvido pelo Khronos Group, o OpenGL est\341 presente em quase todas as plataformas, sejam elas m\363veis ou de computadores. Padr\343o em Macs e iGadgets, a tecnologia possibilita a cria\347\343o de gr\341ficos em duas ou tr\352s dimens\365es.
A nova atualiza\347\343o OpenGL 4.3 traz in\372meras melhorias, al\351m de vir com compress\343o de texturas ETC2/EAC como padr\343o, um sistema de depura\347\343o melhorado e alguns avan\347os de seguran\347a. Como a presen\347a em plataformas m\363veis da OpenGL \351 muito maior do que em computadores, sua vers\343o mobile tamb\351m ganhou melhorias.
A OpenGL ES 3.0 adicionou suporte para GPUs, melhorias na velocidade de renderiza\347\343o de texturas e tornou a vers\343o mais parecia com a vers\343o para desktops. Desta forma, em breve poderemos ver jogos ainda mais bonitos em nossos iPads, iPhones e/ou iPods touch.
Refer\352ncias de novas gera\347\365es de iMac e Mac Pro s\343o encontradas no OS X Mountain Lion
De acordo com o AppleInsider, arquivos internos de configura\347\343o no Mountain Lion (plist do Assistente de Boot Camp) mostram refer\352ncias a uma nova gera\347\343o de iMac (iMac13,0) e de Mac Pro (MacPro6,0). O interessante delas \351 que ambas foram encontradas dentro do contexto de incializa\347\343o (booting) via USB, o que levou o site a presumir que os novos desktops poder\343o abandonar os drives \363pticos.
Antes de tudo, \351 bom lembrar que um novo iMac \351, sim, aguardado para breve [1, 2]. Contudo, a empresa j\341 deixou claro que n\343o devemos esperar por novidades no Mac Pro at\351 2013, quando ele dever\341 receber uma atualiza\347\343o de verdade.
Dito isso, faz sentido abandonar o drive \363ptico em m\341quinas nas quais a falta de espa\347o n\343o \351 um problema, como iMacs e Macs Pro? Pra mim, que raramente uso um CD/DVD, pouco importa. Mas sem d\372vida muitos profissionais ainda utilizam essas m\355dia, e n\343o vejo motivo aparente para esse abandono nesses modelos espec\355ficos, ainda mais levando em conta que os MacBooks Pro (sem tela Retina) vendidos atualmente ainda possuem o drive.
Independentemente disso, estamos na torcida para que essas m\341quinas cheguem logo! :-P
HACKERS
Eu fui um hacker adolescente
POR - JEFF ATWOOD - CODING HORROR
09 AGO, 2012 - 06:56 bt
H\341 24 anos, eu tive um dia ruim. Em 8 de agosto de 1988 eu estava no \372ltimo ano do Ensino M\351dio. Eu trabalhava depois da escola e nos fins de semana na Safeway, como caixa. O gerente de repente apareceu e me disse para largar a caixa registradora e falar com a minha m\343e, que estava ao telefone. Ela me disse para ir para casa imediatamente porque\u2026 bem, haviam policiais l\341 perguntando por mim com alguns pap\351is na m\343o.
Revista acha forma para caber no iPhone
NELSON DE S\301
ARTICULISTA DA FOLHA
Uma das publica\347\365es de maior prest\355gio no mundo, a revista semanal "The New Yorker" lan\347ou nesta semana seu primeiro aplicativo para o iPhone, da Apple.
Reprodu\347\343o/Youtube
Lena Dunham, de 'Girls', no v\355deo do app da 'New Yorker'
A exemplo do que aconteceu com o app para iPad, h\341 dois anos, o assinante poder\341 acessar, toda segunda, a \355ntegra da edi\347\343o impressa. A assinatura anual sai por US$ 59,99. Cada edi\347\343o, separadamente, US$ 5,99. A primeira \351 gratuita.
A editora Cond\351 Nast, que publica a "New Yorker" e t\355tulos como "Vanity Fair" e "Vogue", come\347a assim a produzir r\351plicas de suas revistas, antes restritas aos tablets, tamb\351m para smartphones, de maior alcance.
Para analistas como Peter Kafka, do site de m\355dia e tecnologia "All Things D", o lan\347amento indica uma mudan\347a em todo o setor de revistas dos EUA -que deve se acelerar, mais \340 frente, com a chegada de smartphones maiores e tablets menores.
A maior novidade t\351cnica, festejou a "New Yorker", \351 que "finalmente solucionamos como dobrar a edi\347\343o semanal para caber no iPhone". O app desenvolvido pela Adobe n\343o reproduz s\363 arquivos de imagem, mas texto, "HTML paginado", o que reduz o tempo para download. A vers\343o para iPad, tamb\351m desenvolvida pela Adobe, deve seguir a inova\347\343o.
A exemplo do que aconteceu com a campanha de lan\347amento do aplicativo para iPad, em 2010, que recorreu ao ator "cult" Jason Schwartzman, a nova campanha da "New Yorker" \351 estrelada por Jon Hamm, da s\351rie "Mad Men" (AMC), e Lena Dunham, da s\351rie "Girls" (HBO).
Dunham, 26, que foi perfilada como uma cineasta em ascens\343o h\341 dois anos pela pr\363pria revista, \351 tamb\351m a diretora do v\355deo.
De humor "awkward", desajeitado, a produ\347\343o de cinco minutos descreve a "New Yorker" como publica\347\343o de "artes, cultura, opini\365es, que dita o gosto, como a 'Rolling Stone'", mas que "nunca colocaria Britney Spears na capa", provocante.
Na rea\347\343o do personagem de Hamm, "ent\343o \351 como uma vers\343o horr\355vel da 'Rolling Stone'".
Veja o v\355deo de lan\347amento em
INTRODUCING THE NEW YORKER\u2019S IPHONE EDITION
Posted by The New Yorker
Wonderful news! We\u2019ve finally figured out how to take the weekly print edition of The New Yorker and fold it down to a three-inch size that fits inside your iPhone. Our new app has every story, every cartoon, every em dash, every illustration, and the new issue is available each Monday. Plus, there are special audio and video features previously found only in the tablet edition. Poets reading their poems. Music clips. TV commentary. Slide shows. Excerpts. Infographics. Links to source materials and pieces from the archive.
But wait, there\u2019s more: The app makes it easy to share New Yorker stories via Twitter, Facebook, or e-mail. And for those of you who like to read the cartoons first, there is a cartoon gallery that also includes bonus cartoons from the archive each week. And you can enter the cartoon caption contest right from your phone.
We realize that this is all a little head-spinning. Here to provide clarity and direction is Ms. Lena Dunham, who wrote and directed this introduction to the iPhone edition, and brought along two partners in crime, Jon Hamm and Alex Karpovsky:
Lena Dunham Introduces The New Yorker iPhone App
Download this week\u2019s issue for free. After the launch issue, readers may download The New Yorker app, and then subscribe for $59.99 per year, or buy individual issues for $5.99 each. Current print, iPad, and Kindle Fire subscribers will receive full access to the mobile app.
KEYWORDS
iPhone
To get more of The New Yorker's signature mix of politics, culture and the arts: Subscribe Now