Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Becoming organized

I am try­ing to be­come more or­ga­nized in my work. And it seems to be work­ing.

Things I do/no­tice/try now:

  1. There is a tick­­et­ing sys­tem. Use it.

    Re­al­­ly, there is no rea­­son not to. If the cus­­tomer says cre­at­ing tick­­ets is an­noy­ing/­bor­ing/what­ev­er, I do them my­­self.

    It takes very lit­­tle time and it lets me see/de­scribe what I do/­­did in the day. Then, take what's in the tick­­et, clean it up, and...

  2. There is a wi­k­i. Use it.

    Doc­u­­ment ev­ery thing I do. No "this is just a lit­­tle thing". There are no lit­­tle things. If it was so lit­tle, I would­n't have to do it. Put ev­ery­thing in the doc­s. The client needs it. I need it.

  3. There is an email. Use it.

    I got an email. Then ei­ther it's some­thing that's bro­ken (cre­ate a tick­­et), or some­thing that needs ex­­plain­ing (cre­ate/re­fer a doc), or some­thing that needs do­ing (cre­ate a todo), or a meet­ing (put it in the phone), or a a piece of da­­ta I need to re­mem­ber (archive it, mair­ix will find it when I need it). I have had an in­­box with no mail in it for three days, and it's quite lib­er­at­ing.

  4. The phone is the first PDA that ac­­tu­al­­ly work­s.

    I nev­er man­aged to use desk­­top PIM suites or PDAs. I do keep my ap­­point­­ments on the phone. I al­ways have my phone with me. I lis­ten to it when I have an alar­m. I can't say the same thing about the note­­book, or about any PDA I owned. And it's a cheap phone. Us­ing a smart­­phone makes no sense. I lose the things. Now I can sync it via blue­­tooth, too! I still use a Sony CLIE to read ebook­s, though.

  5. I like Hive­­Min­der.

    It's to­­do lists I can ac­­tu­al­­ly use. Done? Click, gone. New task? Fill a line and it's there, tagged, grouped, dat­ed, pri­or­i­­tized. Want to do it from the CLI? Yup. I do need to write a Trac plug­in that con­verts my tick­­ets in­­­to to­­dos, though.

    Sure, I don't have it with me all the time (maybe sync it with my phone's to­­do list is pos­si­ble some­how...) but I just need to do one full task re­view a day, add tasks when I'm on a com­put­er, close tasks at the end of the day or while work­ing.

  6. Read email/news on fixed time pe­ri­od­s.

    I can't fo­­cus on work­ing for over one hour non­stop. So I stop ev­ery hour for 10 min­utes of news, and 5 min­utes of mail (which is still work­ing any­way, since I need to know about stuff). No mail app run­n­ing in the mean­­time. If it's ur­­gen­t, they have my phone num­ber. If they don't, it's not ur­­gen­t.

It is mak­ing a dif­fer­ence, I am be­com­ing more pro­duc­tive with­out spend­ing more hours at it, which was my pre­vi­ous "s­trat­e­gy".

¡Examen Sorpresa!

Res­pues­ta:

[root@victima ~]# qmail-qstat
messages in queue: 151369
messages in queue but not yet preprocessed: 9

Lec­ció­n:

  • Hay un mo­­­ti­­vo por el cual no te de­­ja ha­­cer eso por de­­fau­l­­t.

  • De­­be­­­ría li­­mi­­tar el co­­­rreo salien­­te por cuen­­ta por de­­fault en to­­­dos los se­r­­ve­r­s. Me­­jor me po­n­­go a tra­­ba­­jar en eso.

Linux ayuda a Windows: Mandar SMS

Es­toy se­gu­ro que tie­ne que ha­ber al­gu­na ma­ne­ra de ha­cer­lo an­da­r. Por otro la­do, ya lo te­nía an­dan­do en Li­nu­x... así que uno pue­de sim­ple­men­te usar es­to en un Li­nux ami­go, y man­dar men­sa­jes SMS ac­ce­dien­do a una URL es­pe­cia­l:

#!/usr/bin/env python
from colubrid import BaseApplication, HttpResponse, execute
import os

class SMSApplication(BaseApplication):

  def process_request(self):
      numero = self.request.args.get('numero')
      mensaje = self.request.args.get('mensaje')
      [entrada,salida]=os.popen4('/usr/bin/gnokii --sendsms %s'%numero,mode='rw')
      entrada.write(mensaje)
      entrada.flush()
      entrada.close()
      msg=salida.read()
      response = HttpResponse(msg)
      response['Content-Type'] = 'text/plain'
      return response

if __name__ == '__main__':
  execute(SMSApplication,debug=True, hostname='mybox.domain.internal', port=8080,reload=True)

Si alguien abre http://­m­y­bo­x.­do­mai­n.in­ter­na­l:8080/?­nu­me­ro­=1234?­men­sa­je=ho­la%20­mun­do manda "hola mundo" al numero 1234.

Su­pon­go que po­dría de­cir que es un ser­vi­cio web de te­le­fo­nía, pe­ro es la so­lu­ción de 5 mi­nu­tos que se me ocu­rrió.

Usa una co­sa que se lla­ma co­lu­brid que no es real­men­te un fra­mewo­rk web y no al­go co­no­ci­do por­que que­ría man­te­ner­lo sim­ple, y no se po­ne mu­cho más sim­ple que es­to.

A simple memcache memoizer for python>=2.2

Just a snip­pet of code be­cause ev­ery once in a while I need some­thing like the clas­sic mem­o­ize dec­o­ra­tor but am work­ing on a Cen­tOS 4 bix (with python 2.3!)

I am still test­ing it, and am not even sure it re­al­ly work­s, but it should be close.

cache=memcache.Client(['127.0.0.1:11211'], debug=0)
cachetimeout=30

def memoize(fun):
    def inner(*args, **kwargs):
        key=repr(fun)+repr(args)+repr(kwargs)
        cached = cache.get(key)
        if cached is None:
            val = fun(*args, **kwargs)
            print "Setting: ",key, "to: ",val
            cache.set(key,val,cachetimeout)
            return val
        return cached
    return inner

And lat­er in­side a class:

def myfun(self,arg):
   :
   :
myfun=memoize(myfun)

And that's it. The ba­sic idea I stole from a blog who was in­spired by a Paul Gra­ham book. It can be triv­ial­ly turned in­to a dec­o­ra­tor, of course (but then on­ly works on 2.4 and lat­er).


Contents © 2000-2020 Roberto Alsina