DOM: id dos elementos são variáveis globais

Vi no twitter e no facebook, algumas pessoas falando que para mostrar um elemento do HTML no Console do Groogle Chrome, você precisa apenas escrever o ID desse elemento. O @johnjbarton esclareceu que isso acontece porque todos os IDs dos elementos SÃO variáveis globais no javascript. Veja mais detalhes abaixo:

O Padrão:

O HTML5 especifica que o objeto window pode ter uma chave de propriedade na qual o valor dela é um elemento html se:

  • Existe exatamento 1 elemento DOM em que a propriedade ‘id’ tem o valor da chave
  • Existe exatamente 1 elemento DOM que a propriedade ‘name’ tem o valor da chave. O elemento deve ser um tipo: a, applet, area, embed, form, frame, frameset, iframe, img, object.

Exemplo, no site da Tribo do CI  você pode abrir o console do chrome e digitar: window[‘branding’] ou simplesmente branding. Aparecerá a tag header com id=’branding’. Se existe mais de uma tag encontrada, regras diferentes são aplicadas. Com isto em mente, veja outro exemplo abaixo:

<div id=”foo”></div>

O elemento acima pode ser acessado via window.foo ou, como todas as propriedades de window, apenas foo. Por exemplo, no console do Chrome, você pode fazer:

> "foo" in window
    true
> foo
    <div id=?"foo">?</div>?

Firefox

No firefox funciona um pouco diferente

> "foo" in window
    false
> typeof foo  // Essa variável existe?
    object
    Element referenced by ID/NAME in the global scope.
    Use W3C standard document.getElementById() instead.

> foo
    [object HTMLDivElement]
    Element referenced by ID/NAME in the global scope.
    Use W3C standard document.getElementById() instead.

> "foo" in window
    true

O que aconteceu? inicialmente não existe a propriedade window.foo. Mas após a primeira chamada, seja diretamente ou pela variável global, a propriedade é criada.

Conclusão

Existe uma padronização do HTML5 na qual os ID’s dos elementos se tornam propriedades de window, por isso que essa facilidade é uma novidade para nós. Cabe agora, aos maníacos de boas práticas, nos dizer qual seria a maneira mais correta de utilizar essa feature.

Esse post é uma versão brasileira de 2ality – DOM: elemtn IDs are global variables.

Produtividade e HomeOffice – Is it possible?

Comecei a escrever esse artigo na Campus Party 2011evento no qual só fui porque estava numa jornada home office, e pude trabalhar durante o evento – e só fui terminar agora, em 2014, pois foi quando voltei a ter essa jornada de trabalho. Em 2011 eu tive meu primeiro emprego home office e confesso, os universos são diferentes, entre um cotidiano empresarial normal e outro mesclado ao seu lar. É uma rotina viciante, desde que experimentei sempre quiz trabalhar assim, então em 2013 eu voltei a ter essa rotina em período integral e em 2014 tenho metade da minha jornada home office e a outra metade passo confinado em um escritório.

Esse post não tem objetivo de traçar um paralelo entre as duas rotinas de trabalho, mas apenas um pouco da minha experiência e das dicas que recebi enquanto trabalhava como home office. Até porque existem vários posts falando sobre isso, pois essa maneira de trabalhar está cada dia mais comum. Hoje, as principais formas de trabalho, no que se refere à disposição física, são:

  • Ambiente Corporativo: trabalhar em uma sala comum dentro de uma empresa
  • Home Office: fazer a mesma coisa que é feita dentro de uma empresa, só que em casa
  • Ambiente Coworking: mistura dos dois acima.  É como se vários home-officers se juntassem numa sala, transformando-se num ambiente corporativo mais light e heterogêneo

Quando você é um home officer, exitem alguns benefícios:

  • Não precisa atravessar a cidade pra estar na empresa às 8h00.
  • Não precisa estar em lugar algum as 8h00.
  • Não precisa estar de terno (ou qualquer roupa séria) às 8h00.
  • Flexibilidade nos horários de folga, almoço, banheiro, etc…
  • Flexibilidade nos horários de começar ou terminar o dia de trabalho
  • Menos custos (refeição, transporte, tempo)
  • Ninguém te pede pra arrumar a impressora (caso esteja sozinho em casa)
  • Menos interrupções, no geral (caso esteja sozinho em casa)
  • Mais próximo da família (caso não esteja sozinho em casa)

Existem também alguns incômodos nessa jornada:

  • Requer maior disciplina, pois ninguém está te vigiando
  • Você tem um trabalho mais solitário/anti-social, pois não tem experiências numa atmosfera corporativa diariamente.
  • É mais difícil explicar porque está atrasando um projeto, pois existe uma desconfiança do que você realmente está fazendo nas suas 8h/dia.
  • Existe uma geladeira TODA SUA à poucos metros de você
  • Existem coisas para se fazer em casa (lavar roupa, fazer comida, trocar lâmpada, trocar chuveiro, etc…)
  • Aquele trabalho da faculdade (ou da pós) pra fazer…
  • Uma TV com MILHÕES de canais.
  • Possíveis visitas de parentes/amigos
  • Sua vizinha de 12 anos chega da escola e põe Justin Bieber no último volume
  • As pessoas (geralmente vizinhos) pensam que você é um atoa! Isso pode gerar um foda-se da sua parte ou você pode ter que ouvir várias petições de favores.

É claro que existem alguns limites impostos pelas empresas que impedem algum benefício (como flexibilidade de horários) ou que dão maior benefício ou aumentam o conjunto de regras para se trabalhar em casa. Meu primeiro emprego home office não teve nenhuma exigência extra, então eu me sentia bem livre.

Percebendo minha inexperiência com a rotina de um escritório em casa, durante a Campus Party 2011, vi o  Jonny Ken, criador do Migre.me, passando e, como eu acompanhava seus tweets, percebi que ele tinha uma rotina home office também. Fui até o Jonny Ken, no 3º dia da Campus Party, e pedi uns conselhos. Os conselhos do Jonny Ken me incentivaram a criar esse artigo, na época, e hoje, que voltei a essa rotina, voltei a pesquisar sobre o assunto e retomar o artigo pra terminá-lo.

Em 2011 eu era solteiro e morei com minha irmã um tempo, depois fui morar sozinho. Hoje sou casado e moro com minha esposa, que nunca foi home officer. A questão é que sempre tive atividades domésticas pra fazer, o que me atrapalhava muito no trabalho. Com base na conversa que eu tive com o  Jonny Ken, e com base em alguns artigos que eu li, fiz um top five de dicas:

5- Se prepare como se fosse sair de casa

Uma coisa legal a se fazer quando se trabalha em casa, é fazer tudo como se fosse ir ao trabalho do outro lado da cidade, menos ir pra lá. Então você acorda, toma banho, toma café com a família, arruma as coisas do seu quarto, põe uma roupa bacana só que em vez de sair de casa, vá pro seu local caseiro de trabalho. Lá dentro, você não conversa com ninguém da casa, ponha em sua mente que está longe de casa, até você acreditar nisso. Só aceite conversas como: “Vem almoçar!!!” ou, em casos mais sérios: “Um ratoooo!!”, nada de: “Vem trocar a lâmpada” ou “Vem puxar o sofá aqui pra mim”  ou até mesmo “Vá buscar o Junior na escola”…

4- Tenha um pouco de rotina:

Contrariando a idéia que você fica mais livre no seu home office, é interessante que você tenha hora marcada para tudo no seu dia-a-dia, isso te ajudará a manter o foco. Não precisa ser rígido, mas apenas organizado. Mesmo que, segunda você trabalhe das 8h às 18h, terça você trabalhe das 14h às 22h, faça isso de forma rotineira, sem alterar muito. Rotina ajuda a manter o foco também, e existe outro benefício. Quando você segue uma rotina, seu número de escolhas diárias caem, assim seu cérebro gasta menos energia sobrando mais para a criatividade. É muito importante que você tenha uma hora só para trabalhar, e outra hora na qual o trabalho não venha à tona.

3- Vá a eventos/encontros para sua área:

Como você se torna um “homem das cavernas”, com pouquíssimo contato com o mundo externo, é bom que encontre pessoas que pensam parecido com você. Atualizar-se, informar-se a respeito do seu ramo de trabalho é muito bom. Eu já peguei várias dicas de colegas de trabalho, então adoro estar nos eventos, sempre que posso, para aumentar minha rede de contatos. Existe aquele lance do “Eu não sei mas conheço quem sabe”, ou seja, sempre que surgir alguma dificuldade no seu trabalho, você sabe quem pode te ajudar.

Outro lance bacana de eventos, é que você fica por dentro das atualidades do seu ramo de trabalho. Quais são os melhores equipamentos, a melhor tecnologia, a melhor plataforma etc. Além de ficar sabendo quais são as empresas mais legais ou o que as empresas estão fazendo, qual a maior tendência, enfim, muita informação boa.

2- Faça lista de tarefas. PLANEJE:

Todo mundo fala que planejar é muito importante (é porque é verdade). Eu sempre tenho uma lista do que vou fazer, quanto tempo eu acho que vou levar para fazer e quanto tempo eu realmente gastei. Há algum tempo eu estou implementando na minha casa, um planejamento semanal para eu e minha esposa. Comprei um quadro branco e fazemos um brainstorm todo fim de semana sobre o que fizemos na semana e o que precisa ser feito na semana seguinte. Depois traçamos um cronograma dos horários que temos disponíveis no dia e o que faremos.

1- Faça um acordo com quem mora com você:

Você precisa deixar bem claro, para as pessoas que moram com você, que você está ali trabalhando!! É totalmente possível que marido e mulher trabalhem home office, assim como você somente. Porém quem fica em casa com você não pode te atrapalhar, seja pra lavar louça ou trocar um chuveiro, atividades não-trabalho precisam ser realizadas em horas não-trabalho.

Se tiver crianças em casa, tente driblar o tempo com elas para concentrar no trabalho. A maioria das pessoas não fala que “trabalha em casa”, mas sim que “tem um escritório em casa” ou “perto de casa”. É uma maneira mais elegante de falar, não transmite informalidade e evita um pouco as situações como essa: “Cara, já q você trabalha em casa, tem como buscar meu filho na escola, levar minha tia no hospital e trazer o cachorro que tá no pet shop”

Conclusão

Aderir a essa nova rotina pode ser desgastante no início, mas nada que uma auto-disciplina para resolver isso. Existem apps que ajudam no nosso dia-a-dia, hábitos (como o de usar agenda) e técnicas como a de pomodoro, onde você estipula pequenos intervalos (25 à 40 minutos) de alta concentração no trabalho e depois descansa por 5 minutos. Mas o fator principal que proporcionará sua produtividade é, sem dúvida, sua disciplina.

Referências:

Microsoft publica código fonte do MS DOS e Word

Foto das caixas do MS DOS

A Microsoft se uniu com o Museu de História do Computador ( CHM – Computer History Museum) para tornar o código fonte original de dois dos mais históricos programas disponíveis publicamente pela primeira vez. MS-DOS, O Disk Operating System ( Sistema Operacional em Disco ) de 1982 para IBM PC compatível, e Word for Window, a versão para Windows de 1990 do popular processador de texto.

“O museu tem feito um excelente trabalho na curadoria de um dos programas mais significantes na história da computação”, disse Roy Levin, importante engenheiro e responsável pela Microsoft Research.”Como parte desse projeto contínuo, o museu tornará disponível dois dos mais vastamente dos programas mais vastamente usados dos anos 80, MS DOS 1.1 e 2.0 e Microsoft Word for Windows 1.1a, para ajudar as futuras gerações tecnólogos a entender as raízes da computação pessoal”.

Em 1980 a IBM se aprocimou de uma penquena empresa sediada em Seattle onde anteriormente forneceu o interpretador da linguagem BASIC, perguntando sobre os rumores de um projeto de um Sistema Operacional de codenome “Chesss”. A firma de Seatle, Microsoft, licenciou um Sistema Operacional da Sattle Computer Products que depois se tornou a fundação do PC-DOS e MS-DOS.

Logo após o lançamento do sistema operacional a Microsoft lançou a primeira versão do Word para DOS com suporte ao mouse em 1983. Naquela época quem usava processador de texto como WordPerfect ( Eu certamente usava ) até que em 1989, o Word for Window finalmente se tornou um grande sucesso.”Dentro de 4 anos em com metade da receita do mercado de processadores de texto” disse Levin.

Screen Shot word 1.1a para Windows

 

“MS-DOS e Word for Windows constrói a base da fundação do sucesso da Microsoft na Industria da Tecnologia”, diz Levin. “Contribuir com esses fontes para os arquivos do Museu, a Microsoft faz histórico esses sistemas dos primórdios da era da computação pessoal para a comunidade histórica e técnica”.

“Nós pensamos que preservando código fonte históricos com o desses dois programas é a crucial para entender como os sotwares tem evoluído de suas raízes primitivas até se tornar crucial como parte de nossa civilização”, acrescenta Len Shustek, presidente do CHM.

Outros códigos fontes inovadores no código fonte estão disponíveis no CHM incluindo o APPLE II DOS, IBM APL, Apple Macpaint and QuickDraw, e Adobe Photoshop.

microsoft-dos-2_0-disquetes

Fonte: Microsft makes source code for MS DOS and Word for Windows publicy available for the first time