Acesse o Team Foundation Server usando o Eclipse ou um Mac/Linux
O Teamprise é um conjunto de aplicações para acessar o Team Foundation Server (TFS) utilizando o Eclipse ou os sistemas operacionais Mac e Linux.
Além de poder ser instalado como um plugin para o Eclipse, também pode ser usado como um Explorer ou via linha de comando.

Até algum tempo atrás a única ferramenta de acesso ao TFS era o Team Explorer. É bom ver esta integração. Quem sabe alguns colegas mudem de tribo.
Até +.
Por que os profissionais de TI preferem ficar longe de uma Universidade?
Com certeza é uma das áreas mais rentáveis que existe. Também, sem dúvida alguma, está entre as que mais crescem. Mas por que muitos profissionais preferem fechar os olhos para as Universidades?
A pergunta acima foi feita por uma funcionária do RH da Microsoft chamada Janelle no blog Technical Careers @ Microsoft. Segundo ela, existem três motivos:
- Existem muitas empresas procurando por funcionários técnicos e por isso os estudantes acham que não precisam de uma graduação, afinal tem vaga sobrando;
- Os estudantes acham que a graduação não é tão importante quanto os seus interesses, pois normalmente a Universidade vai na contramão das últimas tecnologias de mercado;
- Cursos de ciências da computação e derivados estão desatualizados, ou seja, não utilizam as tecnologias de ponta que o mercado oferece.
Lendo os comentários (vale a pena, acredite) do post, dá pra acrescentar mais alguns itens para esta lista, tais como:
- O outsourcing está em alta. Muitas empresas estão utilizando a mão-de-obra barata da Índia, por exemplo. Isto explicaria o motivo para os americanos, pois o salário de um estadunidense sem dúvida alguma é muito superior ao de um indiano na mesma profissão;
- O maior problema para alguém que não possui uma graduação é o primeiro emprego. Depois deste, torna-se completamente desnecessária.
Eu conheço muita gente fera na área que nunca colocou os pés em uma Universidade. No entanto, grande parte deles não tem a mínima noção de um algoritmo de escalonamento de processos do SO. Tá, mas e daí?
Realmente: e daí?!?
Hoje em dia os empregos em TI partiram para vários ramos. Tem aquele específico no desenvolvimento de interfaces, tem também um focado na criação de aplicações server-side, etc. Ou seja, o tem lugar pra todo mundo, porém cada um aplicará conceitos diferentes.
Os cursos de ciências da computação que temos hoje em dia são muito conservadores. Falta flexibilidade. Na minha opinião, a teoria é essêncial, mas deixar a prática de lado por quatro ou até cinco anos é sinônimo de insanidade.
Uma possível solução para este problema seria dar mais opções aos acadêmicos após os dois primeiros anos de curso. Eu acho que com dois anos de teoria sobre as mais diversas áreas (sistemas operacionais, computação gráfica, inteligência artifical, etc) o estudante já vai estar maduro o suficiente para saber o que escolher. Logo, por que não oferecer uma formação com foco nas tecnologias atuais até o final do curso? Ah, talvez seja porque isso envolve muita grana para as instituições, afinal um professor up-to-date nas tecnologias do momento é artigo raro.
Eu me formo em alguns meses no curso de ciências da computação e concordo em gênero, número e grau com o post do usuário krugs525:
I have a 4 year degree in Computer Science and Engineering. In my 4 years, I took 5 classes that taught me something that I’ve used in my job since I’ve graduated.
T+.
Projeto Canguru: Austrália, aí vamos nós!
Está no ar o blog Projeto Canguru, que irá fornecer informações para profissionais de TI que desejam imigrar e trabalhar na Austrália.
Os autores do blog (Eu e o Ricardo Momm) são estudantes e profissionais da área de TI. Ambos se formam (ou pretendem se formar) este ano e aplicar para o visto skilled, que permite a imigração de profissionais qualificados para trabalhar no país dos cangurus.
É isso aí! Até+.
Dicas para elaborar uma boa apresentação utilizando slides
Daqui alguns dias (mais ou menos uns sessenta) estarei apresentando o meu TCC para uma banca avaliadora e demais interessados.
A questão é: de que forma devo organizar minhas idéias nos slides para que os ouvintes sintam-se satisfeitos com o trabalho que tanto me esforcei em fazer?
Para responder isso, deixo duas referências:
Até.
Delphi: duplicar um registro de um dataset
Aqui na empresa temos algumas situações onde precisamos disponibilizar para os usuários opções para duplicar determinados registros.
Como usamos DataSets para armazenar os dados enquanto o usuário está manipulando eles, temos duas opções para realizar esta operação:
1 - Copiar manualmente
Esta é a forma mais simples e lógica: você copia os registros do DataSet para umas variáveis, faz um Append ou Insert nele e define os novos valores conforme os copiados. Claro que se o seu DataSet tiver uma quantidade considerável de campos isso é inaplicável, portanto use a segunda opção.
2 - Utilizar um método genérico
Um pouco mais complexo que a forma acima, neste caso a idéia é usar um método genérico que copia as informações do registro atual para um novo. Este método é implementado da seguinte forma:
class procedure TFuncoesClass.DuplicaRegistroDataSet( dataSet: TCustomClientDataSet; recNo: integer; camposIgnorar: array of string); function IgnorarCampo(campo: string): boolean; var i: integer; begin Result := false; for i := 0 to Length(camposIgnorar) - 1 do begin if (camposIgnorar[i] = campo) then begin Result := true; Break; end; end; end; var valores: Variant; i: integer; readOnly: boolean; begin // Duplica o registro "recNo" de um dataset dataSet.RecNo := recNo; valores := VarArrayCreate([0, dataSet.FieldCount - 1], VarVariant); for i := 0 to (dataSet.FieldCount - 1) do valores[i] := dataSet.Fields[i].Value; dataSet.Append; for i := 0 to (dataSet.FieldCount - 1) do begin if (not(IgnorarCampo(dataSet.Fields[i].FieldName))) then begin readOnly := dataSet.Fields[i].ReadOnly; dataSet.Fields[i].ReadOnly := false; dataSet.Fields[i].Value := valores[i]; dataSet.Fields[i].ReadOnly := readOnly; end; end; end;
Logicamente que você pode definir este método como um procedimento. Basta remover a declaração class procedure TFuncoesClass e adicionar a palavra procedure.
Este método recebe três parâmetros, conforme descrito abaixo:
- dataSet: é o DataSet que você deseja duplicar o registro;
- recNo: identifica qual é o registro a ser duplicado. Você pode remover este parâmetro da implementação retirando ele da declaração do método e apagando a linha dataSet.RecNo := recNo. Caso fizer isso, o registro duplicado sempre será o atual. Já se você deseja manter o parâmetro e quer duplicar o registro atual, basta passar para ele o valor dataSet.RecNo;
- camposIgnorar: se você quiser ignorar alguns campos ao duplicar o registro, basta passá-los da seguinte forma: ['Campo1', 'Campo2', 'CampoN']. Se não quiser usar este parâmetro, use o valor [].
Repare também que o método faz um tratamento caso o campo seja ReadOnly. Quando isso acontecer, ele armazenará o estado atual, definirá como false, fará a cópia e voltará ao estado antigo. Isto foi feito para evitar uma Exception ao copiar campos ReadOnly.
Exemplo de uso deste método:
procedure TfrmCliente.acDuplicarExecute(Sender: TObject); begin inherited; // Duplica as informações do registro atual TFuncoesClass.DuplicaRegistroDataSet(cdsClientes, cdsClientes.RecNo, ['CODIGO']); end;
É isso ae. Até+.
Ps: este código é uma adaptação do original disponível na Active Delphi.
Direito do consumidor: comprar e não pagar
Mais uma vez uma decisão da justiça me deixa de queixo caído. Veja o que diz o texto abaixo:
A 3ª Câmara de Direito Civil do TJ condenou as Lojas Volpato Ltda. ao pagamento de R$ 3,5 mil em indenização por danos morais a Raquel Soares da Silva Mota, agredida verbalmente por funcionários daquela empresa, na presença de testemunhas. Em 2004, um cobrador se dirigiu à casa de Raquel para buscar um televisor de 20 polegadas adquirido pela cliente, uma vez que houve inadimplemento das prestações mensais.
Se está dentro da lei ou não o que o cobrador fez, são outros 500. Mas aplicar uma multa à empresa que tentou recuperar um equipamento comprado e não pago é o início do fim dos tempos.
No relatório do processo consta o seguinte:
Há de se reconhecer, portanto, o ato ilícito praticado pelo cobrador da ré, ao agredir verbal e injustificadamente a autora na presença de outras pessoas, bem como o dano sofrido pela mesma e o nexo de causalidade entre a ação perpetrada e o presumível e conseqüente dano sofrido por esta última.
Injustificadamente? Venda alguma coisa e não receba pra você ver o quanto é bom.
Conheço muita gente espertinha que, por exemplo, deixa a conta do telefone vencer, liga para a operadora e diz que a cobrança não chegou.
Outros diriam que é porque o cidadão é brasileiro, eu digo que é por falta de ter o que fazer. Vai trabalhar, pô.
Até +.
Fonte: Noticenter
Alguém me ajuda: para que servem os hyperlinks?
Há alguns meses publiquei um post sobre o site da Info que supostamente foi desenvolvido por estagiários. Fiz um comentário de que tinha removido ele da barra de sites favoritos. Isto é verdade. Porém, ainda recebo newsletters deles via e-mail.
Pois bem. Hoje recebi uma que apontava para a seguinte notícia: Steve Case, guru da AOL, cria site de saúde.
Eu confesso que passei o mouse sobre todo o texto algumas vezes para ver se encontrava algum link perdido. Não achei coisa alguma, nem mesmo na url do site em questão.
Alguém sabe me dizer por que eles não usam esta tecnologia ultra-moderna? Facilitaria muito a leitura dos textos, afinal o ctrl+c / ctrl+v não precisaria mais ser usado.
Talvez a filosofia deles seja ainda “se o usuário chegou até aqui, que fique aqui, nada de enviá-lo para outro lugar”.
Aproveitando a ocasião, ficam aí umas dicas sobre como usar os hyperlinks:
- A “usabilidade” de informar ao usuário que um link é externo ao seu site;
- Hyperlinks: o atributo target e algumas querelas morais.
Até!
Austrália: imigrar para trabalhar
Muito se fala do mercado de TI no país dos cangurus. Para quem ainda não conhece, o site de vagas de emprego Seek é o ponto de referência para qualquer profissional desta área que pretende chutar o balde no Brasil e tentar a sorte lá fora.
O que muitos talvez não sabem é da possibilidade de obter um visto Skilled para imigrar e trabalhar na região. Ok, vamos por partes.
1) O que é um visto Skilled?
É uma espécie de visto que permite aos profissionais com sólida experiência em uma determinada área trabalhar e morar num país que oferece tal benefício. No caso da Austrália, este visto é chamado de SIR.
2) O que é o visto SIR?
SIR (Skilled Independent Regional) é um visto para profissionais qualificados que desejam trabalhar na Austrália. Ele analisa o perfil do candidato com base em uma tabela de pontos que avalia basicamente os seguintes aspectos:
- Idade: deve ser inferior a 45 anos;
- Conhecimento da língua inglesa: existe um teste chamado IELTS que avalia o seu desempenho na língua. O mínimo requerido para este visto é a nota 5 em todos os componentes do exame;
- Graduação ou curso Tecnólogo: se você for graduado, deverá ter uma experiência mínima de 4 anos de trabalho. Se for um tecnólogo, a experiência sobe para 6 anos;
- Profissão presente na SOL: a Skilled Occupation List (SOL) é uma lista que define todas as profissões que podem receber o visto do tipo Skilled;
3) Por onde devo começar o processo?
Antes de tudo, se você ainda não tem um passaporte, dê um jeito de consegui-lo! No site do Departamento da Polícia Federal tem a descrição de todos os passos necessários.
A obtenção deste visto é dada em duas etapas: o Assessment (reconhecimento) da sua profissão perante a autoridade responsável e posteriormente a obtenção do visto em si.
Ps: o passaporte será indispensável para que você possa viajar para a Austrália. No entanto, ele é substituível pela certidão de nascimento (conforme descrito abaixo) na primeira etapa do processo.
4) O que é o Assessment?
É o processo de reconhecimento da sua profissão perante uma autoridade australiana. Para os profissionais de TI, quem será responsável por esta tarefa é a Australian Computer Society (ACS).
Basicamente os documentos necessários neste etapa do processo são os seguintes:
- Application Form devidamente preenchido;
- Cópia do passaporte ou certidão de nascimento;
- Cópia do diploma e uma carta descrevendo o curso;
- Cópia do currículo escolar (aqui os espertinhos dançam);
- Referências das empresas que você trabalhou ou trabalha.
Acho que não preciso mencionar que TODOS os documentos devem estar traduzidos para o inglês e, logicamente, por um tradutor juramentado.
5) E depois do Assessment?
Aí você pede o visto, mas isso é assunto para outro post.
A bateria do meu notebook tá no final. Acho que o texto acima é o suficiente para dar mais uma oportunidade a todos os profissionais da área.
Algumas referências sobre o assunto:
- Comunidade Aussileiros no Orkut;
- Site Canguru.info;
- Site Work Permit: Skilled Migration to Australia e um simulador de pontos para o visto skilled.
- Projeto Canguru: coming soon
Um dos próximos posts será sobre o HSMP, que é um visto skilled para trabalhar no Reino Unido.
Até +.
Uma estaca no coração dos vampiros .NET
O Orkut, site de relacionamentos que mais cresce no Brasil, foi escrito inicialmente em C#. Até aqui nenhuma novidade, afinal as páginas com extensão aspx demonstravam isso há muito tempo.
Porém, segundo uma entrevista com o criador do site, Orkut Buyukkokten (sim, o nome do cara é o nome do serviço, vai ver é por isso que não pegou nos EUA), o sistema teve que ser reescrito em Java.
Ham? Não entendeu? Isso mesmo. Na entrevista diz o seguinte:
Ontem, aqui na Abril, nós conversamos com o Orkut umas duas horas. Ele contou que criou o site de relacionamentos em .Net – gosta particularmente de C# pela rapidez de programação – mas teve de passar para Java por ter a escalabilidade necessária. A passagem de uma tecnologia para a outra durou um ano – daí as 80 horas por semana.
Pois então meus colegas, isso não é de arrepiar qualquer um? Eu nunca desenvolvi um sistema tão porreta quanto este pra saber até onde o .NET aguenta. Porém, durante todo o curso de graduação escutei gente falando do Java para estas situações.
Algo que me deixa com esperanças de que o .NET realmente segura o tranco são os serviços que a Microsoft implementa usando ele. A ”plataforma” Live, por exemplo, devem ter um número de acessos razoável.
Então, chego à mesma conclusão do Rafael Teixeira (texto retirado da lista Mono-Brasil):
Com certeza, o sr. Orkut poderia ter investido em uma solução própria de arquitetura distribuída baseada em .NET, mas o que você tem que levar em conta também é que a Google usa Java em praticamente TODOS os seus outros produtos web (como o eficiente GMail por exemplo) e portanto deve ter sido uma decisão de alinhamento tecnológico, tanto para o desenvolvimento como para a operação, mais do que uma decisão puramente técnica sobre os méritos da plataforma frente ao problema (aplicação a ser resolvido).
É isso ae.
Até +.
ASP.NET Provider Toolkit e o livro NHibernate In Action
Quem trabalha com .NET e ainda não ouviu falar dos Providers pode voltar pro PHP 3.x.
A Microsoft liberou (e organizou um pouco também) uma excelente documentação sobre o assunto. Agora está disponível para download uma implementação para que a gente tome como exemplo ao escrever os nossos próprios providers.
Como eu uso o NHibernate, então o problema de criar a implementação específica para cada banco não existe (ah, vamos passar por cima de alguns detalhes). Se alguém tiver interesse em um provider usando o NH, tem um no Codeplex. Eu ia liberar o meu, mas antes disso resolvi buscar por algo parecido. Quando encontrei, desisti, afinal o que achei é mais completo.
Falando em NH, fiz uma pesquisa rapidinha agora e parece que novos projetos foram adicionados ao Codeplex. Tomara que dê uma guinada de vez, apesar de eu não botar fé, afinal o DLinq está chegando.
Ainda sobre o NH, uma ótima (e tardia) notícia: o livro NHibernate In Action está a caminho. As encomendas já podem ser feitas na Amazon pelo valor de $ 32.99.
Esse índio na capa seria uma tentativa de atrair os brasileiros que nem sequer sabem o que significa mapeamento objeto/relacional? Argh.
Até.