Jul 26 2010

Search Stories: Lima is for Food

Published by Rudy Godoy under Internet, Personal

Technology needs to intersect with reality. While on vacations in Lima, my hometown city, I just enjoy what it does have to offer. Google have become the universal search engine. Is not an exception that one can use it to find traditional places in Lima to try the great food we do have. I’ve made a video for the Google Search Stories series (some spanish involved). Search On.

View Comments

Jul 02 2010

Looprec – demo edit

Published by Rudy Godoy under Music

Demo edit by no-computer.org. Dance baby, dance!

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Thanks to Soundtrends’ Looptastic.

View Comments

Jun 24 2010

Thank you

Published by Rudy Godoy under Personal

A very personal post.

Thanks to:

  • My philosophy teacher, Mr. Oliva, who brought reality and realism to actual meaning in my life.
  • To Mr. Ruben Yong, Dean of UPC’s Engineering EPE programs, who told me I am not for engineering, indeed, I am a different animal.
  • To my UPC Math teacher, Elias Soto, who paved the way for me to re-engage with Math.
  • My lovely and wonderful friends who always support and encourage me. I, by no means, just act accordingly.
  • The customers who didn’t bought our products, so we didn’t lose focus on our goal.
  • To the people who grows anger and sadness inside themselves, they have taught me the value of mental health.
  • To my classmates that have taught me I shouldn’t take myself too serious!
  • To the people who trust on me with no hesitation. They are confident that I can achieve my goals. I just honor that.
  • To the people who I make hard for them to deal with me. I take it as a challenge for myself to improve.
  • To my current Math teachers who have proven I work great on abstract level. I’m tempted to explore more on that side. Still struggling with details.
  • To the wonderful HTU team, they are the best in town.
  • To my faculty teachers and people for his vision, advice and field expertise. I feel I belong here.
  • To my programming teacher, Alfredo Paz, who introduced me to Haskell and the emphasis on the joy and art of programming.
  • To the SoundTrends team for making Looptastic! Finally I can make some real noise!
  • To women, for living inspiration.
  • To Claudia, for everything.

Todo es azul.

View Comments

Apr 10 2010

Activerecord file fun

Published by Rudy Godoy under htu

For those who doesn’t know Activerecord is a software design pattern, not only an implementation.

Sometimes you are in a middle of a rush and Mr. Murphy knocks your door. I had such case: Customer imported user emails with a misspelling, asked for help. I tried to exercise my SQL skills in a bad way, Murphy steps in. Fortunately we have tools for fixing things.

Activerecord is an approach for database access, it’s based in OOP concepts and basically maps a record as a class. Thus, you can treat each record as standard objects, this means (for the lazy) that you can do things like attribute update.

So, back on the case. I wrote a simple piece of code using Ruby on Rails AR implementation. What it does? It saves my job, filename says it all (for the es_PE speaking people). It uses the email addresses from the file to update the email column in the database for each user.

Note: This case only works for 1:1 matching situation. If the list is sorted somehow different than the records, things will go wrong. However I post it here for educational purposes. I’ve commented the code acoordingly. Enjoy and comment.


cat recon.rb
#!/usr/bin/ruby

# Imports rubygems classes and then active record
require 'rubygems'
require 'active_record'

# Let AR know who is working with!
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:database => 'app',
:username => 'user',
:password => 'secret'
)

# Map table as a AR class.
# Note that I had to set the table name, since my database didn't use AR naming convention, so I had to also set primary key.

class User < ActiveRecord::Base
set_table_name :user
set_primary_key :user_id
end

# Open the lucky file.
f = File.open("emails.txt")
# Update each record thanks to AR properties. Yay!
User.find(:all).each do |u|
u.update_attribute :email, f.gets.chomp
end

# Just check if it did the job.
puts "check"
uc = User.find(:all)
uc.each do |usr|
puts "#{usr.username} : #{usr.email}"
end

View Comments

Oct 06 2009

Historia de la Informática en América Latina

Published by Rudy Godoy under Computer Science

En el reciente CLEI se abrio un panel respecto a la historia de la informática/computación en América Latina. Siempre es necesario revisar la historia para poder intepretar la realidad actual.

A continuación cito textualmente el resumen realizado por Ernesto Cuadros, que represento a Perú por la SPC.

- Introducción a cargo de Benjamín Barán (past president de CLEI). El CLEI se inicio en 1972 con el denominado “Panel de Topicos en Informatica” organizado en Chile. Luego en 1974 ya se organizo un encuentro latinoamericano en el Hotel Sheraton de Caracas. Esta es la fecha considerada como inicio de CLEI. En 79 se formalizo el nombre de CLEI. Luego se hicieron conferencias en diversas ciudades. (Acaban de mencionar todas las ciudades y la edicion de Peru de 1981 no fue mencionada pero todas las otras si).
- Habla Jorge Vidart (Uruguay) quien fuera pdte del CLEI al inicio de los 80’s. Menciona que vivio la historia en Uruguay desde sus inicios. Divide la historia en cuatro etapas.

1.- Prehistoria- del 63 al 73 al inicio era irregular. Ya en el 67 el pais reacciona y crean el instituto de computacion en el Uruguay. En 68 se funda la carrera. La base fue la ACM de aquella epoca. El arranque fue con una escuela organizada con Jean Paul Jacob que trajo docentes de Berkeley a
dictar cursos en convenio con la USP de Brasil. De ahi salieron varios de los que serian lideres en el area en Brasil y Uruguay tambien.
2.- Historia (73-85) dictadura en el pais. Los sacaron a todos de las universidades. Muchos fueron expulsados.
3.- Tiempos modernos (85) no habian profesores. La carrera estaba en la facultad de Ingenieria. El 86 consigue convencer que la informatica era tan importante como las ciencias basicas, se hicieron maestrias en ciencias computacionales atraves del ESLAI.
4.- Postmodernismo. (desde 2007) el nuevo gobierno decidio incursionar en el proyecto de darle una laptop a cada niño de colegios. En septiembre de 2009 se entregaron las ultimas de las laptops a todos los niños del Uruguay. Todos los colegios ya tienen Wi-Fi.
- Habla Diego Andrade (Ecuador). Ecuador recibia muchos recursos producto del petroleo en la decada de los 70’s. Al area de bancos aprovecho muy bien los ingresos producidos. Muchos Argentinos fueron a trabajar en el área privada. En los 80’s se comenzaron a crear las primeras carreras de Ing Informática e Ing de Sistemas. Antes de los 80’s habia formación de tecnólogos. Hubo mucha irresponsabilidad del gobeirno que aprobo muchas carreras y/o universidades sin calidad y todas ellas ponian al menos una carrera de Ing de Sistemas (Esto parece familiar). Eso ha generado un
atraso. Hoy se está trabajando en la acreditaciuon y eso va a provocar que muchas dejen de funcionar.
El siguiente paso ha sido crear maestrias, aun no se cuenta con doctorados.
El presidente Correa esta gestando una ley que obliga a que uno de los requisitos para ser docente universitario es tener un doctorado de nivel a tiempo completo fuera del pais. Es un hecho que la ley se va a aprobar pues el presidente tiene una gran mayoria en el congreso.
- Habla Ernesto Cuadros (Peru) Según un informe reciente del Colegio de Ingenieros del Perú el origen tuvo influencia de la IBM pero no hay un consenso debido a la falta de documentacion escrita de esa epoca. En la decada de los 80 hubo influencia europea creando Ing Informatica y luego hubo una proliferacion de nombres. nomenclaturas y contenidos que ahora ya se esta reorganizando. Peru observa con atencion las propuestas de IEEE-ACM y existe un gran interes en poder alinearse. Creo que las perspectivas son muy positivas debido a que las diversas conversaciones de los ultimos anhos han hecho notar la necesidad de un cambio. El ambiente es propicio y existe un numero interesante de universidades que estan apostando por la alineacion a las propuestas internacionales. La SPC ha venido trabajando por creasr un modelo de malla curricular que esta generando un buen interes de parte de las instituciones en el pais y que ya cuenta con el apoyo de IEEE y sera presentado en este CLEI como una charla.
- Jorge Aguirre (Uruguay). Comienza comentando que la computadora y la informática es el hito más importante del siglo XX e influye enormemente (con velocidad exponencial) en nuestra sociedad. Es nuestra responsabilidad mantener la memoria de los procesos.
- Felipe Navaux (Brasil) En 1950 las primeras calculadoras eran comercializadas. En 1959 se inicia la venda de computadores en Brasil. Esta area se inicio en 1960 en la PUC de Rio. En 1968 de abre la primera maestria seguido en 1975 de un doctorado. Las maestrias surgieron practicamente al mismo tiempo que los pregrados. En los 70 habia mucha gente que reclamaba a la informatica como parte del area de matematica y otros como parte de ingenieria. En 1972 se crea el Dpto de Ciencia de la Computacion en la UFMG. En la UFRGS se compra una maquina IBM en los 60’s, en 1972 se crea la
primera maestria y en 1979 el primer doctorado. En el ICMC de Sao Carlos se crea con influencia de los matematicos. La carrera de la UNICAMP fue posterior porque la universidad es mas reciente. Los números hasta 2006 son: hay 1764 carreras.
- Ramon Puigjaner (España). Visión externa sobre la informatica en América Latina (AL). Ha estado trabajando con AL en los ultimos 30 años. Esta involucrado con CLEI desde 1991. Su percepción es que ya se nota una fuerte exigencia en la selección de los articulos en los eventos latinoamericanos.
- Habla Raul Carnota (Argentina). Hay muchas historias oficiales que en muchos casos es solo una cronologia. En los ultimos 2 anhos hay un esfuerzo por revalorar y documentar la hiustoria del area en Argentina y Chile.
- Habla Ivan da Costa (Brasil) Hace menos de un mes fue publicado en la revista Veja de Brasil que una de las cosas mas estupoidas de la decada de los 80 fue la de intentar hacer una reserva de mercado para los computadores pretendiendo que los brasilenhos solo trabajasen con tecnologia
hecha en Brasil. Estaba prohibido traer tecnologia de fuera con el objetivo de sea creada en Brasil. Eso tuvo un efecto adverso. El mercado es global y no se puede pensar en capsulas cerradas.
- Habla Tomás Lópéz (Cuba). Erneso Che Guevara fue quien marco el inicio del desarrollo de estas areas en Cuba. la www.uci.cu tiene en la actualidad 11 mil estudiantes en la carrera de Informatica. (Ojo que es una sola institucion !!!!)
- Habla Gabriela Marín. Fue Clara Somer (Ing Civil) quien logro que IBM le diera una primera maquina de 70mil dolares.

View Comments

Jul 09 2009

Introducing no-computer.org

Published by Rudy Godoy under Music, Personal

It’s a honor for me to present a personal project I’ve been working on the last months. It’s called no-computer.org and basically it’s an astonishing contradiction, just like me.

It works this way:

no-computer.org is what I call “my B-side act”. It was born as a vehicle to express my inner self in no verbal form.

The name is a funny contradiction that has it’s origin on the after job hours I turn off the computer and disconnect completely from world (read Internet) and do anything else but work. Ironnically, as the tools for producing this venture are the computers themselves and some other electronics I was, in fact, in a situation where I “reject” computers but have to use them for my expression act. It’s a funny contradiction as I happen to be myself: a walking contradiction.

At this stage it basically translates art to the web in a traditional fashion. Next releases should be able to let you interpret and experience the acts in a very personal way. I have pretty nice plans for this.

Even it has been live since apr 30, I did choose today for announcing it because it’s a great day and it’s also Pablo’s birthday! I hope you enjoy it, it has been done with plenty of love :)

View Comments

Jun 14 2009

What are we?

Published by Rudy Godoy under Music

A night that could ever be forgotten in Lima’s musical scene. Brett Anderson’s performance on june 11 was simply amazing and very professional. Thank you Brett, been waiting years for this! Yet another goal accomplished!

Electric show

Electric show

I’ve uploaded more photos here and a video.

Brett Anderson in Lima – Love is dead

And finally the blast! Footage by our friend Jean Cocteaulab.

you and me.

View Comments

Mar 13 2009

Is Debian listening to its users?

Published by Rudy Godoy under Debian, Free Software

For some time ago I’ve been pondering about this question. As long as GSoC 2009 is about to start and people are looking for project ideas, I’m posting here a very preliminar draft of my findings and an idea for a posible software project. It’s pretty written on-the-fly while I’ve managed to have some minutes between work and uni. Rigurous wording isn’t P1.

Debian’s social contract 4th item states:

Our priorities are our users and free software We will be guided by the needs of our users and the free software community. We will place their interests first in our priorities.

When we make decisions, either technical, legal and others regarding the operating system we deliver, this is one of the most referred argument. Altough that’s seen as high priority often we don’t have ways to properly know what our users want. While working on translations on the Spanish team we’ve faced this situation. Do our users find them useful? they are able to understand them? they find that a much familiar wording would be bette than high technical details? We didn’t know. Then, the question still exists.

Altough Debian has ways for users to provide feedback (BTS, mailing lists, IRC,  popcon, etc) none of them is designed to offer a way for the user to provide feedback on features, development roadmap and other non-bug aspects that developers and the project can tally and use for prioritize on releases. It’s rather amusing to note that one of the most valuable assets free software community has is user involvement and contribution.

But before we enter in details let’s start on the basics. For using this information we first need to know who our users are? do we? From my findings and interaction with the community I’ve identified two kinds of Debian users who can be clearly named.

1) The derivatives or pure blends, who use the Debian base and framework to build niche distributions.

2) The lead users (using E. Von Hippel’s definition), who are the developers, contributors and a group of users. Debian is, if not the only, one of the projects who is best for fostering lead users. Most of them at some point involve themselves in the development process and some, later become developers.

There is a more diverse group who are end-users but it’s unclear to me how we can group them. Despite that they probably represent the biggest part of the pie.

So, how we do please everyone? can we? In my opinion we can, at some degree. By implementing tools for first: gather user feedback, make statistical data, tally, we later can take informed decisions. In Debian decisions are voted and the set of people who votes are only developers with their own constraints.

I think this would ease the constant that release-decisions-regarding-foo-tech-legal-issue represented on each release iteration, saving time, health and bits.  It could be useful for knowing more about who are the ones we develop things for. I’m thinking of some sort of Dell’s IdeaStorm.com for software.

What do you think? I’m willing to co-mentor this if someone finds that is an interesting project for GSoC. Let me know!.

View Comments

Mar 05 2009

The memory of the future: smaller, faster, cheaper and less power consuming

Published by Rudy Godoy under Computer Science

Society needs are always evolving. Computing, a field that has less than 50 years, is one of the most fast evolving fields. The society of the future will have to deal with scarcity so resource use/expense efficiency will be key. Computer hardware has been said to be poorly engineered regarding power-comsumption.

A team of IBM researchers are working on building a new kind of memory. Ones that are smaller, faster, cheaper to build, and that use less power. In this Robert Scoble’s interview Stewart Parkin, team leader, describes how they are approaching to such thing. Funny thing, as most science developments are, is that they aren’t actually discovering something new. They are simply using physics rules, well known for years, for their purpose. What we’ll get in the future out of this are less power consuming, smaller, faster and cheaper memories. This opens the door for microdevices, nanotechnology, scientific computing and mass processing.

Posted from Diigo. The rest of my favorite links are here.

View Comments

Feb 22 2009

software development practices for personal development

Published by Rudy Godoy under Debian, Opinion, Personal

Often I happen to come with some pretty crazy ideas about anything in life. That’s me. Some of them may work, that’s why I adventure to share them with the world.

Working with computers, software in particular, for almost 12 years have brought interesting views regarding life. For the past 3 years I’ve progressively improved the human being am I, and also the improvement process. The other day I was heading to the uni and I’ve just noted that some practices of my profession can also be applied to my personal improvement. So, here I’m sharing some of them. Hope you find them useful.

  1. Spot your bugs and kill ‘em. While it’s important to want to improve yourself. It’s more relevant to the fact of real improvement that you spot your personal “bugs”. This is a crucial part of it all. Once you are aware of you personal “bugs” you’ll be able to take action on them. So, when you do, just kill them and don’t let stink until you are not able to manage it at all and all your “code” taints and breaks.
  2. Let process run on the background. Life has a limitation, which is time. Time is a scarce resource. You must be aware of it, really. While we might want to do many different things life presents to us, is not really responsible to engage on all. However, we can hack this. Here technology is our ally. There are many different ways to be able to do some things in the background while on the foreground you focus on what really matters to you at the time.
  3. Outsource services that are not key for you. Delegation and distributed architecture come to mind. Professions and specialization are an evolution of humanity. Please take advantage of it. You don’t need to know or do  everything. Karen Sthepenson’s connectivism axiom is illustrative:  ‘I store my knowledge in my friends’.
  4. Focus on what matters. This is somehow like the unix tradition of doing one thing and doing it well. Identify what makes you unique, special and relevant on your ecosystem. What value you can offer to others, and work on that direction. Hard work pays.
  5. Release early and release often. Once you have spot bugs and managed to fix them, release a new version of yourself!. Tell the world by showing an improved version of yourself. Make this incremental and iterative, just like a software development framework. For instance I currently run a 3.1 version of myself. Just released a point version last week :)

View Comments

Next »