Arquivo

Archive for the ‘Diversos’ Category

Por onde ando || Novas velhas.

Fala galera, tudo tranquilo? Novas velhas? O principal objetivo deste blog é me expor profissionalmente, bom faz exatamente um mês, que eu consegui uma grande conquista, meu primeiro emprego ou melhor  estágio. Sim, a Giran me deu um voto de confiança e a chance de aprender e conviver com profissionais que amam o que fazem, em um ambiente prazeroso, que tem me motivado dia após dia, ao mesmo tempo me mostra pontos onde sou “fraco” ou melhor inexperiente, entendo que isso faz parte do processo de aprendizagem, é assim que um estágio deve ser, porém eu não consigo evitar a cobrança pessoal que tenho sobre meu desempenho, a vontade de fazer, de querer ajudar e participar vem esbarrando na inexperiência; apesar de que todo o time da Giran compreende minha posição de estagiário e esta sempre a disposição para ajudar, o que me deixa tranquilo.
Neste ultimo mês eu tenho acordado rindo sozinho, feliz e motivado para estudar, acordar e sair de casa feliz indo para o trabalho é um privilégio para poucos, e eu sou uma destas pessoas,  tenho aprendido muito sobre mim, sobre minha área de atuação e tenho tido muitas idéias de projetos, posts, etc – isto em um mês, imaginem daqui a seis -, minha mente esta uma loucura, minha disposição para estudar aumenta a cada dia com cada coisa nova aprendida, na mesma mediada o tempo diminui.
Sempre tentando evoluir como ser humano também, tenho que confessar que me embaralho bastante, que me enrolo com minha própria agenda, mas mesmo assim consigo tempo para parar e agradecer a Deus pois após dia estou começando à acreditar que isto tudo que esta acontecendo na minha vida é real.

É claro que eu não poderia esquecer de citar o time de qual faço parte dentro da Giran: Almir Mendes (@m3nd3s), André Tagliati (@tagliati), Andréia Mendes (@amendesdesign), Petros Symeonidis (@wisdomstoned), Tarsila Santiago (@tarsilasantiago) e Uriel Juliatti (@urieljuliatti), vocês são “firmezidade”.

Esta semana lembrei de uma apresentação que vi no slideShare e percebi que a Giran comprou a idéia do 40º mandamento. Só tenho a agradecer por isto. 47 mandamentos

Não posso terminar sem mandar um abraço para todos da Giran, então la vai: Afegos galera ^^.

E para finalizar (agora de verdade), sem mais delongas e enrolação, o que eu posso dizer é que sem demagogia: Meninos e meninas, crianças e “crainços” da Giran, quando eu crescer eu quero ser igual a vocês!!!

Até a próxima,

Gil.

Categorias:Diversos Tags:, ,

Projetos, Criando, Desenvolvendo e finalizando.

Meses atrás me vi envolvido numa discussão muito interessante que muitas pessoas ja passaram por ela uma ou mais vezes certamente: ˜Como ter experiência sem nunca ter trabalhado na vida?” ficou claro que para mim a melhor resposta desta pergunta é portfólio , com projetos pessoais que você vem desenvolvendo ou ira algum dia desenvolver.

Ao chegar nesta conclusão percebi  que não somente eu pensava desta maneira mas que estava do outro lado da “discussão”também. Assim tive a oportunidade de começar meu primeiro projeto, com um grande amigo; a Oficina da Are  durante muito tempo somente uma ideia, depois um projeto sem nome, chamada muitas vezes por mim de Casa da Arte, e até se tornar um nome convencional no meu dia-a-dia. E hoje como exemplo no post de hoje vou ctar bastante a Oficina.

Para se iniciar um projeto, primeiramente é nescessario uma ideia, por menor que seja o projeto, é nescessário uma idéia. Idéias para o que fazer e de aproveitar depois o que fazer, para que não se torne um projeto inutil ao seu término é necessário ter um propósito, um norte, mesmo que este norte esteja distante e muitas vezes desconhecido.

A escolha de um nome não foi lá das melhores, com reuniões em casa na praia e muitas decisões para ser tomada, como a de objetivo, público e equipe a ser montada, principais desafios a serem enfrentados, a Oficina da Arte começou a se tornar uma idéia madura, que estava dando um prazer de se trabalhar na criação desde o primeiro brain storm de idéia para logos e nome, passando pela responsabilidade de criar prazos e ser fiel a eles, trabalhar em  equipe etc. Sempre tentando simular um ambiente de trabalho.

Com toda a “estrutura” montada, é hora de começar a organizar a estrutura do projeto o que é a parte mais complicada, pois, não existe cliente, o cliente é você o que você deseja do sistema, que você esta inventando e não tem conhecimento suficiente para fazer um sisema de video locadora ou um site de fotos por exemplo

Tomada a decisão do que deve conter no seu projeto inicialmente, é hora de por a mão na massa, na Oficina demoramos bastante tempo para fechar, e por a mão na massa, por falta de conhecimento técnico que ainda estamos adquirindo :). Começado o projeto da Oficina começa a fase do “como”, “como faz isso”, ” como faz aquilo”, etc.
Com o passar do tempo o envolvimento com o projeto cresce abruptamente. e sem medo de ser feliz quando eu percebi a maior parte do meu dia pertencia a Oficina da Arte.

O “fim”do projeto…

Um grande problema de não ter um objetivo e cliente bem definido é  que de certa forma não existe fim para o projeto, a medida que você vai aprendendo, mas coisas começam a se tornar aparentemente “necessárias”, que na verdade não são nada necessárias ao projeto.

É difícil dizer adues a um projeto eu por exemplo estou enrolando para finalizar, a Oficina, pois é meu projeto principal e, e… e eu me recuso o finalizar, não agora quem sabe daqui um dois meses.

Práticas boas para realizar projetos for yourself

  • Defina data de termino.
  • Tenha mais de um objetivo para com o seu projeto.
  • Não se apegue ao resultado, projetos falham, mas te rendem muitas experiências.
  • Aproveite ao máximo o trabalho em equipe.
  • Estude! Não vale a pena ter milhares de projetos sem qualidade.
  • Arrisque, inove, pense. Fazer cópia de projeto dos outros é plágio e não portfólio.
  • Observe os melhores e tente ser melhor que eles; em qualquer lugar que você cair entre o ponto zero e ser o melhor, já esta de bom tamanho.
  • Aceite criticas e sugestões.
  • Faça uma coisa de cada vez. Não tente abraçar o mundo de uma vez só.

 

Por hoje é só pessoal.

Abraços e até a próxima,

Gil.

Categorias:Diversos

Dojo – Ruby

Fala pessoal,

Nesta quinta-feira 09/02 participei de um dojo numa empresa de desenvolvimento, e aqui estou para compartilhar com vocês essa experiência que a propósito foi muito legal apesar de eu ter apanhando para o teclado do Mac :D.

Antes de mais nada uma breve explicação sobre o que é um dojo

De acordo com o site DojoPuzzles.com dojo nada mais é que um encontro onde um grupo de programadores de vários níveis de conhecimento se reúne para treinar, em um ambiente inclusivo e colaborativo boas técnicas e metodologias de desenvolvimento de software através da solução de um pequeno desafio de programação.

O problema:

FizzBuzz

Neste problema, você deverá exibir uma lista de 1 a 100, um em cada linha, com as seguintes exceções:

  • Números divisíveis por 3 deve aparecer como ‘Fizz’ ao invés do número;
  • Números divisíveis por 5 devem aparecer como ‘Buzz’ ao invés do número;
  • Números divisíveis por 3 e 5 devem aparecer como ‘FizzBuzz’ ao invés do número’.

definição de dojo e problemas para dojo você pode encontrar aqui

Ruby

A linguagem Ruby foi escolhida pois a empresa trabalha com esta linguagem.
De acordo com a Wikipedia Ruby é uma linguagem de programação interpretada multiparadigma, de tipagem dinâmica e forte, com gerenciamento de memória automático, originalmente planejada e desenvolvida no Japão em 1995, por Yukihiro “Matz” Matsumoto, para ser usada como linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python.
___

Minha opinião: Se você ja tem um pouco de lógica de programação, você não terá muitas dificuldades se iniciar em Ruby, eu diria que Ruby tem uma curva de aprendizado muito semelhante ao Python: em “J”, e por esta razão é gostosa de se aprender. Apesar de não ter explorado a linguagem, fiquei com uma boa impressão.

Resolução:

Como eu nunca tinha programado em ruby na minha vida, só sabia fazer um “Hello Word”, chamar uma função, criar uma classes, coisas simples, o problema foi bem simples, e a resolução não poderia ser diferente.
Em um ambiente orientado a testes, o dojo foi resolvido por 4 pessoas, e posteriormente um quinto elemento se juntou a nós.
Não vou “codar” aqui, pois não tenho o código exato de como ficou o dojo, e se eu postar algo diferente aqui estaria mentindo.

O que fizemos basicamente foi criar nossa classe FizzBuzz e dentro dela um método para verificar se o número era divisível de resto zero por 3 por 5 e por ambos.
Primeiramente foi usado alguns “ifs” e “elses” e dentro de cada um retornavamos fizz, buzz ou fizzbuzz conforme o número.
Ao termino do problemas refatoramos o problema usando a ideia dada pelo quinto elemento que citei acima.
Se o numero fosse divisível por 3 ou 5 era criada uma String vazia, que se o número for passado for divisível por 3 adiciona “Fizz” a string e se por 5 for, é adicionado a string “Buzz” se ele for divisível pelos dois retornamos a string concatenada com “FizzBuzz”.

Conclusão

Dojos são muito divertidos, programar é sensacional e eu só tenho a agradecer ao pessoal que entendeu que eu não saco de Ruby (ainda) e escolheu um probleminha simples, que me renderam uma boa hora numa quinta feira.

Por hoje é só,
Abraços e volte sempe 😉
Gil.

Categorias:Diversos Tags:,

Formalidades

Boa Tarde, venho por meio desta informar ao(s) senhor(es) que a partir da presente data vinte e seis(26) dias do mês de Janeiro(01) do ano de dois mil e doze(2012)…

Opa opa, calma ai né! Entendo que formalidades são necessariedades da comunicação em um ambiente de trabalho, principalmente quando se vai falar com superiores.
Mas tamanha formalidade em um ambiente de trabalho pode diminuir a produtividade e comodidade de funcionários, que são a principal ferramenta de uma empresa.
Alguns dias atrás estava num escritório de advocacia, e pude perceber que até mesmo lá um ambiente onde a linguagem formal é usada a cada documento redigido a cada ligação, as pessoas se tratavam de forma mais informal, o dono do escritório fazendo brincadeiras com seu estagiário e falando seriamente quando necessário.

Com certeza os empregados daquele escritório desempenham seu trabalho com mais tranquilidade, o que não significa com menos seriedade. É irrefutável que um ambiente descontraído anima o funcionário a desempenhar seu papel mas tranquilamente, sem medo de arriscar e expor idéias.

Não quero que ninguém saia por ai falando: “E ai boss, tranquilo meu camarada?”, obviamente não é esse o ponto em que quero chegar, hierarquias existem e devem ser respeitadas é claro. Sou a favor da humanização do ambiente de trabalho, não da bagunça!

O que é mais confortável, expor suas idéias a um chefe que você nunca viu dando um sorriso ou expor essas mesmas idéias a uma pessoa que esta sorrindo conversando com seus funcionários de igual para igual? Até mesmo um companheiro de equipe a quem você apresentaria um projeto? Qual a possibilidade daquele companheiro de equipe que nunca sorri, não conversa com todos, olhar para seu projeto e sorrir falar que gostou e te chamar para discuti-lo mas afundo?

Agora coloque isso num ambiente de funcionários de TI, que tem prazos curtos, grande exigência do cliente que ás vezes deseja que o computador leia sua mente e realize todas as tarefas que deveriam ser feitas por ele com um simples clique no mouse. Ou aquela plataforma, que não funciona, o erro de sintaxe que ninguém encontra, etc.

Trabalhar com TI em geral é muito prazeroso, programar então nem se fale :-), desde que estas tarefas sejam desempenhadas num ambiente propício para isso.

Nunca passei por essa situação de ter um ambiente carregado, afinal estou buscando um emprego, e ficaria muito contente de passar longe de um ambiente desses.

Então fica combinado, aqui no blog nada de linguagem muito formal ok? Nada “vc”, “ngm” e outros vícios de msn é claro, mas vou tentar transpor a linguagem que uso no meu dia a dia, afinal o objetivo do blog não é me expor?!

___

E para não passar em branco sem programação  no post de hoje de uma olhada numa siege que estou preparando, para a minha volta as aulas na faculdade.
Introduction to Django in 15 minutes or less.

Por hoje é só, abraço

Gil.

Oficina da Arte

Antes de tudo, é com muito prazer que posso finalmente dizer que consegui usar o github.

Oficina da Arte

A Oficina da arte é um projeto de empresa Jr, que visa a integração de estudantes de diferentes cursos de graduação, que foca na divulgação de trabalhos realizados por seus componentes além de projetos sociais, confecção de camisas e a pareceria com o projeto Boca a Boca.

Ritmo Amor e Poesia

Primeira camisa do Selo da Oficina da Arte

Breve breve o site estará no ar e vocês podem e devem acompanhar as mudanças e o gerenciamento de versão no github, para tanto clique aqui.

Abraço,
Gil.

Django humanize & Dojo Python

Olá, estava vendo a documentação do Django, conhecendo as ferramentas que ele me oferce, quando me deparei com o Django.contrib.humanize clique aqui para ver a documentação original (inglês), segundo a documentação do Django o django.contrib.humanize é: Um conjunto de úteis template filters  para adicinoar um “toque humano” aos dados (tradução própia).

Exemplo retirado da docs.djangoproject :

apnumber

For numbers 1-9, returns the number spelled out. Otherwise, returns the number. This follows Associated Press style.

Examples:

  • 1 becomes one.
  • 2 becomes two.
  • 10 becomes 10.

Lendo isto lembrei de um dojo que fiz há um tempo com meu amigo Uriel (@urieljuliatti), bom não finalizamos no tempo desejado e me decepcionou o fato de não saber coisas simples com o Python. Apesar de ter ficado decepcionado com os resultados, percebi que tinha que estudar mais, e que dojos são um ótimo termômetro para saber como você esta se saindo, além de serem divertidos pelo simples fato de serem desafiadores.

Algumas coisas que pude tirar proveito daquele dia foram que dificuldades e dúvidas irão aparecer, se preparar para elas é essencial (ter uma lista com fontes de pesquisa ajuda muito) e nem sempre a tua solução é a melhor, admitir isto pode ser difícil mas não adianta, trabalhar em equipe é isso, agregar  experiências e idéias.

Dojo

O objetivo do Dojo era contar quantas letras existem nos números de um a mil.
ex: um => duas letras
dois => quatro letras
total = 6 letras.

Resolução:
Após a frustração com o Python, o Uriel começou a rabiscar algo em Ruby, e eu em python, chegamos no fim do dia sem uma resolução. O Uriel me mostrou a linha de raciocínio dele, confesso que no momento não entendi – respondi assim: Sim, sim ah tá – nunca respondam assim, nunca fique com dúvidas.

Chegando em casa, começei a pensar na solução do Uriel e percebi que ele estava certo, dei uma “rabiscada” em python e saiu algo mais ou menos assim:

-*- coding: utf-8 -*-
#! /usr/Python/Python2.7
# gilgomesp@gmail.com

# sys para usar o argv
import sys

# numeros por extenso

numeros = [{0:””, 1:”um”, 2:”dois”, 3:”três”, 4:”quatro”, 5:”cinco”,
6:”seis”, 7:”sete”, 8:”oito”, 9:”nove”, 10:”dez”,
11:”onze”, 12:”doze”, 13:”treze”, 14:”quatorze”, 15:”quinze”,
16:”dezesseis”, 17:”dezessete”, 18:”dezoito”, 19:”dezenove”},
{2:”vinte”, 3:”trinta”,
4:”quarenta”, 5:”cinquenta”, 6:”sessenta”, 7:”setenta”, 8:”oitenta”,
9:”noventa”},
{1:”cento”, 2:”duzentos”, 3:”trezentos”,
4:”quatrocentos”, 5:”quinhentos”, 6:”seissentos”, 7:”setessentos”,
8:”oitocentos”, 9:”novecentos”}]
def unidades(numero):
n = str(int(numero)) # converte para string
numeroString = ‘0’ * (3 – len(n)) + n # gera uma string numeroString = 83
u = int(numeroString[-1:])
if numeros[0].has_key(u):
unidade = numeros[0][u]
return unidade

def dezenas(numero):
n = str(int(numero))
numeroString = ‘0’ * len(n) + n
d = int(numeroString[2:-1])
dez = int(numeroString[2:])
if numeros[1].has_key(dez):
dezena = numeros[0][dez]
return dezena
else:
dezena = numeros[1][d]
return dezena

#def centenas(numero):
#n = str(int(numero)) #converte para str
#numeroString = ‘0’ * (3 – len(n)) + n
#c = int(numeroString[-2:])
#if numeros[2].has_key(c):
#centena = numeros[2][c]
#return centena
#else: print ‘invalido’

def extenso(numero):
if numero >= 20:
return dezenas(numero)+ ‘ e ‘+ unidades(numero)
elif numero < 20:
return unidades(numero)
elif numero >99:
return centenas(numero)
def main():
numero = 99 # OU sys.argv[1]
print extenso(numero)

if __name__ == ‘__main__’:
main()

Não ficou pronto, não por incapacidade, mas sim por ter perdido o objetivo para mim que era a conclusão em dupla do Dojo, o prazer de resolver meu primeiro desafio fora da faculdade com meu amigo Uriel.
Para finalizar gostaria de deixar claro que não vejo essa experiência como frustante, mas sim como uma grande oportunidade de aprender, e acredito ter evoluído mais um pouquinho nessa caminha rumo ao infinito que é o aprendizado e evolução pessoal.

Abraços deste que vos fala, até a próxima.

Categorias:Diversos, Django Tags:, ,

Antes de mais nada… Apresentação

Ao invés de um simples “Hello word” ou ja ir jogando conteúdo aqui, gostaria antes de qualquer coisa me apresentar e justificar a existência deste blog.

Para tanto devo começar agradecendo ao meu amigo Uriel que me incentivou a começar com o Python, Django, PHP, meu futuro repositório no github e este blog.
Aprendizados, fracassos e descobertas no mundo da computação, e fora dele por que não, é o que ira compor o conteúdo deste blog.
Como forma de expor o que ando fazendo e aprendendo, e uma forma de provar aos meus futuros empregadores que apesar de ainda não ter experiência de mercado, posso dar conta do recado; este acredito ser o principal motivo do blog.

Metas para o primeiro bimestre e semestre de 2012 ja estão traçadas, agora é hora de arregaçar as mangas e mãos a obra.
Não faço ideia de como você chegou aqui mas imagino o por que, e logo de cara vou lhe pedir o seguinte vamos aprender juntos? dividir experiencias e conhecimento para que possamos todos juntos crescer sem passar por cima de ninguém, de maneira honesta e honrosa, bom já “falei” de mais, ah essa mais uma coisa que você deveria saber sobre mim a cada dia que passa gosto de falar e opinar mais.

Abraços, Gil.

Categorias:Diversos