Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Publicaciones sobre programming (publicaciones antiguas, página 30)

Presentaciones en modo texto

Ya que me gus­ta el res­truc­tu­red text y Py­Q­t, es­tá ba­sa­do en eso, pe­ro se pue­de usar con vi y una wyse60.

Mi pro­yec­to se lla­ma To­bo­gan y se pue­de des­car­ga­r, y fun­cio­na has­ta cier­to pun­to.

Tie­ne una in­ter­fa­ce grá­fi­ca, pe­ro ig­no­ré­mos­la en es­te men­sa­je acer­ca de so­ftwa­re en mo­do tex­to ;-) y mos­tre­mos el tex­to que tie­ne atrá­s.

===============
Why use Tobogan
===============

-------------------
(If you are a nerd)
-------------------

:transitions: from_left,to_left,from_top,to_top,from_right,to_right,to_bottom,fade_out



It's nerd-oriented
------------------

It's trivial to display source code, with
proper syntax highlighting.

.. code-block:: python

    from base64 import *
    def myFirstFunction():
          print b64decode ('YnllIHdvcmxkIQ==')

Even for things like shell sessions.
Dammit, I am a nerd, I will try to add every nerd
feature I deem cool.



It does things simply
---------------------

This is a subtitle?
===================

Wanna show a flickr photo?

.. code-block:: rst

    .. flickr:: myPhotoTitle

How about using openomy.com to share your files?
And whatever else you can think of, it probably
**can**\  be done.

.. footer:: Smart thing goes here

Y aquí es­tá el re­sul­ta­do des­pués de co­rrer el script rs­t2s­l.­p­y.

Pis­ta­s:

  • Si el cu­r­­sor se mue­­ve ha­s­­ta la pa­r­­te su­­pe­­rior de la ven­­ta­­na, se pue­­de ver fle­­chas de an­­te­­rio­­­r/­­si­­guien­­te.

  • Si se ha­­ce cli­­ck en la ven­­ta­­na, se va a la si­­guien­­te pá­­gi­­na.

ha­ce ca­si un año que no lo to­co, y ne­ce­si­ta mu­cho ca­ri­ño, pe­ro no es una ma­la idea, me pa­re­ce.

Abrir con: Google Docs

De he­cho, los úni­cos do­cu­men­tos que re­ci­bo son men­sa­jes de error de usua­rios de win­do­ws. És­te es el pro­ce­di­mien­to que ca­da uno de ellos ha en­contra­do pa­ra de­cir­me que di­ce en una pá­gi­na de error de Ex­plo­re­r:

  1. Ca­p­­tu­­rar la pan­­ta­­lla

  2. Pe­­ga­r­­la en word

  3. En­­viá­r­­me­­la por email

Su­pon­go que co­piar y pe­gar el con­te­ni­do de la pá­gi­na es de­ma­sia­do di­fí­ci­l. Pe­ro de to­das for­ma­s, nor­mal­men­te me las arre­glo te­nien­do kword o abiword a ma­no, pe­ro es­ta­ba pen­san­do­...

Estoy leyendo mi mail. Eso quiere decir que tengo Internet. Eso quiere decir que google docs está ahí. ¡Y tienen un API en Python! 15 minutos después... open_with_gdocs.py

#!/usr/bin/env python
import gdata.docs.service,gdata,sys,os

# Create a client class which will make HTTP requests with Google Docs server.
client = gdata.docs.service.DocsService()
# Authenticate using your Google Docs email address and password.
client.ClientLogin('joe@gmail.com', 'whateveritis')

ms = gdata.MediaSource(file_path = sys.argv[1], content_type = "application/msword")
entry = client.UploadDocument(ms,"tmp_open_with_gdocs/%s"%sys.argv[1])
os.system("firefox '%s'"%entry.GetAlternateLink().href)

Prué­ben­lo. Mien­tas ten­gas fi­re­fo­x, una ver­sión de­cen­te de py­thon y gda­ta de­be­ría abrir el .doc que se le pa­se co­mo pri­mer ar­gu­men­to en google do­cs usan­do fi­re­fo­x.

Re­cuer­den que hay que bo­rrar­lo si no quie­ren que que­de allí, y re­nom­brar­lo si quie­ren guar­dar­lo con un nom­bre acep­ta­ble.

No lo voy a con­ver­tir en una apli­ca­ción rea­l, pe­ro a mí me sir­ve. Se po­ne en el pa­th, se lo aso­cia con los ar­chi­vos .doc y fun­cio­na.

Un script si­mi­lar pa­ra .xls o pa­ra am­bos ti­pos de ar­chi­vo es tri­via­l.

Po­dría al­guien to­mar es­to y con­ver­tir­lo en una apli­ca­ción de ver­da­d?

rst2pdf: Nuevo y mejorado

  1. Hay otra pe­r­­so­­­na ayu­­dan­­do: Ch­­ris­­to­­­ph Zwer­s­­chke

  2. Es­­tá en google­­co­­­de: http://r­s­­t2­­pdf.­­google­­co­­­de.org

  3. Ch­­ris­­to­­­ph im­­ple­­men­­tó va­­rias me­­jo­­­ras (es el chan­­ge­­log no lo voy a tra­­du­­cir ;-):

    • bu­­­lle­ted and enu­­­me­­­ra­ted list si­­m­­­pli­­­fie­­­d, use sa­­­me font as text for bu­­­lle­­­ts and nu­­m­­­bers

    • li­nks in ta­­­ble of co­­n­­­ten­­­ts wo­­­­­rk

    • co­­­m­­­press li­­­te­­­ral se­­c­­­tions ho­­­­­ri­­­zo­­n­­­ta­­­lly so that they alwa­­­ys fit on the pa­­­ge

  4. In­­te­­gré guio­­­na­­do (a­sí se di­­ce hy­­phe­­na­­tio­­n?) usan­­do wo­r­­da­­xe (fun­­cio­­­na so­­­lo con re­­po­r­­tlab 2.1)

El re­sul­ta­do usan­do wor­da­xe es bas­tan­te feo aho­ra (por ejem­plo, veo un cua­dra­do ne­gro en vez de un guió­n) pe­ro es un pa­si­to ade­lan­te.

Rebelándose contra la locura: Wicd depende de la mitad de GNOME

Es­toy usan­do mi eee ha­ce ya un tiem­po con una es­pe­cie de Ku­bun­tu.

Sin em­bar­go, mi apli­ca­ción fa­vo­ri­ta pa­ra ma­ne­jar re­des wi­re­le­ss o no es wi­cd, que usa Py­tho­n/­GTK. O usa­ba, ya que la ver­sión 1.4.1 re­quie­re py­tho­n-g­no­me2-ex­tra­s.

Lo que a su vez de­pen­de de...

libart-2.0-2 (>= 2.3.18), libaspell15 (>= 0.60), libatk1.0-0 (>= 1.13.2), libbonobo2-0 (>= 2.15.0),
libbonoboui2-0 (>= 2.15.1), libc6 (>= 2.6-1), libcairo2 (>= 1.4.0),
libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libgconf2-4 (>= 2.13.5),
libgda3-3, libgdl-1-0, libgdl-gnome-1-0, libgksu1.2-1 (>= 1.3.3), libgksu2-0 (>= 1.9.6),
libgksuui1.0-1, libglade2-0 (>= 1:2.6.1), libglib2.0-0 (>= 2.14.0), libgnome-keyring0 (>= 2.19.6),
libgnome2-0 (>= 2.17.3), libgnomecanvas2-0 (>= 2.11.1), libgnomeui-0 (>= 2.19.1),
libgnomevfs2-0 (>= 1:2.17.90), libgtk2.0-0 (>= 2.12.0), libgtkspell0 (>= 2.0.2),
libice6 (>= 1:1.0.0), libnspr4-0d (>= 1.8.0.10), liborbit2 (>= 1:2.14.8),
libpango1.0-0 (>= 1.18.2), libpng12-0 (>= 1.2.13-4), libpopt0 (>= 1.10), libsm6,
libstartup-notification0 (>= 0.8-1), libx11-6, libxcomposite1 (>=1:0.3-1),
libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:4.0.1), libxi6, libxinerama1,
libxml2 (>= 2.6.29), libxrandr2 (>= 2:1.2.0), libxrender1, zlib1g (>= 1:1.2.3.3.dfsg-1),
python-support (>= 0.3.4), python (<< 2.6), python (>= 2.4), python-gtk2,
python-pyorbit, python-gnome2-desktop

O sea: a ba­jar 87M­B. Eso no es­tá bue­no. De he­cho, ca­si no hay cam­bios con res­pec­to a 1.3.1 que no re­que­ría to­do eso! Sal­vo por un cam­bio muy im­por­tan­te en una eeeP­C: se pue­de achi­car la al­tu­ra a 400 pixel­s.

Así que sien­do lo que so­y, hi­ce es­to:

wicd-qt.png

Es un reem­pla­zo de gui.­py y tra­y.­py de wi­cd. Só­lo ne­ce­si­ta Py­Q­t4, que ya lo te­nía ins­tal­do y de­pen­de de:

libc6 (>= 2.6-1), libgcc1 (>= 1:4.2.1), libqt4-core (>= 4.3.2),
libqt4-gui (>= 4.3.2), libstdc++6 (>= 4.2.1), python-central (>= 0.5.8),
python (<< 2.6), python (>= 2.4), python-sip4 (>= 4.7), python-sip4 (<< 4.8)

¿Se ve la di­fe­ren­cia?

Me to­mó unas 3 ho­ras pa­ra ar­mar­lo, y fun­cio­na (ex­cep­to red wi­re­d, dia­lo­go de pre­fe­ren­cia­s, IPs es­tá­ti­cos y scrip­ts) pe­ro lo di­fí­cil es­tá he­cho.

Si al­guien quie­re una co­pia, que pi­da no­má­s. ¿Su­pon­go que KU­bun­tu po­dría usar al­go así?

Thinking in 800x480: Web browsing

Po­de­mos ha­cer lo ha­bi­tua­l, mo­do de pan­ta­lla com­ple­ta, y esas co­sas, pe­ro pa­ra mu­chos si­tios 800 pixels es sim­ple­men­te de­ma­sia­do an­gos­to.

Se pue­de ha­cer que las pá­gi­nas "en­tren" me­jor en un an­cho li­mi­ta­do re­du­cien­do el ta­ma­ño de la ti­po­gra­fía. Una bue­na fuen­te de 8 pun­tos de­be­ría ser le­gi­ble en esa pan­ta­lla, ya que uno es­tá cer­ca de la pan­ta­lla.

Sin em­bar­go, eso no ha­ce na­da pa­ra di­se­ños ba­sa­dos en pixel­s, y por el ta­ma­ño de las imá­ge­nes.

Sin em­bar­go, des­pués de leer que Qt 4.4 in­clu­ye we­bkit y per­mi­te po­ner wi­dge­ts en un QGra­phi­cs­View, em­pe­cé a pen­sar, es­to es­tá mal.

Lo que uno quie­re con una pan­ta­lla li­mi­ta­da es tex­to en el ta­ma­ño nor­mal y la pá­gi­na en un ta­ma­ño me­nor.

Por eso mi idea es:

  • Agran­­dar la ti­­po­­­gra­­fía. Ej: 12 pun­­to­­s.

  • Mo­s­­trar la pá­­gi­­na en un wi­­dget we­­bkit de 1200­­x720 pixe­l­s.

  • Po­­­ner el wi­­dget en una QGra­­phi­­csS­­ce­­ne, y re­­du­­ci­r­­lo 33%

El re­sul­ta­do es una pá­gi­na web com­ple­ta pe­ro que mi­de 800­x480.

Por su­pues­to se de­be­ría po­der cam­biar to­dos es­tos pa­ra­me­tros con un úni­co con­tro­l. Si la pá­gi­na es de­ma­sia­do an­cha pa­ra ver­la en 800­x480 con fuen­tes de 8 pun­to­s...

Pro­ba­mos 1000­x600 con fuen­tes de 10 pun­to­s, y re­du­ci­mos al ta­ma­ño de la pan­ta­lla.

Si­gue sien­do de­ma­sia­do an­cho? Pro­ba­mos 1200­x720, fuen­tes de 12 pun­tos y re­du­ci­mos 33%.

Po­si­bles ayu­da­s:

  • De­­be­­­ría ve­r­­se me­­jor con fuen­­tes sin an­­tia­­lia­s, ya que la re­­du­c­­ción de ta­­ma­­ño ha­­ría las fuen­­tes con an­­tia­­lia­­sing de­­ma­­sia­­do bo­­­rro­­sas. Una fuen­­te an­­cha y abie­r­­ta se va a ver me­­jo­­­r.

  • Las ba­­rras de scro­­­ll se van a ver apla­s­­ta­­da­s, creo. Pro­­­ba­­ble­­men­­te los che­­ck­­bo­­­xes y ra­­dio bu­­ttons se van a ver ma­­l. Pa­­ra arre­­glar eso se ne­­ce­­si­­ta ma­­gia mas avan­­za­­da que la mía ;-)

Por su­pues­to que ha­bría que pro­bar­lo, pe­ro cal­cu­lo que fun­cio­na me­jor que las al­ter­na­ti­va­s. Si tu­vie­ra un Py­Qt 4.4 lo in­ten­ta­ría yo mis­mo ;-)


Contents © 2000-2023 Roberto Alsina