A Django site.
January 26, 2010

Marco Morales
soulse
Whatever I can think of
» Haz lo que te apasiona y se el mejor

Hoy recién me anime a ver una charla del trabajo, virtual y grabada de hace unos meses, donde se hablo sobre el camino profesional que uno debería seguir, aunque los mensajes claramente aplicaban para cualquier tipo de camino que podías tomar en la vida. Y lo que me quedo, sobre todos demás mensajes, fue “haz lo que te apasiona y se el mejor”. Ya que es, según lo que decía el presentador, lo que finalmente te hará feliz en la vida. Y claro, estoy totalmente de acuerdo con eso.

En mi caso a pesar que decidí estudiar ingeniería de sistemas, dejando de lado arquitectura que fue lo que gran parte del último año del colegio quise estudiar, no tuve claro por mucho tiempo si realmente me iba gustar trabajar en sistemas. Y a pesar que me gustaba programar, me di cuenta que definitivamente no iba ser feliz trabajando en eso, que lo prefería como hobby.

Ahí vino una duda existencial de qué diablos iba hacer ahora. Al menos en este punto tenía claro que lo que me gustaba era la tecnología  y así opte por aprender seguridad en IT, aunque más por el lado de networking. Deje  de lado toda la programación para ver esto nuevo que me empezaba a gustar. Y me alegra, analizándolo ya ahora, que siempre me guie por lo que me gustaba, más que cualquier otro aspecto.

Ya cuando me faltaba 1 ciclo en la universidad tuve la oportunidad de iniciar prácticas en una empresa de networking. Comencé enfocado en seguridad de red pero de ahí empecé a ver todo lo que es networking.  Es en ese momento que realmente sentí que estaba haciendo lo que realmente me apasionaba y eso me alegraba.

Es así que por aproximadamente 4 años me dedique a vivir y estudiar networking. Tuve como plan lograr las mejores certificaciones de este campo y las logre. Comencé desde el más básico CCNA y he llegado a tener tres certificaciones CCIE. No es nada fácil lograrlo, no creo que lo hubiera logrado si no me gustara en serio esto.

En esta charla que comente inicialmente, el presentador conto su experiencia profesional y como llego al lugar privilegiado en que está dentro de la compañía. Siempre fue ingeniero y esto le apasionaba pero en un momento decidió ser gerente, y como el mismo conto, no fue la mejor opción ya que al primer mes se dio cuenta que no iba ser feliz estando en management, a pesar que fue reconocido como un buen gerente. Al año decidió regresar a ser ingeniero y así continuo con su pasión, lo cual dice lo hace feliz. Teniendo ahora un nivel de ingeniero equivalente a directores o VPs dentro de la empresa.

Vuelvo a comentar sobre esta charla, ya que en mi caso al llegar a cumplir el plan de estudio que tenía, llegue a un punto de “que quiero hacer ahora”. Es así que me presente a una oportunidad de un puesto inicial de management, esto fue antes de la ver la charla claro. Por el feedback de mis gerentes entendía que me fue bien en las entrevistas pero me dieron a entender que no me veían cómodo en un posición así, y tenían toda la razón. Yo mismo no podía justificar adecuadamente mi decisión de presentarme a la posición. Finalmente y como ya lo esperaba, no fui elegido. A pesar que no es agradable fallar, ahora veo que fue lo mejor para mí.

Ahora ya tengo claro que me apasiona seguir trabajando en ingeniería y es lo que realmente me hace feliz. Tuve la suerte de haber elegido una carrera que realmente me llegó a gustar. Ya no me imagino teniendo otro tipo de trabajo.

Mi meta es llegar al nivel más alto, así como el presentador, y confió que lo lograre.

Haz lo que te apasiona y se el mejor.

December 22, 2009

Marco Morales
soulse
Whatever I can think of
» My wow’s Avatar xD

This is my “Avatar” in World of Warcraft hohoho

October 4, 2009

Jesús del Carpio
jj
Jj's blog
» Learning jQuery 1.3

Cover of Learning jQuery 1.3Right after finishing my review on the Django template development book I got contacted again by the Packt folks to do the same for the Learning jQuery 1.3 book. I was most pleased with the request.

Now, this book has 444 pages compared to the 272 pages from Django book. There is much more to teach about jQuery than about the django template language :) .

The book has 11 chapters and 4 great appendixes. It starts off teaching you how to set up a page to use jQuery, teaches you selector magic and from then on the example scripts get more and more complicated as the chapters pass by.

Once you’ve read the first half of the book (Free sample chapter), you’re good to go. At this point you should know what is it that you can do with jQuery and start using it. But this is the moment where it just starts to get interesting.

Chapters, 7 on Table manipulation, 8 on Forms with function and chapter 9 about Shufflers and rotators show you how to do amazing stuff you (well, I) wouldn’t have thought of. This is the most important part of the book as it shows you how to put all the jQuery functionality together and teaches you several awesome tricks and techniques to make transparency gradients, lightboxes, scrollers, sort, tables, invoices and tons more.

What’s also great about the book is that it enforces graceful degradation and progressive enhancement through all the examples. So all your development is funcional even for people without Javascript. And he does that providing good arguments on why it is a good idea to keep it that way, since I know lots of people that are just not willing to care about people not using Javascript.

I was gladly surprised with Appendix on Closures, it has a good explanation of that concept that takes so long to grasp. the rest of the appendixes are great resource of information with reference to tools, plugins and related reading to increase your Javascript fu.

Overall

This is a great book, that could have easily be divided in two books, Basic jQuery and Mastering jQuery. Goes from the basic to some medium/advanced level. Every web developer (front end and backend) should read this in order to know how to provider great user experience :).

August 23, 2009

Jesús del Carpio
jj
Jj's blog
» Generating Javascript Widgets with reversed URL endpoints in Django

I just read Elf Stenberg’s solution on how to serve static Javascript with reversed URLs in Django, I was going to leave this as a comment but I better explain it here :P

When developing Django Widgets that require Javascript interaction with the server (Ajax, XHR, etc… ), you want your widget seamlessly deployable and have it know where to find its information (the endpoint).

Elf’s solution is pretty interesting, as he runs the static fles through the Django Template renderer and stores the expanded versions for deployment. This is nice, but :

  • You have to re-render all the files if you change the endpoint
  • You have to re-render if you use the widget somewhere else (different proyect).
  • It becomes difficult to have an URL with parameters like a model Id or any variable (since there’s no context).

What I do is add the URL to the Widget and set it as a document javascript variable, then use that variable on my .js

It goes something like this:

class MyWidget(forms.Widget):
  def __init__(self, endpoing, *args, **kwargs):
    self.endpoint = endpoint
    super(self, MyWidget).__init__(*args, **kwargs)

  def render(self):
    output = super(self, MyWidget).render()
    output =+ '<script>var WIDGET_ENDPOINT = "%s";</script%gt;' % self.endpoint

  class Media:
    js = ('my_widget.js',)

So you can just use django.core.urlresolvers.reverse to your endpoint when defining the widget :) .

On the template just render the field and add the {{form.media}} (at the bottom fo the document where scripts belong).

In your .js file:

$.getJSON(WIDGET_ENDPOINT, {}, function(resp) {
   $("#somenode").html(resp.results);
});

The downside is that you have to have that SCRIPT tag in the middle of your document, but really.. its only to ser a variable so it doesn’t hurt much.

This is similar to this solution on accessing MEDIA_URL in Javascript files.

August 17, 2009

Jesús del Carpio
jj
Jj's blog
» Django 1.0 Template Development

Django template developmentLast month I got an email from Packt telling me about their latest book on Django Template development. I was invited to give it a read and see how I liked it.

Now, I’m a lazy and slow reader. But this book was quite an easy read. I liked how fast I went through the pages and how friendly the writer seemed :) .

This is a book focused on Django templates, not in Django itself, but through out the book it becomes obvious that you’ll always need to have basic knowledge on how views and urls work.

My first impression of the book was a bit of disappointment since it’s a Django 1.0 book, but there hasn’t really been any big changes in Django 1.1 that would affect the book. So the book is still valid ;) .

Highlights

The chapters that I found most useful were “Chapter 5: Loading and inheriting Templates” (I would have liked someone telling me about inheriting best practices when I started), “Chapter 6: Serving Multiple Templates” (great use case of the mobile site :) ) and “Chapter 9:Customizing the Admin Look and Feel” (Found it easier to read than the actual Django documentation on the subject), I was pretty interested on chapter 11 about Internationalization, but it felt a tad too short.

Missing?

I don’t know if I missed this part when reading but I think it would have been good to address the fact that a template is a list of nodes and each of these nodes has to be rendered. It’s mentioned when teaching you how to create your own template tag, but I feel this could have been explained a little bit further to have knowledge on how the templating system works.

Here in Aureal we work with two Web designers, they don’t do any code. They just help us making the HTML look pretty and one of their biggest issues is with forms, we lazy coders like to print the default table format {{my_form}}. German and Justina always have a hard time figuring out what’s behind that form, what attribues are in it, why is it a table, hwo to change that and all that… I was expecting the book to have an extra chapter on that but I never found it :( .

Overall

The book is a great introduction to templates best practices and even after working heavily with Django you might learn a trick or two from it.

August 8, 2009

Jesús del Carpio
jj
Jj's blog
» Google reader on a Netbook

I got a Lenovo S10 some months ago, and like all netbooks it has a 1024x~600 resolution which is fine for most web browgins but it happens to be too short for some applications, one of them being Google Reader.

After installing the right WM, installing the right firefox extensions and settings the right font size. I added these lines to my userContent.css

body.gecko div#search, body.gecko a#logo-container { display: none !important;}
body.gecko div#main { margin-top: -30px !important;}

This hides Google reader’s search bar which I never use and gives me valuable extra room :)

Before
Google reader netbook

After
Google reader netbook optimized

August 2, 2009

Jesús del Carpio
jj
Jj's blog
» So it has a snake inside doing all the magic!

Pony Magic

Great drawing used by the Nebula team at Nasa to show proudly that they use Django for their development.

July 20, 2009

Jesús del Carpio
jj
Jj's blog
» New Open selector version

This last week I fonally found some time to improve two important features I missed in Open-selector

The first thing I  hated was havign to make so many HTTP requests to fetch the provider icons, so now Open-selector makes use of CSS sprites to fetch all icons from a single sprite file.

The second feature was to have Open-selector remember your log in choice, so the next time you visit a site you don’t have to fill anything, just hit the button. This means single click log in.

They were actually pretty trivial to implement, so this new version is out :)

July 18, 2009

Jesús del Carpio
jj
Jj's blog
» Peleando contra IE6

Siempre que comienzo a conversar sobre alguna nueva tecnología con alguien que que no anda metido en este tema termino desviándome a decir cuanto odio a Internet Explorer 6.
Por mucho tiempo mi argumento para la gente uqe lo usaba era el uso de tabs, mejor soporte de estándares, plugins, webs mas bonitas, buscador integrado en el brower, etc.

A pesar de todo esos argumentos el público que usa IE siempre tenía un contraargumento de comodidad, o de que no les importaba los tabs o webs mas bonitas por que simplemente funciona, viene instalado y no hay que hacer “esfuerzo” extra para obtenerlo.

Sin embargo hace poco me encontre hablando con mi papá y con otras personas y encontré un motivo que hizo que estas personas pongan cara de preocupación y entendimiento a por que Internet Explorer 6 es verdaderamente un cancer, no sólo para Internet sino para todos nosotros.

La forma de lograrlo es comentando sobre todo el avance tecnológico que está sucediendo en Internet y en las tecnologías de información (no me refiero al IT “corporate” sino a como nos comunicamos y como se transmite la información entre nosotros que por ahora es en gran parte por Internet). Les cuento como IE6 fué creado en el 2001 y ya estamos 2009, eso son 8 años de desarrollo en Internet que no puede ver la luz debido al público usando Internet Explorer 6, y eso todos pueden entender :).

May 20, 2009

Jesús del Carpio
jj
Jj's blog
» Probando Scribefire

Wow, hace tiempo no escribo nada acá….

Estoy probando ScribeFire(Extensión para bloguear en Firefox), a ver que tal me va… ojalá me facilite las cosas ya que parte de los motivos por los que no escribia es por que me aburria tener que escribir posts en forms HTML…

Probando fotos.. aerrr
Workspace@Aureal

April 8, 2009

Pedro Muñoz
droper
» Exposición en la PUCP - Python y tu

Hace poco di una charla para el Linux Week 2009 en la PUCP, titulada “Python y tu”. Los amigos de TUXPUC tuvieron la amabilidad de filmar el evento y este es el resultado de grabar mi intervención.

March 13, 2009

Pedro Muñoz
droper
» Lenny release party en Lima

Este sábado 14 DebianPeru en conjunto con Dokeos realizará, al igual que en muchas otras ciudades del mundo, el Lenny Release Party en Lima.

El formato sera similar al de un Barcamp, la única charla predeterminada es la de Rudy Godoy quien hablará sobre la nueva versión de Debian, las demás charlas serán ofrecidas espontaneamente por los asistentes. Por mi parte ya me ofrecí a realizar una exposición sobre Python y Oracle.

¡Los esperamos!

February 3, 2009

Jaime Wong
jgwong
Sueños de Azul
» Papi, twittéame un cuento

No hay nada como un buen cuento antes de irse a dormir. ¿Y qué tal uno via Twitter, en menos de 140 caracteres? Síganme por Twitter que, durante todo este mes de Febrero a las once de la noche, les twittearé un cuento.

Había una vez, una ballena…

January 27, 2009

Jaime Wong
jgwong
Sueños de Azul
» A Scripter at Heart

My mom was throwing some kind of party downstairs, and one of the guests tried to draw me out of my room and be social. She was a very nice lady, with the best of intentions. I brandished my K&R book as a shield, holding it up and explaining to her: “No. You don’t understand. This is important. I need to learn what’s in this book.”
(Link)

January 21, 2009

Jesús del Carpio
jj
Jj's blog
» New Open-selector version

This shall be called Version 0.2 :D .

The cool feature of this is the inline mode, it will be useful to have an OpenID login box in topbars, inline menus or heading sections (they are all the same I think), and the update-as-you-type feature :P

Use it and let me know what you think

January 7, 2009

Jesús del Carpio
jj
Jj's blog
» Using object_list generic view for pagination in Django

Whenever I want to display a list of items I’ll need pagination, calculate first page, next page, total pages, current page, previous page, etc.

Although Django comes with pretty good pagination helpers, I’ve found that using the list_detail.object_list generic view hanles this very nicely :)

So whenever I want to display a list, I will return an object_list generic view instead of a HttpResponse object or a render_to_response call.

This came in pretty handy when helping Jason Broyles refactor some pagination code

December 29, 2008

Jesús del Carpio
jj
Jj's blog
» Boodroids over Iboobs

Natural evolution of breasts has lead to this improved version of boob movement

Now, this app has not been approved by Apple, and I dont think it will never be… but hey, nothing stop us from having boobdroids over Iboobs :D .

December 8, 2008

Jesús del Carpio
jj
Jj's blog
» I can haz documentation?

I just added some basic documentation to Open-selector.

November 27, 2008

Jesús del Carpio
jj
Jj's blog
» Fluxbox tabs comming to KDE?

Well comming is too personal, since I don’t use KDE, but anyway, there’s a $500 bounty sponsored by Lucas Murray to implement Fluxbox like tabs in KDE :) .

Tabbing is a nice feature that allows you to tab windows together. Tabs can either be embedded into the window’s titlebar or they can appear as little tabs at the outside of a window. The position and size of the outside-tabs are customizable.”

» Browser Layout engine internals video

Esta charla de David Baron explica cómo funciona el motor de CSS en los Rendering Engines, particularmente Gecko.

Me parecio genial como explica cómo funcionan los selectores CSS y que tipo de sintaxis está optimizada y recomendaciones de como utilizarlos para un mejor performance, el cómo se estructuran los árboles y diferencias de desempeño entre atributos y estilos que visualmente podrían ser similares visualmente.

Via DougT’s Blog