Tag: linux

pyGTK, Glade i SPE (Stani’s Python Editor)

Reading time: 2 – 4 minutes

SPE és l’editor que he començat a usar avui per programar en Python, concretament me l’he instal·lat per la facilitat d’acompletar les comandes especialment per accedir al binding de GKT+ (pyGTK). No és que m’hagi donat per programar en Python però porto un parell de dies liat amb el tema, ahir amb els webservices amb SOAP via SOAPpy i avui amb el pyGTK per tal de modificar una aplicació de compte enrera, concretament Countdown timer.

countdowntimer.png

Bàsicament el primer que he fet és modificar l’aparença de l’aplicació amb el Glade. Aquesta eina ens permet crear i editar GUI de forma senzillíssima. Arrossegant components i assignant mètodes que capturin les senyals dels components de l’aplicació, modificant els atributs dels components, etc. Realment sense tenir-ne ni idea el Glade ens crea un fitxer XML amb l’aparença d’una aplicació realment atractiva i còmode d’usar per l’usuari final.

glade.png

Tornant a l’SPE, doncs no esta malament és força còmode d’usar i té cosetes interessants, com ara la shell de python i un debuger. Però hi he trobat diversos inconvenients que em tenen una mica mosca. L’aplicació es penja moltíssim si usem el seu launcher per provar l’aplicatiu que estem desenvolupament. A més el debuger també es penja només invocar-lo. Suposo que deu ser algún problema de la instal·lació en gentoo.

spe.png

Però com a IDE també li trobo algunes mancances. Suposo que estic massa ben acostumat amb el Zend Studio. El problema esta en que jo voldria disposar d’ajuda en línia quan les opcions d’autocompletat de comandes es llencen així podria saber quina és la funció de GTK o Python que m’interessa en cada moment. Però no només no fa això sinó que la llista de funcions que dona per autocompletar sovint és reduida i no pas la llista completa de funcions suportades per l’objecte.

De fet, he trobat algún altre IDE per Python força interessant, com ara Wing IDE el problema és que és de pagament. Obviament sempre que puc uso vim. Però no vull acabar sent ni un expert de Python, ni de GTK, ni de pyGTK, ni res de tot això només sortir del pas el més ràpid possible amb aquesta necessitat i la veritat no trobo cap IDE que m’ajudi el suficient.

alock: bloquejant el teclat i el ratolí

Reading time: 1 – 2 minutes

Per fi ho he trobat. Feia dies que buscava una petita eina molt tonta però que no aconseguia trobar enlloc de lo senzilla que la volia. El tema és tan simple com que quan desde les X’s llenço aquest aplicatiu vull que el teclat i el ratolí deixin de funcionar, però sense perdre el que tinc a la pantalla. A més sense possibilitat de tornar al sistema desde la consola. O sigui, per exemple, que hagim de connectar per ssh o qualsevol altre protocol de xarxa per tal de matar el procés que ens ha bloquejat la consola.

De moment la finalitat de perquè vull això la deixaré a l’aire i d’aquí unes setmanes ja ho situareu vosaltres mateixos. Ara mateix només us informo que l’eina que m’ha permès fer algo tan senzill com això es diu alock (codi font local). Perquè fassi el que us comento només cal llençar-lo així ./alock -auth none. Llestos i només amb 58Kb.

Aprofito per donar les gràcies a la gent de TheList per la seva ajuda en la busqueda.

Neuros OSD – free your media

Reading time: 3 – 5 minutes

Un altre producte a l’estil del Chumby:

The Neuros OSD was created to connect user’s computer and entertainment worlds. Among many other things, this would allow users to watch video downloads and digital photo slideshows on TVs and listen to MP3s through their stereos. Previously the choices for doing this have been restricted to two approaches: all-in-one PC-based media centers and limited, closed “embedded” devices in various forms: PVRs, digital media adapters and streaming devices.

neuros_osd.jpg

The OSD also enables users to take their video on the go and watch video on any device with non-DRM, standard MPEG-4 files. The OSD supports virtually all devices with data conversion or requiring extensive set-up. There are no subscription fees associated with the use of the OSD.

esquema.png

The OSD enables all of the above by combining many of the attributes of PCs and embedded devices in a single device.

Like a PC, the OSD is open, expandable, flexible and standard and uses software that is upgradeable and relentlessly enhanced. By taking these attributes and applying them to an “embedded” consumer electronics device, the OSD can evolve and grow to meet all the expanding needs of the digital consumer in a device that, unlike a PC, is small, inexpensive, silent, and designed specifically for the job.

The Neuros OSD runs Linux with a USB host, built-in networking, and IR blaster. It has a dual core processor from TI that was designed specifically for multi-media applications and can encode and playback full DVD resolution MPEG-4 and play virtually all forms of digital audio and pictures. It connects directly to different accessories like iPods, USB webcameras, external DVD drives, and external hard drives. It also records onto memory cards for easy transfer to PSPs, smartphones, and other non-USB portables.

In short, the Neuros OSD contains the essence of what consumers want in a device to bridge their computer, home A/V systems, and portables without the baggage of a legacy PC system.

  • MPEG4 encoding and decoding (as many formats and wrappers as possible) – D1 (720×480)resolution at 30 fps
  • MPEG2 encoding and decoding
  • Ethernet
  • Linux (2.6 Kernel)
  • Dual Core Processor ARM9/TI DSP
  • SD/CF/MS card slots
  • USB host
  • IR Blaster
  • IR remote

The front of the device has the following I/O:

OSD_front.jpg
  • IR receiver
  • USB Host
  • Multi-card (SD/MS/MS PRO/MS DUO/MMC)
  • Compact Flash (including microdrive)
  • Dual color LED (green and Red)

The back of the device has the following I/O:

OSD_back.jpg
  • Power
  • Serial connector (to conrol tuner boxes and connection to PC for developer debugging)
  • IR Blaster (for controlling tuner boxes)
  • S-Video input
  • Ethernet 10/100
  • Composite Audio and Video input and output (RCA connector cables included)

NOTA aquest post esta escrit a basa de copy/paste del wiki de Neuros OSD.

A linuxdevices hi ha un bon review sobre el Nueros OSD, es pot ampliar detalls des d’allà.

Abeni – editor gràfic d’ebuils

Reading time: 2 – 2 minutes

Abeni és una IDE Per crear ebuilds (paquets de Gentoo). esta escrit en Python i usa wxPython per generar el seu aspecte GUI. Sembla una bona solució per tal de facilitar la vida als administrador o desenvolupadors que necessitin incorporar nous ebuils al portage.

Features

  • repoman CVS commits for Gentoo devs
  • Create patches with ease.
  • Create syntactically correct ebuilds
  • Access emerge and ebuild commands easily via Toolbar, Fkeys or menu.
  • Converts Source Forge URI’s to mirror:// format automatically
  • Scintilla editor with syntax highlighting of ebuild private portage functions or use your favortite external editor.
  • Function templates for creating live CVS ebuilds, games etc.
  • Toggle FEATURES=”noauto” with icon on toolbar
  • Icon on toolbar to open an xterm in ${WORKDIR}, CVS or ${D}
  • Shows which directories are unpacked – figure out ${S} automagically
  • After you unpack, configure and Makefile are displayed
  • View metadata.xml or edit it when committing to CVS with repoman.
  • Project management, interfaces with Bugzilla, submit ebuilds from Abeni.
  • Be lazy with DEPEND and let Abeni figure out the versions of packages installed
  • Ebuild Quick Reference
  • repoman scan
  • View diff of your ebuild vs version in PORTDIR
  • View eclasses or portage private functions with the built-in help system

Ara mateix encara esta marcat com a hard-masqued dintre del portage però espero que ben aviat pugui passar com a mínim a ~x86.

Chumby – un desperatdor?

Reading time: 2 – 3 minutes

Explicar tot el que fa el Chumby jo diria que és impossible, ja que la potència del propi dispositiu resideix en la seva filosofia. Es tracta d’un SBC amb 266MHz de CPU, 32Mb de SDRAM, 64Mb de Flash, petita tàctil TFT de 3’5″ (320×240), 2 ports USB 2.0, wifi i dos altaveus de 2W. Tot això tancat dins d’un ‘pelux’. O sigui, que si cau per la part alcolxada no es trenca. Ideal per tenir-lo a la tauleta de nit doncs.

Chumby.jpg

La filosofia que ens presenten la gent de Chumby és la d’oferir-nos un hardware i un software completament obert (OpenSource). Perquè desenvolupem el dispositiu tan com volguem i aportem els nostres avanços a la comunitat. Disposa d’un kit de desenvolupament basat en linux. Així doncs mireu tot el que arribem a tenir-hi funcionant:

screenshot.jpg

Realment no fa més coses que un nokia 770, però diguem que el seu objectiu és ben diferent. Ja que el podem usar en entorns més ostils, si si! ostils… us sembla poc ostil la mala llet que portes quan et sona el despertador a les 7 del matí? jo no m’atreveixo a tenir que parar el nokia 770… una altre cosa en que també és molt millor que el nokia 770 és en el preu uns 150$.

A engadget podeu trobar-hi una bona colla de fotografies de l’aparell. Al blog de la Christine podem trobar-hi una placa amb la que afegeixes diversos conversos A/D, entrades i sortides analògiques i digitals a la placa base origianl del Chumby. Fins hi tot té el seu propi blog corporatiu si voleu seguir les evolucions del gadget.

Per cert, si mai no sabeu què regalar-me… aquí teniu una cosa que em faria il·lusió…hi hi hi! jo ho deixo anar no se sap mai 🙂

Sistemes de fitxers diversos, per tots els gustos

Reading time: 1 – 2 minutes

A través del wiki de FUSE he trobat un llistat de sistemes de fitxers molt originals soportats per Linux a través del propi FUSE. Pels que no ús soni el FUSE, diré que amb FUSE és possible implementar un sistema de fitxers usant funcions d’espai d’usuari, o sigui, independents del kernel. Assegurant així l’estavilitat del sistema malgrat esta incorporant coses de tan baix nivell com els sistems de fitxers dins del kernel.

Per exemple, es poden fer coses tan interessants com usar com a disc dur virtual una compte de gmail, montar un FTP al nostre sistema de fitxers com si fos local, montar una compte de flickr dins dels nostres directoris, etc. Realment val la pena perdre 10min en mirar-se el llistat a fons ja que ens dona mil i una idees només llegint-lo.

tagfs: Music library file system

Reading time: < 1 minute

Sistema de fitxers que combiana la potència d’una bbdd (sqlite) per tal d’oferir un tagged filesystem. O sigui, que els nostres arxius d’audio (.mp3 i .ogg) s’organitzen al sistema de fitxers no només com a fitxers sinó també amb els atributs de les etiquetes ID3, o sigui, autor, nom album, nom cançó, etc. Malgrat crec que és una idea excel·lent, que ja hi ha grans empreses que fan coses semblants (MS amb el WinFS) li falta una mica de potència. Ja que només suporta dos tipus de fitxers i només de música.

Per si li voleu donar un cop d’ull ho podeu trobar a TagFS project page.

iRex iLiad – EPD

Reading time: 2 – 3 minutes

L’any 2004 vaig parlar del concepte dels llibres digitals. Com sempre passa ja li han tret unes sigles a la idea. Es tracta dels EPD. De fet, la gràcia que tenen aquests dispositius que tenen gairebé la mida d’un DIN A4 és que pels nostres ulls tenen la mateixa sensació que estar mirant un paper. Així doncs no podem dir allò de que llegir en una pantalla ens fa mal als ulls.

L’empresa iRex ha creat el iLiad, es tracta d’un gadget que pesa uns 400gr amb una CPU XScale de 400MHz, 64Mb de RAM i 128Mb de flash per guardar-hi documents. A més té forces elements per comunicar-se amb l’exterior un port USB 2.0 per connectar-hi el pendrive, un slot MMC per posar-hi més memòria, un slot CF (per instal·lar p.e. un modem GPRS, etc), 802.11g inclòs i un port ethernet. A més la bateria dura una setmana usant-lo unes 3h al dia.

irex_iliad.jpg

Els formats que suporta són PDF, XHTML, TXT, APABI (China only), OEB (open eBook) i MP3. A més si modifiquem el firmware amb un linux 2.4 podem incloure-hi nous formats. Per si tot això fos poc també el podem usar com a bloc de notes i podem convertir-les en fitxers digitals a través del programa de reconeixement d’escriptura MyScript de l’empresa VisionObjects.

irex_msn.gif

Per tot el que fa no té un preu excesivament car, uns 600€ i el podeu comprar a la pròpia web del fabricant.

Notícia extreta de Device Profile: iRex iLiad mobile eBook reader.

Screen tips: més d’un usuari en una sessió

Reading time: 8 – 13 minutes

Quan vaig descobrir la comanda screen la vaig trobar potentíssima. Ben aviat me’n vaig enamorar, el que no m’hagués pensat mai és que es podrien fer coses tan interessants com les que explica l’article: Using screen for remote interaction (local). Per exemple, podem deixar una sessió oberta d’screen i accedir-hi des de més d’un client de forma simultanea. Tan en mode lectura, només veure el que hi ha, com escriptura, poder modificar en temps real el que conté el terminal virtual d’screen simultaneament des de més d’un lloc. Com us podeu imaginar això és ideal, per exemple, per poder ensenyar-li a algú com es fa alguna cosa.

Resum de comandes per tal de llençar una sessió d’screen i connectar-la en remot en mode lectura i escriptura:

1. Sessió principal: Cal que el binari <em>/usr/bin/screen</em> estigui <em>setuid root</em>.
2. Sessió principal: llencem <em>screen</em>: screen -S nom_sessio
3. Sessió secundària: connectem al PC de la 'sessió principal' amb SSH.
4. Sessió principal: Crt-a :multiuser on
5. Sessió principal: Crt-a :acladd loginID
6. Sessió secundària: screen -x usuari/nom_sessio

A més per si això fos poc, també podem grabar la sessió amb tots els moviments de cursor a través del propi screen sense haver d’usar comandes, com ara script.

Resum de comandes per grabar una sessió amb screen:

screen -S nom_sessio -L
o bé quan estem en una sessió:
Crt-a H

Cal recordar que igual que passa amb la comanda script, screen tampoc suporta els caràcters d’escapament ANSI que permeten mostrar colors a la pantalla. Per tant, si el nostre ls és amb colorets no funcionarà, cal que fem això per solucionar-ho: alias ls=’ls –color=none’.

Gentoo: portage 2.1 funció elog

Reading time: 4 – 6 minutes

La versió 2.1 del portage de Gentoo que va entrar en mode estable fa uns mesos realment és un salt important en la gestió de paquets d’aquesta metadistribució. Així que si encara no us heu mirat les millores que incorpora us ho recomano moltíssim. La gent de linux.com han escrit un article que parla del ‘secrets’ d’aquesta nova versió del portage (local). De fet, la majora ja en sóc un asidu usuari, per exemple l’esearch o l’eix. Però hi ha una novetat que m’ha agradat moltíssim i que no coneixia. La podeu també trobada en l’article anterior. Però us en faré 5 centims.

Bàsciament es tracta de dues variables que es defineixen a make.conf. Amb aquestes variables podem definir quin és nivell de log que ens ha de mostrar la comanda emerge mentre compila un paquet i a més podem definir si volem que la sortida de missatges es guardi en un fitxer a /var/log/elog així quan compilem més d’un paquet de forma consecutiva podem veure si aquest ha tingut algún problema. De fet, on jo li veig més utilitat és en el típic paquet que dona problemes després d’instal·lar-se correctament. Doncs bé, podem comprobar si ha fallat alguna de les seves parts al compilar.

Les variables que s’han de definir al make.conf:

# This sets what to log
PORTAGE_ELOG_CLASSES="warn error log"
# And this is how to do it
PORTAGE_ELOG_SYSTEM="save"
Scroll to Top