E você esta pronto para isso tudo ?
|
|
Pessoal estamos ai já bem perto de 2007, esse ano aprendemos o que se ganha e o que se perde com Ruby on Rails, estamos vendo grandes crescimentos na nossa comunidade, creio que temos que preparar o alicerce para que nossa nova morada de desenvolvimento Ror seja uma morada sempre produtiva e sempre de sucesso, como alguns amigos aqui do fórum já citou, rails tende a tomar um Rumo mais para o lado de aplicações ASP aqui no Brasil(E eu não dúvido), ou seja aplicações especificas como, intranets, sistemas, módulos especificos/legados, até porque após esse booom que as empresas e hosts começarão a vender hospedagens decentes com suporte a mongrel, lighttpd/fastcgi e dar um valor real para nóis. |
|
|
Deixa o boi bravo vir que a gente pega ele pelos chifres. ;-) |
|
|
- Movido de “Perguntas e Repostas” para “Lero-Lero”, já que, apesar de relacionado com Ruby e Rails, está mais pra off-topic – :) |
|
|
E eu ainda fui falar de boi … ;-) |
|
|
huahuahuahuahua!!! Ei, pessoal, não fiquem cabreiros pq movi o tópico. É só pra organizar :) É um tópico válido como qualquer outro. Como zelador e jardineiro do RubyOnBr minha função é deixar a grama verdinha e a cerca-viva aparadinha ;) Acho que a próxima coisa a vir por aí são empresas de pequeno e talvez médio porte adotando, e possivelmente treinamentos. Imagino se seria uma boa alguma empresa grande “adotar” o ruby… será que a coisa alavancaria mais? A 37 signals já cuida do Rails… (“certificação Rails”? brrr.. calafrios) |
|
|
Ainda bem que vc falou Ronie, eu fiquei meio tímido pra falar ;_; Bom, editando rapidin o post, vou colocar uim link de uma discussão recente no guj http://www.guj.com.br/posts/list/43781.java Lá dá pra ter uma idéia se estamos prontos ou não pra isso =) hehe t+ |
|
|
Tinha visto esse tópico um tempo atrás… mas não estava acompanhando. Engraçado que vai do flame ao bom senso em poucos posts. Se bem que flame e bom senso são difíceis de distinguir em boa parte dos casos. Mas existe a questão de performance que o pessoal sempre pega, não sei se com ou sem razão. Eu achei um link muito legal sobre performance (já postei em outro tópico, mas vai aqui de novo). Se vc ler ele inteiro, vai perceber que a arquitura de servidores inicial tentava ser “de alta performance”, e quando eles simplificaram a coisa, a performance melhorou. Também conseguiram várias melhorias atualizando software (um dos que mais deu aumento de performance foi atualização de kernel do Linux :p) O que indica que, em termos de desempenho, o Ruby está em franca evolução. Acho que valia um post “fixo” só pra discutir performance :) Meu medo é só gerar flame com isso :D Afora performance, e esquecendo sintaxe, gosto muito do Ruby por causa dos Closures e dos Bindings. São coisas bobas, mas quebram um galhão. Principalmente qdo se está tentando fazer “DSL’s”(Domain Specific Languages) Proteu, não sabia que vc mexia com essas contas doidas… Que vc achou útil no Ruby pra isso, afinal? (Vi no post do GUJ, mas queria mais detalhes, q libs vc está usando, como, etc :) |
|
|
só retificando:
“coisa bobas” como em “o conceito não é complicado”. Lógico que apesar do conceito ser “simples”, implementar isso em uma linguagem dá trabalho. |
|
|
Eu gosto de doideras _ vou ressaltar algumas =) Trabalhei com simulação de difusão de Petróleo no mar , Otimização Combinatorial Em ruby eu não usei lib alguma, era calculo pra fazer no braço mesmo, fazendo um balé louco de indices para conseguir ganho na restauração da imagem. O que ressaltei no post do GUJ é que o algoritmo em ruby fica mais fácil de ler, e os algoritmos para esses tipos de problemas não são facéis de enxergar com java. Às vezes a verbosidade mata. Nos outros projetos usei Java Swing + JAI (Java Advanced Imaging) em alguns casos, C ANSI em outros. Fazia mestrado em Computação Quântica (Matemática Aplicada) na unicamp, mas saí por falta de grana e voltei a trabalhar com J2EE e outras coisas do além =) |
|
|
Caçapava do Sul!!! :| Insanidade + 10 Me senti até bem agora. :D Dia q eu tiver uma “bomba matemática” vou apontar ela direto pra vc. É bom saber disso, me deu idéia para um tópico. |
|
|
Dando mais detalhes da implementação, uma das coisas que me deixou feliz é que arrays em ruby são circulares, além de ter o tipo range nativo na linguagem, tipo x = 1..50 hehehe, muito util pra definir intervalos e fazer conta com eles (valeu a dica no tutorial, TaQ :D) Com esse conceito de vetores ciclicos, posso considerar uma imagem como uma superfície de uma esfera ao invés de ser uma simples matriz. Assim eu expando o número de vizinhanças interpixel de 8 para 17 pixels. Assim dá pra aproveitar de uma forma espacial as similaridades da imagem, que no meu caso o que interessa é a redundância. Imagens são estruturas tipicamente redudantes, não é a toa que temos uma diferença grande de tamanho entre um mapa de bits (imagens BMP) e o Padrão JPEG _ |
|
|
heuheuehueue o pessoal se espanta com essas lombras, mas gosto disso, pena que não dá grana =/ ou se dá eu não sei como ganhar com ela. Ruby abriu portas mesmo. Com essa coisa de DSL, fiquei com tesão de escrever uma DSL para Computadores Quanticos, como o QSL mas tem que estudar muito e com o tempo escasso isso torna-se inviável…fora que nem ando mexendo muito com ruby, o trabalho está sugando meu tônus vital =/ |
|
|
Cara, estou levando muito a sério o negócio de DSL. Com Ruby fica muuuuuito simples. Eu experimentei um tempo com Java, fazendo um compilador com o JavaCC e afins. Depois ia tentar com Byson em C, mas comecei com Java pq aprender compiladores e C ao mesmo tempo ia me deixar doido. No fim, o trampo é tanto q não estava vendo o benefício. Foi mais ou menos nessa época q esbarrei com Ruby e Rails. Rails tem muito de DSL, me encantei e desisti da “pureza” de montar um compilador próprio pra DSL e passei a investir em DSLs que “expandem” a linguagem. Como Ruby tem uma sintaxe flexível e closures, meu mundo ficou bem mais plano ;) Hoje, acredito sinceramente que pra DSL, interpretadores e compiladores próprios são uma péssima idéia. O negócio é uma linguagem que permita expansões. Mas isso é minha percepção pessoal. |
|
|
JetBrains neles! hahahah!! Uma DSL não é poderosa se nao tiver uma API extensa e usável. Por isso que seu pensamento de DSL como expansão é apropriada, a coisa ganha vida mais rapidamente. |
|
|
Esbarrei nele tb. Mas na época não tinha nada pra brincar :| Achei a idéia DUCA. Mas hoje, acho q é como vc disse: “com expansões, a coisa ganha vida mais rapidamente”. E meu interessse em DSL é para aumentar a produtividade, soluções que tomem tempo demais (com criar um interpretador próprio), ainda q tenham N benefícios, não servem para o cenário que me interessa ;) |
|
|
Ronie, vi que você trabalha com computação evolutiva. Tem uma idéia muito boa que vi quando estava fazendo o algoritmo de difusão de petróleo usando teoria da percolação . Essa teoria também é aplicável em colônia de bactérias e algoritmos genéticos / meméticos, e meu primeiro contato com ruby (final de 2002, acho) me fez pensar o seguinte: Como ruby é uma linguagem altamente dinâmica, algumas operações de mutação que vemos em algoritmos genéticos (normalmente feitas com operadores de cruzamento supervisionados) poderiam ser feitas no próprio código, algo como o cruzamento de dois scripts ruby gerar um novo script como filho, e usa-lo em alto nível para avaliar a evolução da iteração inicial até a final, usando mixins ou herança simples mesmo (se puder havaer auto-cruzamento). Já pensou, você mesclar caracteristicas (atributos do gene) em alto nivel, com atributos e métodos? Seria um troço punk e interessante. |
|
|
Aff… eu deveria ter sido mais claro. Meu negócio é “evolução de arquitetura” (architectural evolution), mas não gosto da palavra arquitetura nesse contexto, a idéia simplesmente é construir o sistema por evolução (usando TDD e Refactoring), ao invés de usando BDUF . Mais especificamente, minha área de interesse é pegar um sistema funcionando e construído sem testes automatizados e conseguir enfiar mais funcionalidades nele sem o barraco vir ao chão. No exato momento, estou trabalhando com evolução de banco de dados (schema evolution, mas o termo é mais para BDs OO). No entanto, como disse, gosto de dar uma fuçada no underground, e teve um tempo que esbarrei com isso aqui: http://www.genetic-programming.org . Que é exatamente a idéia q você descreveu. Eles tinha conseguidos alguns resultados interessantes, com alguns algoritmos “redescobertos” pelo processo, inclusive alguns poucos inéditos mais eficientes que os conhecidos. Mas não entrei em detalhes para saber como funcionam. Imagino que, com Ruby, dê pra fazer isso em um nível mais alto ;) Acho q nem precisa fazer Mixin ou Herança, dá pra redefinir o método na cara dura. |
|
|
Olhem mais um puto da vida com Ruby (o Matz deve ter xingado a mãe dele): |
|
|
Aff.. como o pessoal gosta de um flame. :| Acho que vou começar um flame xingando flames :D Aff.. como o pessoal gosta de um flame. :| Acho que vou começar um flame xingando flames :DBom, IMHO, se o cara não sente falta e Ruby e está feliz com Java e Perl, ótimo pra ele. Eu, por exemplo, gosto de Java, de Ruby, sexo e chocolate, não necessariamente nessa ordem. Aff.. como o pessoal gosta de um flame. :| Acho que vou começar um flame xingando flames :DBom, IMHO, se o cara não sente falta e Ruby e está feliz com Java e Perl, ótimo pra ele. Eu, por exemplo, gosto de Java, de Ruby, sexo e chocolate, não necessariamente nessa ordem.Aliás, acho que sexo é infinitamente melhor, mais rápido e mais divertido que Java ou Ruby, apesar de ter 5000 vezes mais vagas para Java na Catho do que para sexo. É óbvio que sexo ainda não está preparado para o ambiente “enterprise”, provavelmente pq o desempenho é muito ruim. São sempre 9 meses até o produto final fica pronto. ah… meus sais… |
|
|
Ainda no tópico “flame war”, isso aqui é divertido. |
|
|
Meta-flamewar ? po, tudo agora é Meta pra lá, Meta pra cá, todo mundo brincando de elevar o nível da coisa heheheh |
|
|
Fugindo um pouco do assunto… Proteu pelo post parece que você já trabalho com imagens usando Ruby. Tu poderia me dar umas dicas com o que tu usou para fazer processamento de imagens? Pois eu tentei uma vez e não obtive bom desempenho. |

