Atajos de teclado usando Dbus para Spotify en KDE 4.10

Si alguna vez usando usando Winamp (el viejo winamp que usaba en mi oscuro pasado en Windows) recordaras que habian opciones de accesos de teclado global, antes de tener teclados multimedia que ya venían con las opciones play/pause/next/previous.

Eran muy útiles, porque no importaba en que aplicaciones vos estabas trabajando, podrías hacer un control + alt + c y se ponia en pausa o play dependiendo de cual era el estado, un control + alt + b y pasabas a la siguiente música.

Bueno, dicen que los hábitos mueren muy difícilmente, y como yo sigo sin teclado multimedia, tengo uno mtek en el trabajo que tiene solo las funciones básicas, tengo grabado casi como un reflejo esos atajos de teclado. Y como soy un suscriptor del servicio de Spotify y tengo el cliente instalado en la maquina, decidí que necesitaba tener esos atajos al estilo winamp.

puedes usar el navegador D bus de QT que te permite ver que opciones hace disponible la aplicación al SO, recordar que hay widgets que pueden controlar el spotify, así que supongo que lo hace desde el d bus.

 

Navegador DBUS visualizando la aplicacion SPOTIFY

Con este visualizador se puede ver que hay varias opciones accesibles, en mi caso yo solo probe PlayPause/Previous/Next porque son las que mas  uso.

Bueno, y como hacemos para que este capricho sea posible?

primero vamos al menú preferencias del sistema

wow214

 

Y Elegimos Accesos Rápidos y gestos

wow207

 

 

En la columna de la izquierda elegimos Accesos Rápidos personalizados

wow208

En y en panel a su derecha clic derecho y elegimos nuevo grupo, en mi caso el nombre que le dí al grupo es Spotify, pero pueden poner lo que quieran

wow209

Sobre el grupo que crearon, dan clic derecho nuevamente y eligen:

Nuevos > Acceso rápido global > Llamada a D-Bus

wow216
yo hice esto tres veces y fui nombrándolos de acuerdo a lo que les dije antes

wow215

Verán que a hay tres pestañas: Comentarios, Disparador y Acción
En comentarios pueden poner una descripción de que es lo que hace el comando

En disparador, cual es el acceso global que le ponen

wow211

como ejemplo pongo Ctrl + Alt + N, pero para PlayPause yo uso Ctrl + Alt + c
(hay que cuidar de no usar alguno que este reservado por el sistema o por otra aplicación) en cuyo caso el sistema les notificará si quieren proseguir, haciendo una reasingación del que ya existe.

Y por ultimo esta la pestaña de Acción.  Para este ejemplo creé uno de Stop que tiene configurado como lo pueden ver:

wow212

Aplicación remota lo que me mostró el navegador DBus:

el objeto remoto es como muestra allí /org/mpris/MediaPlayer2

y por último la función que es lo que finalmente ejecuta lo que queremos, en este caso

org.mpris.MediaPlayer2.Player.Stop

Para probar si funciona, simplemente presionan el botón Llamar que está mas abajo, si está todo ok debería detener la reproducción en curso. ( en el caso de stop, si usaran la función PlayPause, debería dependiendo de que está haciendo, si lo reproduce o no, cambiar al otro estado pausar la reproducción o continuarla).

por último, no se olviden de dar al botón Aplicar y listo, tienen aplicadas las funciones de acceso global.

Supongo que esto se puede aplicar para cualquier aplicación registrada que aparece en el d bus, se puede habilitar las opciones de reproducción aleatoria o en secuencia y más.

Lo que no pude acceder, no sé exactamente la razón es por ejemplo para poder bajar y subir el volumen de la aplicación Spotify, aunque en teoría sus métodos están allí expuestos, pero quizá algo está mal en su implementación.

Espero les sirva, de cualquier manera este post es para algún recordatorio futuro en el cual olvide como hacía estas cosas. :)

Saludos y hasta la próxima!.

Controlando el aire acondicionado sin el control parte 1

Este post lo empecé a escribir hace varios meses (casi un año) y lo dejé así sin concluir… ahora lo terminé parcialmente para poder publicarlo, espero les guste…

Una de las cosas que siempre me ha encantado desde chico es tratar de comprender como funcionan las cosas,que son, cual es su significado, desde chico,  le pregunta a mi vieja que ni bien conocí el significado de la palabra “significado” siempre le andaba detrás preguntando y que significa esto, y que es aquello. No se podía librar de mí sino hasta varios años más tarde cuando aprendí a leer y me mostró ese gran libro rojo llamado diccionario pequeño larousse. Con eso zafó de mi, pero bueh mi curiosidad crecía a cada momento. Como funcionaban los autos a control, como funcionaba el motor, como funcionaba una brújula, como funcionaba la tele y así. Con mi primo hermano estuvimos muchísimas pero muchísimas horas desarmando cosas (armarlas, bueh, eso es otra historia). Teníamos colecciones de motores de autos, soldados de juguete y demás. Cada guaraní (moneda local) que juntábamos los gastábamos en pilas AA o las pilas cuadradas (9 voltios). Esa curiosidad es prácticamente la que ha guiado mi vida desde entonces, hice el bachillerato de técnico en informática por mi segunda pasión, las computadoras. Desde que estuve en 5° grado tuve acceso a computadoras y todo en ellas llamaba mi atención. Pero mi primera pasión fue la electrónica aunque yo no la recocía como tal, para mi solo consistía en saber como funcionaba cada aparato electrónico que tenía al alcance y podía ponerle las manos encima.

Bueno eso es la intro del porqué el giro en el blog. No hace mucho pude poner las manos sobre el famoso arduino, recordé con gran cariño los años en los que estudié electrónica (algo así como un segundo bachillerato). Aparte de eso descargué algunos pdf, vi decenas de videos en youtube y un libro sobre proyectos con el arduino. Hasta hace algunos meses no tenía nada (realmente útil) para hacer, hasta que se me ocurrió poder controlar el aire acondicionado sin usar el control remoto que viene con el. Bueno la idea ya estaba, había que investigar como funciona el infrarrojo, sus estándares (porque los estándares son tan buenos que todos que todos deberían tener el suyo propio!). Me fui interiorizando lentamente además fui de compras por así decirlo, un receptor infrarrojo, un diodo led infrarrojo, una placa universal, algunos cables, protoboards etc.

Al principio una de las cosas que casi me detiene es que en casi todos los ejemplos usaban un ociloscopio (algo bastante caro para mi gusto) pero luego descubrí que uno puede tener una señal analógica, usando el audacity y un sensor infrarrojo de los que vienen con esas sintonizadoras de tv que tengo desde el 2007, conectadas al microfono, uno puede ver las ondas que recibe desde el control remoto, haciendo un poco de limpieza de la onda y amplificando y normalizando se puede ver la señal cuadrada. Con eso a la mano, ya uno puede tener nociones básicas de cuantos bits vienen en la transmisión, cuanto era la duración aproximada de cada bit, el lead in, etc.

Datos con los cuales uno puede empezar a personalizar la librería del IRremote (enlace a la libreira original )  para que reconozca los comandos de mi aire acondicionado.

En la siguiente publicación, iré detallando los pasos que seguí para lograr decodificar, el análisis que hice para determinar que era que cosa, y finalmente, como con esa información monté una pequeña página en el Raspberry PI que enviaba los datos por 2.4Ghz al arduino y este ejecutaba los comandos para el aire.

 

 

 

 

El eterno retorno

Siempre estoy en este juego de empezar a escribir algo, y luego no terminarlo. De mantener el blog activo, pero luego viene la vida y te cambia los planes… como menciono en el título:  “el eterno retorno”

Verán el blog de ventiladorcito siempre fue un lugar de pruebas, e inclusive tutoriales, funcionó como portal de noticias en el pasado inclusive, pero hace algún tiempo dejé al niño que exploraba todo, y le encantaba aprender,  a un lado, y saqué el lado que quiere ser más profesional. Me dediqué bastante, pero extraño ese ser de antes, así que por aquí de vuelta estaré.

Algunas actualizaciones :
– Sigo con slackware, y no pienso cambiar de distro de momento, si Patrick continúa manteniéndola yo la seguiré usando.
– Quise incursionar en el mundo de los slackbuilds, pero no me da el cuero, vi como Willy S. mantenía al día, y me dí cuenta que no es joda, exige mucha dedicación y tiempo… Y como ya se habrán dado  cuenta con el blog, no soy precisamente dedicado o constante. (pero como dije voy a procurar serlo más).
– Incursioné al proyecto de HackLabAsu, que es muy interesante. Si les interesa unirse, por favor suscríbanse a la lista de correo que está por acá (deben presentarse al suscribirse, para que el resto los conozca).
– Sigo trabajando en Simgia, es el lugar en el que más tiempo he estado,  y más a gusto me siento, no puedo quejarme de los lugares anteriores, pero casi llevo 4 años aquí (En el anterior trabajo estuve por 13 meses, fue Inavan, podría haber sido más pero la empresa cerró).

Y eso es todo por ahora…

Saludos.

slackbuilds.org

Slackbuilds.org finalmente en 14.1

Luego de varias  semanas de intenso trabajo, el equipo de slackbuilds.org finalmente consiguió liberar alrededor de 2600 paquetes (calculo rápido) para Slackware 14.1. Muchísimo trabajo de probar y compilar los paquetes tanto para 32 como 64 bits,  A continuación la copia del mensaje enviado por Heinz Wiesinger.:

Tue Nov 26 06:41:27 UTC 2013
Here it is! The launch of the SlackBuilds.org repository into the 14.1 era.
With the help of our amazing community we spent the last couple of weeks
testing, fixing, and updating the scripts in the repository for the latest
Slackware release.  We are happy to say that we think it has never been
better :)
There are no big user-visible changes this time around, although we did
make some smaller tweaks and adjustements in the templates.  Be sure to
check those out before starting to submit new or updated scripts.
We’d like to take this time to welcome the newest member of our admin team,
Willy Sudiarto Raharjo (willysr), and thank him for the huge amount of
testing and fixing of various scripts that he did.  Similarly goes for Matteo
Bernardini (ponce) as well as for David Somero (XGizzmo), who once again put
the repository through its paces using automated build testing.  Then there’s
Heinz Wiesinger (pprkut) for the usual fixes and updates, as well as his
work behind the scenes with our database.  Kudos also go to Erik Hanson
(erik) for his never-ending job of server maintenance and upkeep, on top
of fixes and updates all over the SBo tree.  Thanks go as well to Michiel
van Wessem (BP{k}) and Niels Horn (niels_horn) for jumping in every once
in a while for moral support and hints on various hard to crack issues.
Then there’s also rob0 (/dev/rob0) hiding in the shadows working tirelessly
to keep mail and dns working.  Last but not least there’s Robby Workman
(rworkman), our ever inspiring project lead who knows exactly how to kick
us all into gear when work needs to get done! :)
All of our users and maintainers deserve proper thanks for our existence,
but David Spencer and David Woodfall really helped out a lot this time
around with testing and fixing an insane amount of SlackBuilds.  Naturally
there have been many more providing input on all sorts of things.  Thanks
go out to all of you, regardless of how small or large your contributions
may have been.
See the git log <http://slackbuilds.org/cgit/slackbuilds/log/?h=14.1> for
detailed changes since 14.0. Happy Slacking!
— The SBo team

Personalmente es la primera vez que estoy haciendo un seguimiento de estos saltos de versión,  y es impresionante la cantidad de trabajo que lleva, pues no todo siempre compila a la primera, aunque muchos paquetes no tenían problemas otros si, y bastante singulares, pero con la ayuda del grupo la mayoría pudo solucionarse.

Los paquetes he estado esperando es de Mysql Workbench, TeamViewer,   asi como Chromiun y que  al fin, puedo instalar en 14.1 :)

Felicitaciones para Willy Sudiarto Raharjo, que ahora es parte del grupo de mantenedores y a todo el equipo de slackbuilds.org.

Ahora a usar esta versión y reportar cualquier error que se encuentre a la lista de correo “slackbuilds-users”. Nuevos envíos  tendrán que aguardar a que el periodo de admisión se abra nuevamente.

Saludos!

Pd. Ademas pueden ver en el post de Willy acerca de este lanzamiento : http://slackblogs.blogspot.com/2013/11/sbo-repository-for-141-is-now-live.html

Slackware

Slackware 14.1 – Luego de una larga espera está finalmente aquí

Slackware pin

Slackware

Luego de una larga espera finalmente está aqui, un nuevo lanzamiento. Slackware 14.1 ya está aquí. hace aproximadamente 15 horas fue lanzado. Entre las cosas que se mencionan en el mail de anuncio del lanzamiento tenemos:

– Slackware  viene con dos de los ambientes de escritorios más avanzados hoy en día: XFCE 4.10.1, rápido y liviano, pero visualmente atractivo y fácil de usar. Además KDE 4.10.5 una versión estable de las serie 4.10.x.
Ambos escritorios utilizan udev, udisks y udisks2 y muchas de las especificaciones de freedesktop.org lo que permite al administrador del sistema conceder el uso de varios dispositivos de hardware según la pertenencia a grupos de usuarios lo que les permitirá utilizar elementos tales como memorias USB, unidades de CD y DVD, reproductores MP3 y más, todos estos sin requerir el uso de sudo, mount umount . Todo plug and play!.. El escritorio de Slackware es adecuado para cualquier nivel de experiencia en Linux.

– Viene con el Kernel 3.10.17 con las más  avanzadas características de  rendimiento tales como sistemas de archivos, soporte para SCSI  y ATA RAID, soporte para SATA, RAID por Software, LVM (Logical Volume Manager) y sistemas de archivos encriptados. El kernel soporta X DRI (Interfaz de renderizado directo) que aporta velocidad al hardware de aceleradoras gráficas 3D.
Esta versión del kernel está bien probada, ofrece buena performance, y tiene LTS (Long time support – Soporte a largo plazo) por parte de kernel.org.

– Los binarios vienen linkeados la libreria GNU C de la versión 2.17, que también tiene excelente soporte para librerías existentes.

– X11 basado en el sistema de ventanas modular X (X Windows System) de la Fundación X.Org . Esta es la X11R7.7, un nuevo lanzamiento, con muchas mejoras en terminos de performance y soporte de hardware.

– Slackware 14.1 viene con gcc-4.8.2 como compilador por defecto para C, C++, Objective-C,
Fortran-77/95/2003/2008, y Ada 95/2005/2012

– También incluye  LLVM y Clang, un compilador alternativo para   C, C++,
Objective-C y Objective-C++

– La versión x86_64 de Slackware 14.1 viene con soporte de instalación y arranque en máquinas que usen el firnmware UEFI.

– Soporte para NetworkManager para la configuración sencilla del redes de cable  e inalámbricas, incluyendo la banda ancha móvil, IPv6, VPN, y mucho más. Roaming sin problemas entre redes conocidas y configurar rápidamente nuevas conexiones. Hemos conservado pleno soporte a los  tradicionales scripts de redes de  Slackware  y para el administrador de red wicd, ofreciendo opciones y flexibilidad a todos los niveles de usuarios

Y muchas cosas más. A continuación copio el email de Patrick J. Volkerding anunciando slackware. Pueden copiarlo y traducirlo usando las herramientas de google

Yes, it is that time again!  After well over a year of planning,
development, and testing, the Slackware Linux Project is proud to
announce the latest stable release of the longest running distribution
of the Linux operating system, Slackware version 14.1!

We are sure you’ll enjoy the many improvements.  We’ve done our best to bring the latest technology to Slackware while still maintaining the stability and security that you have come to expect.  Slackware is well known for its simplicity and the fact that we try to bring software to you in the condition that the authors intended.

Slackware 14.1 brings many updates and enhancements, among which you’ll find two of the most advanced desktop environments available today: Xfce 4.10.1, a fast and lightweight but visually appealing and easy to use desktop environment, and KDE 4.10.5, a recent stable release of the 4.10.x series of the award-winning KDE desktop environment. These desktops utilize udev, udisks, and udisks2, and many of the
specifications from freedesktop.org which allow the system administrator
to grant use of various hardware devices according to users’ group
membership so that they will be able to use items such as USB flash
sticks, USB cameras that appear like USB storage, portable hard drives,
CD and DVD media, MP3 players, and more, all without requiring sudo, the
mount or umount command.  Just plug and play.  Slackware’s desktop
should be suitable for any level of Linux experience.

Slackware uses the 3.10.17 kernel bringing you advanced performance features such as journaling filesystems, SCSI and ATA RAID volume support, SATA support, Software RAID, LVM (the Logical Volume Manager), and encrypted filesystems.  Kernel support for X DRI (the Direct Rendering Interface) brings high-speed hardware accelerated 3D graphics to Linux.

There are two kinds of kernels in Slackware.  First there are the huge kernels, which contain support for just about every driver in the Linux kernel. These are primarily intended to be used for installation, but there’s no real reason that you couldn’t continue to run them after you have installed.  The other type of kernel is the generic kernel, in which nearly every driver is built as a module.  To use a generic kernel you’ll need to build an initrd to load your filesystem module and possibly your drive controller or other drivers needed at boot time, configure LILO to load the initrd at boot, and reinstall LILO.  See the docs in /boot after installing for more information.  Slackware’s Linux kernels come in both SMP and non-SMP types now.  The SMP kernel supports multiple processors, multi-core CPUs, HyperThreading, and about every other optimization available.  In our own testing this kernel has proven to be fast, stable, and reliable.  We recommend using the SMP kernel even on single processor machines if it will run on them.  Note that on
x86_64 (64-bit), all the kernels are SMP capable.

Here are some of the advanced features of Slackware 14.1:

– Runs the 3.10.17 version of the Linux kernel from ftp.kernel.org.
The 3.10.x series is well-tested, offers good performance, and will be
getting long term support from kernel.org.  For people interested in
running the previous long term support kernel series, we’ve provided
sample configuration files for Linux 3.4.66 under the /testing directory.
And, to make it easier for people who want to compile the latest Linux
kernel, we’ve also put configuration files for Linux 3.12 in /testing.

– System binaries are linked with the GNU C Library, version 2.17.
This version of glibc also has excellent compatibility with
existing binaries.

– X11 based on the X.Org Foundation’s modular X Window System.
This is X11R7.7, a new release, with many improvements in terms of
performance and hardware support.

– Installs gcc-4.8.2 as the default C, C++, Objective-C,
Fortran-77/95/2003/2008, and Ada 95/2005/2012 compiler.

– Also includes LLVM and Clang, an alternate compiler for C, C++,
Objective-C and Objective-C++.

– The x86_64 version of Slackware 14.1 supports installation and booting
on machines using UEFI firmware.

– Support for NetworkManager for simple configuration of wired and
wireless network connections, including mobile broadband, IPv6, VPN,
and more.  Roam seamlessly between known networks, and quickly set
up new connections.  We’ve retained full support for the traditional
Slackware networking scripts and for the wicd network manager,
offering choice and flexibility to all levels of users.

– Support for fully encrypted network connections with OpenSSL,
OpenSSH, OpenVPN, and GnuPG.

– Apache (httpd) 2.4.6 web server with Dynamic Shared Object
support, SSL, and PHP 5.4.20.

– USB, IEEE 1394 (FireWire), and ACPI support, as well as legacy PCMCIA
and Cardbus support.  This makes Slackware a great operating system
for your laptop.

– The udev dynamic device management system for Linux 3.x.
This locates and configures most hardware automatically as it
is added (or removed) from the system, loading kernel modules
as needed.  It works along with the kernel’s devtmpfs filesystem
to create access nodes in the /dev directory.

– New development tools, including Perl 5.18.1, Python 2.7.5,
Ruby 1.9.3-p448, Subversion 1.7.13, git-1.8.4, mercurial-2.7.2,
graphical tools like Qt designer and KDevelop, and much more.

– Updated versions of the Slackware package management tools make it
easy to add, remove, upgrade, and make your own Slackware packages.
Package tracking makes it easy to upgrade from Slackware 14.0 to
Slackware 14.1 (see UPGRADE.TXT and CHANGES_AND_HINTS.TXT).
The slackpkg tool can also help update from an older version of
Slackware to a newer one, and keep your Slackware system up to date.
In addition, the slacktrack utility will help you build and maintain
your own packages.

– Web browsers galore!  Includes KDE’s Konqueror 4.10.5, SeaMonkey 2.21
(this is the replacement for the Mozilla Suite), Mozilla Firefox ESR 24.1,
as well as the Thunderbird 24.1 email and news client with advanced
junk mail filtering.  A script is also available in /extra to repackage
Google Chrome as a native Slackware package.

– The KDE Software Compilation 4.10.5, a complete desktop environment.
This includes the Calligra productivity suite (previously known as
KOffice), networking tools, GUI development with KDevelop, multimedia
tools (including the Amarok music player and K3B disc burning software),
the Konqueror web browser and file manager, dozens of games and utilities,
international language support, and more.

– A collection of GTK+ based applications including pidgin-2.10.7,
gimp-2.8.6 (with many improvements including a single window mode),
gkrellm-2.3.5, xchat-2.8.8, xsane-0.998, and pan-0.139.

– A repository of extra software packages compiled and ready to run
in the /extra directory.

– Many more improved and upgraded packages than we can list here.  For
a complete list of core packages in Slackware 14.1, see this file:

ftp://ftp.slackware.com/pub/slackware/slackware-14.1/PACKAGES.TXT

Downloading Slackware 14.1:
—————————

The full version of Slackware Linux 14.1 is available for download from the central Slackware FTP site hosted by our friends at osuosl.org:

ftp://ftp.slackware.com/pub/slackware/slackware-14.1/

If the sites are busy, see the list of official mirror sites here:

http://mirrors.slackware.com

We will be setting up BitTorrent downloads for the official ISO images.  Stay tuned to http://slackware.com for the latest updates.

Instructions for burning the Slackware tree onto install discs may be found in the isolinux directory.

Purchasing Slackware on CD-ROM or DVD:
————————————–

Or, please consider purchasing the Slackware Linux 14.1 six CD-ROM set or deluxe dual-sided DVD release directly from Slackware Linux, and you’ll be helping to support the continued development of Slackware Linux!

The DVD release has the 32-bit x86 Slackware 14.1 release on one side, and the 64-bit x86_64 Slackware 14.1 release on the other.  Both sides are bootable for easy installation, and includes everything from both releases of Slackware 14.1, including the complete source code trees.

The 6 CD-ROM release of Slackware 14.1 is the 32-bit x86 edition. It includes a bootable first CD-ROM for easy installation.  The 6 CD-ROMs are labeled for easy reference.

The Slackware 14.1 x86 6 CD-ROM set is $49.95 plus shipping, or choose the Slackware 14.1 x86/x86_64 dual-sided DVD (also $49.95 plus shipping).

Slackware Linux is also available by subscription.  When we release a new version of Slackware (which is normally once or twice a year) we ship it to you and bill your credit card for a reduced subscription price ($32.99 for the CD-ROM set, or $39.95 for the DVD) plus shipping.

For shipping options, see the Slackware store website.  Before ordering express shipping, you may wish to check that we have the product in stock. We make releases to the net at the same time as disc production begins, so there is a lag between the online release and the shipping of media. But, even if you download now you can still buy the official media later. You’ll feel good, be helping the project, and have a great decorative item perfect for any computer room shelf.  :-)

Ordering Information:
———————

You can order online at the Slackware Linux store:

http://store.slackware.com

Other Slackware items like t-shirts, caps, pins, and stickers can also be found here.  These will help you find and identify yourself to your fellow Slackware users.

Order inquiries (including questions about becoming a Slackware reseller) may be directed to this address:  info@slackware.com

Have fun! :^)  I hope you find Slackware to be useful, and thanks
very much for your support of this project over the years.


Patrick J. Volkerding    <volkerdi@slackware.com>

Visit us on the web at:  http://slackware.com

Así es amigos, tenemos una nueva versión, personalmente en cuanto llegue a casa la descargaré e instalaré. Y en estos días actualizaré la notebook del trabajo, para poder probar el soporte UEFI (ya que fue un parto tratar de instalar la última vez por problemas con el UEFI).

Saludos!.

PD. No olviden visitar el la tienda oficial de Slackware o la tienda licenciada de Slackware donde pueden contribuir con el proyecto o directamente con Patrick (en ese orden).

screensot-ventana-stupid

Condoricosas que encontramos en los fuentes

Hola.

Estaba revisando mi archivo de configuración hosts (/etc/hosts), para eliminar algunos distractivos que tengo a la hora de trabajar (si, tiendo a tener una mente muy distraida), por lo general lo que hago es apuntar los dominios que mas visito en esa lista y los apunto a 127.0.0.1; Bueno volviendo al tema, estaba editando el host cuando me fijo por casualidad en alguno de los comentarios que estaban lineas mas arriba y me encuentro con algo como esto:

# By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1
# should NEVER be named with the name of the machine. It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)

Lo cual llamo mi atención, no solía ver este tipo de cosas, así que me pregunté si habría más de ese tipo de cosas en los fuentes de configuración y codigo. Por lo cual rápidamente escribo en la consola:

pablo@darkstar:~$ sudo fgrep stupid /etc/ -R

y me encuentro con cosas como:

/etc/hosts:# for some (stupid) programs, irc and reputedly talk. :^)
/etc/cron.daily/certwatch:# This stupid script (C) 2006,2007 Jan Rafaj
/etc/skel/.screenrc:#remove some stupid / dangerous key bindings
/etc/termcap-BSD:mono-emx|stupid monochrome ansi terminal with only one kind of emphasis:\
/etc/termcap-BSD:# emulations (usually their stupidest, and usually labeled adm3, though
/etc/termcap-BSD:# * Added vt102-nsgr to cope with stupid IBM PC `VT100′ emulators.
/etc/hosts~:# for some (stupid) programs, irc and reputedly talk. :^)
/etc/screenrc:#remove some stupid / dangerous key bindings

Y me volví a preguntar, donde consigo más?

nuevamente corrí el comando en una carpeta donde probablemente haya más de ese tipo de comments:

pablo@darkstar:~$ sudo fgrep stupid /usr/include/ -R

/usr/include/poppler/goo/gtypes.h: * These have stupid names to avoid conflicts with some (but not all)
/usr/include/poppler/goo/gtypes.h: * These have stupid names to avoid conflicts with <sys/types.h>,
/usr/include/gdkmm-2.4/gdkmm/window.h: * This function has a stupid name because it dates back to the mists
/usr/include/fontforge/splinefont.h: unsigned int weight_width_slope_only: 1; /* This bit seems stupid to me */
/usr/include/boost/unordered/detail/table.hpp: // For some stupid reason, I decided to support equality comparison
/usr/include/boost/graph/filtered_graph.hpp: // This base class is a stupid hack to change overload resolution
/usr/include/boost/graph/distributed/page_rank.hpp: // the stupid synchronization rules of MPI-2 One-sided
/usr/include/boost/lambda/detail/operators.hpp: // It is stupid to have the names A and B as macro arguments, but it avoids
/usr/include/boost/xpressive/detail/core/quant_style.hpp:// // Replace transmogrify stupidity with rebindable matchers/placeholders
/usr/include/subversion-1/svn_client.h:/** Like svn_client_commit_item3_create() but with a stupid “const”
/usr/include/kwineffects.h: WindowQuadError, // for the stupid default ctor
/usr/include/k3biso9660.h: * Due to the stupid Qt which does not support large files as default
/usr/include/p2c/p2c.h:/* Fix toupper/tolower on Suns and other stupid BSD systems */
/usr/include/wx-2.8/wx/log.h: // is a bad idea as some compilers are stupid enough to not inline even
/usr/include/wx-2.8/wx/defs.h: /* no such stupidness under Unix */
/usr/include/wx-2.8/wx/defs.h:#else /* stupid, broken compiler */
/usr/include/wx-2.8/wx/layout.h:// X stupidly defines these in X.h
/usr/include/wx-2.8/wx/generic/grid.h: // suppress the stupid gcc warning about the class having private dtor and
/usr/include/wx-2.8/wx/generic/grid.h: // suppress the stupid gcc warning about the class having private dtor and
/usr/include/wx-2.8/wx/generic/grid.h: // suppress the stupid gcc warning about the class having private dtor and
/usr/include/icc34.h: Added the stupid check for autoconf by Marti Maria.
/usr/include/strigi/streambase.h: * stupid / does not work by design :)
/usr/include/seamonkey/nsMsgLineBuffer.h:// I can’t believe I have to have this stupid class, but I can’t find
/usr/include/seamonkey/mozilla/dom/HTMLMediaElement.h: // SetAttr override. C++ is stupid, so have to override both
/usr/include/seamonkey/mozilla/dom/HTMLImageElement.h: // SetAttr override. C++ is stupid, so have to override both
/usr/include/seamonkey/mozilla/dom/HTMLCanvasElement.h: // SetAttr override. C++ is stupid, so have to override both
/usr/include/talloc.h: stupidity in gcc 4.1.x */
/usr/include/openssl/err.h:/* Borland C seems too stupid to be able to shift and do longs in
/usr/include/archive.h:/* Default implementations are very, very stupid. */
/usr/include/linux/cm4000_cs.h:/* what is particularly stupid in the original driver is the arch-dependent
/usr/include/linux/reiserfs_fs.h: /* this file has an amazingly stupid
/usr/include/kmessagebox.h: * or your user did something stupid.
/usr/include/kmessagebox.h: * or your user did something stupid.
/usr/include/seamonkey-2.21/nsMsgLineBuffer.h:// I can’t believe I have to have this stupid class, but I can’t find
/usr/include/seamonkey-2.21/mozilla/dom/HTMLMediaElement.h: // SetAttr override. C++ is stupid, so have to override both
/usr/include/seamonkey-2.21/mozilla/dom/HTMLImageElement.h: // SetAttr override. C++ is stupid, so have to override both
/usr/include/seamonkey-2.21/mozilla/dom/HTMLCanvasElement.h: // SetAttr override. C++ is stupid, so have to override both
/usr/include/php/ext/mysqlnd/mysqlnd_wireprotocol.h: zend_bool stupid_list_fields_eof;
/usr/include/ImageMagick/Magick++/Include.h:# pragma warning( disable: 4273 ) /* Disable the stupid dll linkage warnings */
/usr/include/Xm/BulletinBP.h: Widget stupid_dead_field;
/usr/include/eigen2/Eigen/src/Core/util/Meta.h: // use ?: instead of || just to shut up a stupid gcc 4.3 warning
/usr/include/eigen2/Eigen/src/Core/util/XprHelper.h: void nevermind_this_is_just_to_work_around_a_stupid_gcc3_warning();

Y así uno encuentra cosas en los fuentes. Algunos con ganas de expresar su profundo malestar y otros bueh… mejor díganlo ustedes.
:)

Slackware pin

Slackware 14.1 RC3: Last Call – Última llamada!

Buenas…

Tenemos novedades viendo los Changelogs de Slackware vemos que el lanzamiento de una nueva versión de nuestro querido Slackware, está muy cerca.

Ha entrado en fase de RC3 (release candidate, ó, versión candidata) lo que quiere decir que si no se encuentra algún bug o un cambio muy importante ya estamos frente a la versión lista para el lanzamiento.

Recordemos que el último lanzamiento (Slackware 14) se remonta al 26 de setiembre de 2012. Poquito mas de 13 meses atrás. Así que próximamente veremos un lanzamiento, yo por mi parte estoy esperando ansioso, así podré migrar mi entorno de trabajo a esta nueva versión estable, (pero como trampa tengo la netbook en el canal Current.

 

Una recapitulación que encontré en el blog del amigo Willy de las cosas que podemos encotrar:

  • Grub ha sido recompilado para parchar algunos errores que en EFI ya que algunas implementaciones UEFI tienen errores
  • Lilo ha sido recompilado para probar mejor las particiones Windows y comentar el codigo “compact” en liloconfig.
  • los scripts de system V fueron rescritos para chequear por devtmpfs y remover referencias obsoletas a rc.optimal-symlink en rc.M
  • pm-utils (power manager utils) se recompiló para setear todos los hooks en el directorio power.d a no ejecutable.
  • poppler se actualizó a la versión 0.24.3
  • gnutls se actualizó a 3.1.5
  • xine-ui se actualizó a 0.99.7
  • isolinux y usb-and-pxe-installer fueron recompilados para no listar  el instaldor USB las particiones FAT-NTFS en el listado de particiones.

Agregar un usuario en MySQL para una base de datos específica

MySQL Database

MySQL Database

Muchas veces varias personas están trabajando con nosotros en un proyecto.
Y con frecuencia eso implica que estemos trabajando con diferentes usuarios de bases de datos, o todos con el mismo, dependiendo.

En mi caso, tenemos una una base de datos que va siendo modificadas por todos, eso luego afecta a un esquema que todos usamos.
Pero el problema saltaba con el archivo de conexión que todos compartíamos, verán cada uno tiene localmente su propio usuario con su contraseña.
Uno actualizaba sin querer su archivo de conexión y todos los demás luego teníamos que nuevamente modificar las nuestras, y así uno nuevamente sin querer actualizaba el suyo al servidor y esto se propagaba de actualización en actualización.

Y la solución fue sencilla, básicamente es que todos usemos el mismo usuario y con la misma contraseña, de modo a que el archivo de conexión ya no necesita ser cambiado. :)

grant all on <base de datos>.* to '<usuario>'@'localhost' identified by '<password compartido>';

Observación: por si no se note, lo que va entre los simbolos ‘<>’ es lo que debemos sustituir por nuestros valores deseados

Actualizaciones julio 2013

Hola, sé que prometí algunos post, que aún no estoy pudiendo entregar. Actualmente estoy con mucho trabajo y muy poco tiempo libre que estoy aprovechando para descansar.

Ahora lo interesante Slackware-current ha pasado a incluir los cambios de KDE 4.10.5. Estoy a punto de hacer una re-instalación en mi netbook Acer, y luego actualizar a current, quiero comprobar las mejoras de KDE que según comentaron los desarrolladores solucionan muchos errores de perdida de memoria.
Ademas del kernel 3.9.9, Mozilla 22 y Thunderbird 17
Esperamos próximamente el siguiente salto de versión, que estimamos sería 14.1 😀

Bueno, procuraré pasar para dar más noticias.
hasta la próxima.

Próximas Publicaciones – Mayo ’13

Hola,

Actualmente estoy trabajando en dos posts que estaré liberando próximamente. El primero de ellos será sobre una instalación de slackware típica. Aprovechando las máquinas virtuales.
Y la segunda sería una entrada sobre algo que lleva tiempo dándome vueltas la cabeza, y es tener ciertas particiones encriptadas en el disco duro. Esto a modo de tener los datos más seguros (ya sea en el pendrive, o un disco externo, o por que no nuestra partición de home. Ya que es muy común en estos días que a uno se le extravía o (se lo extravían) las computadoaras portátiles.
Así que estén atentos.

Saludos.