Meu ambiente de trabalho em 7 itens

Eis que temos mais um meme: Meu ambiente de trabalho em 7 itens. Recebi 2 convites hoje para descrever o meu, do @edipofederle e do @fr_prado. Uso 2 ambientes, um no trabalho e um no notebook pessoal. Vamos lá:

1) Sistema Operacional

No trabalho uso Windows 7, pois preciso programar com o auxílio do framework Adobe Flex. Na verdade eu poderia escrever o código em um editor de texto e compilar no compilador disponível para Linux, mas preciso de desenvolvimento ágil, além de otras cositas mas. Em casa uso o Ubuntu, sempre atualizado a cada nova versão. Atualmente tenho formatado minha máquina a cada novo release, pois sempre acabo enchendo-a de lixo. No próximo release irei atualizar a instalação, sem formatar.

2) IDE

Em casa, minha IDE é o Gedit. Com alguns plugins, ele se torna minha IDE preferida, extremamente leve e eficiente. Para gerenciamento do banco PostgreSQL utilizo o terminal do Linux, através do psql. No trabalho, no Windows, utilizo Eclipse com alguns plugins como o Hibernate Tools e o Flex Builder, Notepad++ para PHP e EMS SQL Manager para o banco de dados.

3) Controle de Versão

Para os meus projetos uso e recomendo o git. No trabalho, uso o TortoiseSVN.

4) Utilitários

Uso o Filezilla como cliente de FTP nos dois ambientes, na maioria das vezes para ajustes rápidos em páginas. Sempre que posso, faço o uso do SSH e SCP no Linux e do PuTTY e WinSCP no Windows.

5) Navegador/e-mail

Sou fã de carteirinha do Firefox, uso nos dois ambientes. No trabalho, também tenho instalados: Google Chrome, Opera e Internet Explorer (bleargh!) para testes nos sites. No Firefox, uso bastante os plugins Firebug (debug) e ColorZilla (captura de cores na páginas). Uso o Thunderbird para cliente de e-mail.

6) Entretenimento

Não disponho de entretenimento no trabalho. Em casa, o player de vídeos padrão do Ubuntu, o Totem, me serve muito bem. Para áudio, também uso o player padrão, o Rhythmbox, com alguns plugins bacanas. Tentei usar o Banshee, mas o mesmo trava com a minha imensa biblioteca de músicas, então voltei para o Rhythmbox. Tenho uma estranha mania de remover a voz das músicas, só para ouvir o instrumental. Para isso uso o Audacity. BTW, segue um tutorial rápido de como fazer isso sem precisar de plugins.

- Abra a música no Audacity
- Na barra de título da faixa da música, que fica no meio do programa, existe um menu suspenso. Clique e selecione a opção “Faixa Estéreo para Mono”. Isso irá dividir a faixa em 2 pistas mono.
- Por último, selecione a pista de baixo e clique em Efeitos/Inverter Verticalmente. Feito!

7) Comunicação

No trabalho, tento me concentrar o máximo possível, dando uma escapada no Twitter de vez em quando. Para isso, uso o Twhirl. Em casa, também uso o mesmo cliente, além do Emesene para MSN/GTalk e do Skype. Adicionem lá: MSN: msn@fonini.net; GTalk: jonnasfonini@gmail.com; Skype: jonnas.fonini

Convido agora os amigos @jandersonfc, @mpbonatti, @emersonbroga, @lshenr e @felipeborges para compartilhar um pouco de seus ambientes.

Abraço e até a próxima!

Retornando os dias da semana atual em ActionScript 3 / Flex

Final de ano, projetos da empresa indo a milhão, últimas provas do semestre…é, não tá fácil, a correria tá desgraçada. Passei aqui pra remover as teias de aranha do blog e compartilhar esta função que pode ser útil para alguém. Infelizmente perdi a fonte de onde encontrei esta função, mas lembro que ela tinha um erro no retorno (já corrigido por mim). A função original só retornava os dias úteis da semana, mas o que eu precisava era dos dias da semana inteira, começando no domingo. Com algumas modificações, aí está o resultado.
Essa função é bastante útil para se colocar num helper (que sabe numa dessas crio um e publico o código).

public function getCurrentWeekDays():Array{
	var output:Array = new Array();
	var formattedDate:String;
	var date:Date = new Date();

	date.setDate(date.getDate() - date.getDay() - 1);

	for (var i:int = 0; i < 7; i++) {
		date.setDate(date.getDate() + 1);

		formattedDate = (date.getDate() < 10) ? "0" + 
date.getDate().toString() : date.getDate().toString();
		formattedDate += "/";
		formattedDate += (date.getMonth() + 1 < 10) ? "0" + 
(date.getMonth() + 1).toString() : (date.getMonth() + 1).toString();

		output[i] = formattedDate;
	}
	return output;
}

E para usar:

var diasSemana:Array = getCurrentWeekDays();

Os dias serão retornados no seguinte formato: 05/11, 06/11, 07/11. A função pode ser facilmente adaptada para também retornar o ano ou retornar a data em outro formato.

É isso aí pessoal, esse é o último post do ano. Ano que vem prometo posts mais freqüentes.
Um Feliz Natal para todos e um Ano Novo repleto de realizações, muito café, código e eterno aprendizado.

Grande abraço a todos!