sábado, diciembre 27, 2008

git-stash

git-stash is a really cool command, it let you save a work in progress, for example you are developing a new feature in your application, and still your changes are not ready to do a commit, and you must switch of branch (or another option that requires that indexes are up to date), so what can you do?, easy, just use git-stash it will save your current changes and then will revert to the last commit, then you do what ever you need to do, and when you are ready to back to your work simply use git-stash pop (or you can use the man page to other options)


freyes@yoda:rascase.git$ git stash list
stash@{0}: WIP on rewrite-items: 52cfbe4... [items] registered the new items with gobject
freyes@yoda:rascase.git$ git stash pop
# On branch rewrite-items
# Changed but not updated:
# (use "git add ..." to update what will be committed)
#
# modified: rascase/views.py
# modified: setup.py
#
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (74b9490b8bf8b22f5b1e687e5c0bc881719f6763)

sábado, diciembre 13, 2008

dlink dir-320 with dd-wrt

My old router after two years of work died, so I used this like a excuse to buy a linux compatible, after a few searches I found the dir-320, It's a broadcom based device, that runs dd-wrt, and like an extra gift it brings a usb port :D, do you imagine the hundreds of possibilities that opens this simple feature.

Well, right, I run a torrent web-based client, a webserver (cherokee rocks, you should give a test), and a lot of things. Still the usb driver is a little buggy, for example my usb key (the old one a kingston data traveler that died mysteriously, and the new one also a kingston) it was not recognized by the kernel, but when I plugged the usb hard drive (it's an ide HD inside a usb enclosure) the kernel detected it, so I installed a few packages.

If you are interested in the firmware that I used, well left it in my router :P

update: I recently installed django, damn it, optware is so fucking good :D

PS: thanks to linuxdiinf for the subdomain.
PS2: guys, the linuxdiinf domain expires in march, so we must start a call for donations.

jueves, diciembre 04, 2008

Python 3.0

Finally is here baby: Python 3.0

I will have to start reading the incompatible changes with 2.6 to write the new code in a compatible way with 3.0 and think when to change my old code to make it compatible with this new and shine piece of software.

viernes, noviembre 21, 2008

Ofertas de Trabajo

Se buscan Linuxeros en Open Fountain

Jobs

sábado, noviembre 01, 2008

Palm should die

I bought a Kingston SD card of 2 GB, and it does not recognize it.

So if you are thinking in buy a Palm powered device, you should not do it.

sábado, octubre 04, 2008

pedrito y el lobo

Otro error de DELL, esto es inconcebible, creo que el sernac debe tomar medidas por publicidad engañosa o algo similar, porque no puede ser que tengan tan mal servicio disponible en su tienda on-line

History Hacker

Today I saw the first episode of History Hacker, a so fucking cool program (sponsored by your closest torrent :D), at that episode recreated the inventions of Nikola Tesla, it was a nice coincidence, because our development server is tesla :), if in another episode of the season talk about Maxwell I'm gonna shoot in my foot XD

BTW, download and watch history hacker

my .emacs files

This was a nice week, because I was contacted about some of my emacs posts, she wanted to know which emacs package provide the buffers at the left of the code, so you can do that with EmacsCodeBrowser, and here is my .emacs file, contains a lot of code snippets grabbed from the web, I tried to put the url from where you cand obtain the dependencies, but probably there are some missing files, also there are some functions and tips that zeus provide me when I was starting the trip to learn emacs (a trip that still is far from be finished, especially because nobody has finished, always you can learn new tricks at the emacs-devel list)

I hope you enjoy disecting my emacs config :D

.emacs

sábado, septiembre 06, 2008

Spam de vinos, que care raja el mensaje

Este va en español para en honor el mes de septiembre y toda esa shit XD (shit == mierda), ahora revisando la carpeta de spam en busca de algún correo que por equivocación haya dado al spam y me encuentro con el mensaje con el siguiente asunto: "LIQUIDACION DE VINOS EXCLUSIVOS !!!", lo cual debo reconocer llamó mi atención, pero me produjo nauseas el pie de pagina que traía, el que pongo a continuación:

"Este mensaje se envнa en base al art. 28b de la ley 19.955 que reforma la ley de derechos del consumidor, y los articulos 2 y 4 de la ley 19.628 sobre protecciуn de la vida privada o datos de caracter personal, todo esto en conformidad a los numerales 4 y 12 de la constituciуn politica de CHILE.."

ahora lo malditos spammers chilenos tratan de hacer pasar su mensaje como si fuera legal

sábado, agosto 30, 2008

carrete 20080829

Los presentes en la junta de ayer ;)

Andrea y Ati
JotaPe++
Naty

sábado, agosto 16, 2008

How to start with emacs [2]

Emacs uses a configuration file that is by default placed in your home directory, the file is called .emacs (I don't know if on win32 systems is also called .emacs). This file contents is elisp code, so for full control of emacs it's imperative learn elisp, but I still didn't learn elisp and I'm an emacs user :), so you can learn elisp while you are looking for snippets of code.

Concepts



I will have to explain some concepts that are important to understand why emacs behave in the way that it does.

In emacs there are buffers, there is the minibuffer that is where you type the emacs commands (or elisp interactive functions), and the other buffers could represent an opened file, a pipe, or just a temporary editing space that is not attached to a file, the name of the last type of buffers start and end with *, for example *scratch*

Emacs has something called 'modes', it's something like the way that a determined buffer must behave, for example if you are going to open C source code file the c-mode should be loaded, and it will help you in task of develop with the C language. There are 2 kinds of modes, the major and minor modes, one buffer can only have one major mode and zero or more minor modes.

First tweaks



Emacs is a software with a huge history and tradition, so there are some things that for somebody that is formed in the last 10 years in computing terms there some musts that you must have in you emacs config file, like the transient-mark-mode

The transient mark mode highlights the selected region of text, by defaults this is disabled so I recommend you enable it with pasting the following in your .emacs

(transient-mark-mode 1)


Fill you name and email to let the modes that need that information could use, this is done with the following snippet of code
(setq user-mail-address "homer@simpsons.com")
(setq user-full-name "Homer J. Simpsons")


If you like to use Ctrl+g to jump to a line number then you should add the following code

(global-set-key [(control g)] 'goto-line)


One of the sweetest feature that must have a text editor is syntax highlight, well emacs has this, but disabled by default, with the following code you will have it enabled always

(require 'font-lock)
(global-font-lock-mode t)


I think that this is enough for this entry, the next entries probably will be more fun to write and read, because i will start talking about the major modes, one mode per entry, probably the next one will be the C mode.

sábado, agosto 09, 2008

How to start with emacs [1]

First of all, All my tips related to the underlying Operative System are using GNU/Linux Debian, so if you are using another distribution (or even another OS) you will have to look for the appropriate way to do the task, if you send me how to do it with another OS I will add it to the entry.

What is emacs?


Well, emacs doesn't exists, the correct name is GNU Emacs for the series of post, because there is a lot different flavors of emacs, for example XEmacs, Aquamacs, and others.

The GNU Emacs website says:
GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.


What can I do with emacs?


It's a text editor, so write text :P, but also:

  • Develop software in a wide range of compute languages, like C, C++, elisp, C#, ruby, python, java, ...

  • Mail client

  • Chat with your irc folks

  • Surf on the web

  • And other things that will be discussed in their respectives posts



Install GNU Emacs



First you must decide witch version of emacs do you want to use?, exists emacs22, which is the current stable release, and also emacs23 (aka emacs-cvs) which is the development version, but currently is in the state of features freeze, so It's pretty stable to me, if you use emacs22 you will not have anti-alias, something that is very nice to the eyes when you spend the day developing, almost all the tips discussed in the series will be neutral, except the related with anti-alias and multi-tty.

Debian

To use emacs22 you can just use the debian official archive and execute

apt-get install emacs22


But if you want to use the emacs cvs there is a repository maintained by Romain Francoise of the package emacs-snapshot which is a binary package of the cvs code (this is the one that I use). To use this repo you must the following to you source.list (to obtain more details visit the webpage of the repo)

deb http://emacs.orebokech.com sid main
deb-src http://emacs.orebokech.com sid main


Then just install the emacs-snapshot package.


On the next entry, I will talk about how is emacs by default and how to change the configuration.

How to start with emacs [0]

Before I could really be productive with emacs, I failed a couple of times, because I knew that emacs were powerful, but the default configuration shows you a simple text editor that look awful, without syntax highlight, without anti-alias, a color schema that really sucks.

In GNU/Linux (to not piss off rms xD)I was never found a really nice (text) editor, because all the available suck at some point (even emacs sucks sometime, but suck less than the rest :P), so when I met zeus lead me in the first steps giving me some elisp tips, I could start swimming by myself and improving my emacs configuration file, and even teaching some tips to the mentor :P.

So I will start a series of articles of how to start with emacs, especially giving the recipes (elisp code) of how to obtain the desired behavior.

martes, julio 29, 2008

Installing services

Today I had a dejavu, I had to use the following command 3 times on different tasks and even on different machines, but for different purposes


$ ln -s . foo


soft links are really helpful to work-around a strange behavior.

lunes, julio 21, 2008

Openmoko

Is Openmoko for the mass market?, well the answer is simple NO, believe me I want to have an opemoko smartphone, but it cost US$500 against the US$200 of the iphone, it has a faaaar from be a great software stack and the lack of eye candy for the mass market and for be an iphone-killer that's a must.



openmoko has a lot of potential, especially for a linux developer, _we_ need to develop good software with eye-candy.

domingo, julio 20, 2008

RIP brother in arms.



It's always hard loose a friend, but it's even harder when he is still a young boy, rest in peace raúl (aka darth debian), every body will be there with you sooner or later, wait for us with a shell to hack in the heaven, we always remember you.

jueves, julio 10, 2008

El coyote atrapa al correcaminos

Gracias youtube, me haz permitido ver el mítico mommento en que el coyote atrapa al correcaminos :D

lunes, julio 07, 2008

Just use Pencil

if you want to create UI prototypes (web or desktop app) then use the Pencil, but not an analogical one, use the software called Pencil it's awesome. ... and can run over firefox or like a standalone program (yes, it uses xulrunner)

screeenshot of Pencil

jueves, julio 03, 2008

Fayerwayer

Para todos los que hemos leido de vez en cuando algún artículo de fayerwayer se ha dado cuenta que los chicos de fayerwayer tienen mucha llegada con las empresas (no tengo idea a que se dedican para ganarse la vida), han ido a expos de nokia, tienen un contrato con paris.cl, les regalan cosas para que sorteen con sus lectores, etc..., por lo tanto cuando sacan críticas a una empresa, ya sean para bien o para mal, me es muy dificil no mirar con desconfianza sus palabras, ya que seamos sinceros, si las empresas te regalonean no vas a querer enrostrarles en su cara que son wnas y que deben hacer X o Y, por lo tanto las palabras de Alexander Schek (Mr.Chips) las veo con cuidado, en especial porque Mr chips está metido en el rubro de las tiendas virtuales.

El otro punto a destacar es que dell se ha mandado el mismo cagazo antes y aun no aprende, y estoy seguro que volverá a pasar, por lo que no es un error aislado, sino que es una constante, deben asumir el riesgo de su negocio y mejorar su equipo de QA, además cuando vas a comprar a una tienda y compras un pantalón en 20 lukas y la siguiente semana la tienda tira el gran remate gran de el mismo pantalón 2x1 a 10 lukas, uno no va llorando donde la tienda pk se lo cagaron, asume hidalgamente y putea, pero nada más, por lo tanto deberia ser la actitud de Dell, asumir hidalgamente su error, mejorar sus procesos internos y entregar los laptop.

Update: un punto no menor que rescata José Roa (extracto sacado de Invertia.com) es el siguiente:

las empresas están obligadas a respectar las ofertas que le realizaron a los consumidores en los términos que la realizaron (...) Así como nadie pretende que sea un error el que una empresa cobre muchas veces el precio por el mismo producto en otro local, así tampoco debe llamar a ese juicio el hecho que una empresa cobre un precio menor. Ese es un trato asimétrico


PD: no quiero que se interprete mal, pensando que digo que los de fayerwayer son unos vendidos, sino que simplemente es necesario mirar con detención las criticas (de todo el mundo, no solo de fayerwayer, ... sí, incluso esta), porque todos *tenemos* tejado de vidrio.

get the thumbnail of a file with python

with this function you can obtain the the path where is stored (returns None if the thumbnail doesn't exists) the thumbnail of the given uri.


import md5
import os.path

def thumbnail_path_from_uri(uri, size='normal'):
"""Construct the path for the thumbnail of the given uri

Arguments:
- `uri`: the uri that points to the file that is looking for the thumbnail.
- `size`: the size of the thumbnail (normal or large)
"""


assert isinstance(uri, basestring), \
TypeError("The uri must be a str")

assert isinstance(size, basestring) and (size == 'large' or size=='normal'), \
TypeError("The size for thumbnail can be normal or large")

hash = md5.new()
hash.update(uri)
path = os.path.join(os.path.expanduser('~'), ".thumbnails", size, str("%s.png" % hash.hexdigest()))

if os.path.exists(path):
return path
else:
return None