Baboseiras – Japoneses projetam latrina-portátil-espacial

Fonte: INFO

Bom, como é sexta-feira, acho que essa vale a pena.

Latrina Portátil
Latrina Portátil

O país que nos deu Jaspion, E.Honda e o miojo está pronto para contribuir ainda mais com a humanidade. A próxima maravilha nipônica é uma fralda high tech para astronautas projetada pela JAXA (Agência de Exploração Espacial do Japão, em português).

Do tamanho daquela cuecona bege que seu avô usa, o aparelho tem unidades inteligentes de sucção, ativadas por sensores que percebem as derradeiras vibrações dos movimentos peristálticos (não sabe o que é? entra na wikipédia).

Os dejetos são aspirados por meio de tubos, que armazenam líquidos e sólidos em um recipiente separado. Sem barulho, sem cheiro e sem constrangimento na espaçonave. O nobre projeto deve ficar pronto em até cinco anos e será testados na parte japonesa da ISS, a estação espacial internacional.

A foto é uma reprodução do site Pink Tentacle

ASP.NET – Registrando scripts em páginas com UpdatePanel

Registrar javascripts dinâmicos em páginas ASP.NET nunca foi algo muito prazerozo, mas alguns métodos oferecidos pela Engine como o Page.RegisterClientScriptBlock, que “cospe” um bloco de scripts dentro de uma página.

Isso resolvia alguns casos simples como mostrar uma mensagem num alert(), ou executar um função javascript qualquer já existente na página. Porém, com o novo cenário de aplicações Web, recheados de código Ajax, principalmente fruto do AjaxControlToolKit e derivados, a técnica não funciona mais pois a página não é mais carregada em sua totalidade, gerando o famoso postback.

A solução para isso foi a criação do método RegisterClientScriptBlock dentro da classe ScriptManager, que especificamente trata de registrar e executar um script em páginas que utilizem o controle UpdatePanel.

Um exemplo de chamada que registra um alert dentro um UpdatePanel seria:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “scriptAjax”, “alert(’Oi’);”, true);

Detalhes a respeito do método pode ser visto no link abaixo:

http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerclientscriptblock.aspx

Abraços

Tomás

Excel – Somando Meses com a função DATA()

Função DATA no Excel

Trabalhar com datas sempre foi algo instigante no Excel. O melhor de tudo é que esta máxima se aplica pela facilidade e dificuldade de aplicar cálculos sobre valores de data.

Como o mecanismo que define as datas no Excel é baseado em número sequênciais, algumas tarefas como soma ou subtração de dias ou horas é uma tarefa simples. Já quando se trata de meses ou anos, cuja valores são incertos e dependem de cada mês ou ano, a coisa complica um pouco.

Por exemplo, não é garantido que daqui a um mês seja a data de hoje mais 30 dias, pois alguns meses possuem 31 dias e outros 28, como fevereiro, ou pior pois dependendo do ano, pode ter 29.

Neste caso, a função DATA() auxilia na construção de datas baseadas em informações de ano, mês e dia. Por exemplo, a seguinte função:

=DATA(2008;12;01)

Retorna a data:

01/12/2008

Até aí é óbvio, mas a função data tem algumas características interessantes. Por exemplo, se quiséssemos somar um mês a esta data, teríamos a seguinte função:

=DATA(2008;12+1;01)

Apesar do resultado da função ser =DATA(2008;13;01) e 13 ser um mês inválida, a função resolve elegantemente a situação retornando o seguinte resultado:

01/01/2009

Da mesma forma aconteceria com os dias, por exemplo, a função

=DATA(2008;12;32)

Retorna

01/01/2009

Valores negativos também são tratados da mesma forma, porém neste caso, atrasando a data informada.

Para auxiliar no uso desta função, recomenda-se as funções ANO(), MÊS() e DIA() para extrair os valores de uma data informada. Todas estas recebem uma data como parâmetro. Por exemplo, para que uma célula sempre mostre uma data que seja exatamente daqui a um mês, a fórmula é:

=DATA(ANO(HOJE());MÊS(HOJE())+1;DIA(HOJE()))

Bom proveito!

C# – Convertendo um Array de String em um String separada por vírgula

Mais uma da série: “tinha que ser mais simples”

Tudo bem que é algo meio atrevido e que inventei agora, mas algumas funções, mesmo meio “sujas”, são tão comumente necessárias no dia a dia que faria mais sentido fazerem parte dos métodos óbvios de um determinados frameworks.

Neste caso, falando em .NET, vamos ver uma forma simples de a partir de um array de strings, produzir uma única string com os itens do array separados por vírgula.

A necessidade apesar de parecer pouco óbvia, nasce de situações simples como interagir com sistemas legados. Um exemplo simples seria a geração de arquivos no padrão CSV, ou até mesmo sem precisar ir muito longe, montar a cláusula IN de uma consulta no padrão SQL.

Pois bem, o método que faz a proeza é o System.String.Join. O método estático requer dois parâmetros, sendo eles:

  • um string que conterá o texto que separará os itens do array
  • o array de strings

Veja um exemplo de código C# abaixo que roda em uma aplicação console:

1
2
3
string[] estacoes = new string[] { "Primavera", "Verão", "Outono", "Inverno" };
string result = String.Join(", ", estacoes);
Console.WriteLine(result);  // Saída: "Primavera, Verão, Outono, Inverno"

Bom, confirmando o protesto inicial, poderia ser mais simples certo?

Abraços

Tomás