Propaganda Oculta
What is Testing?
I don't do Twitter, but every once in a while interesting tweets make their way to my eyeballs. As of late I've been swimming pretty deeply in Testing waters and I found this definition so funny and truthful and sad that I had to share it.
"Testing is the infinite process
of comparing the invisible
to the ambiguous
so as to avoid the unthinkable
happening to the anonymous"
- Thomas Petersen, QA Manager at Unity Technologies
Etiquetas: testing
wisptis.exe y tabletas wacom
Tengo una tableta Graphire4 (parece que los drivers de ésta y Bamboo son los mismos), y últimamente me ha estado dando problemas, pero sólo en ocasiones muy específicas.
He estado viendo un poco de video de las olimpiadas usando Chrome, y de repente Chrome crea un proceso llamado wisptis.exe. Cuando éso pasa, el mouse de la tableta como que se vuelve invisible para ciertos otros procesos.
En éste momento tengo wisptis.exe corriendo, y no me molesta en Firefox, ni en Chrome, ni en ProcessExplorer. Pero sí me molesta en Visual Studio 2010. A lo mejor el problema es con VS? El problema desaparece cuando termino el proceso wisptis.exe.
Curiosamente, wisptis es acrónimo de Windows Ink Services Platform Tablet Input Subsystem y me parece deliciosamente irónico que cuando éste subsistema inicia, mi tableta deja de funcionar con uno de los principales productos de Microsoft.
Ni idea de quién será el responsable de éste bug. Microsoft? Wacom? Google (en caso de que Chrome tenga su propia copia, dañada, de wisptis)?
Awesome Linux ports
It's kind of silly, but I was pretty happy to see that a new Linux build of Super Meat Boy was added to the
Humble Indie Bundle V (and to the downloads of HIB4 users as well, naturally). Other HIB V highlights:
- Sword & Sworcery is amazing. The lush and pixelly graphics are beautifully animated, and the music and SFX blend perfectly.
- The Linux port of Limbo was made by one of my favourite companies, CodeWeavers.
- Psychonauts has brand new Mac & Linux ports, courtesy of Ryan "icculus" Gordon.
- Believe what you've read about Bastion. Plus, I love the music, and so do my kids.
- I was so close to buying Lone Survivor on its own! (Sorry I didn't, Superflat Games!)
Scanning library bug in Xubuntu
This is a silly bug, but I learned about a new command, getfacl, so I figured I should write about it. Reinforce the experience, if you will.
Etiquetas: getfacl, linux, sane, ubuntu, xubuntu
Nuevo hack para Skype y Ubuntu Oneiric (11.10)
Resulta que, aparentemente, las nuevas versiones de PulseAudio juegan un poco mejor con la anticuada Skype. Nomás hay que configurar PulseAudio para que use el dispositivo y el conector adecuado.
En las propiedades de Input de PulseAudio, el dispositivo de hardware interno es simplemente "Internal Audio Analog Stereo," y el conector no es el micrófono análogo, sino el "Analog Input."
Pero ahora el problema son los drivers de video. Los más nuevos ya no se entienden bien con Skype (que no ha tenido nuevas versiones para linux desde hace años). Hay que forzar a Skype a que use las librerías para compatibilidad.
Ahora uso el siguiente comando:
LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype
La locación de v4l1compat.so puede variar de distribución a distribución.
... Creo que ya es hora de encontrar un reemplazo para Skype ...
Etiquetas: libv4l, linux, oneiric, pulseaudio, skype, ubuntu, webcam
How to fix the height of the scroll thumb in Flex
If you decide to use a VScrollBar or HScrollBar directly, you'll notice that the scroll thumb is always tiny, no matter the amount of scrolling that is available. The root of the problem is that the ScrollThumb class has an
explicitMinHeight
of 10, but the way to change that is not very straightforward. Here's the easiest solution I found:
import mx.controls.VScrollBar;
import mx.core.mx_internal;
public class MyVScrollBar extends mx.controls.VScrollBar
{
public function MyVScrollBar()
{
super();
}
public override function set pageSize( value:Number ):void {
super.pageSize = value;
updateThumbHeight();
}
[...]
public override function setScrollProperties(
pageSize:Number,
minScrollPosition:Number,
maxScrollPosition:Number,
pageScrollSize:Number = 0
):void {
super.setScrollProperties(
pageSize,
minScrollPosition,
maxScrollPosition,
pageScrollSize
);
updateThumbHeight();
}
private function updateThumbHeight():void {
if ( mx_internal::scrollThumb ) {
mx_internal::scrollThumb.explicitMinHeight = 40;
}
}
}
So, we're extending the VScrollBar, and using the weird
mx_internal
namespace to access its
scrollThumb
property, which is an instance of ScrollThumb class. Now it's just a matter of setting
explicitMinHeight
whenever one of the scroll properties is changed. I only show
pageSize
, but the other properties in
setScrollProperties()
should also be overridden.
This gives you a larger thumb, which is nice, but we can do better. A dynamically-sized thumb is simply as big as the scrollbar itself minus the scrollable ammount, and if we add a simple
Math.max()
to prevent the thumb from getting too tiny (again), we're set! Change the last function to this:
private function updateThumbHeight():void {
if ( mx_internal::scrollThumb ) {
mx_internal::scrollThumb.explicitMinHeight =
Math.max( height - maxScrollPosition, 40 );
}
}
It's important to note that
explicitMinHeight
does a lot of work for us, adjusting the rest of the scroll properties as necessary. Other height-related properties do not work as well.
The original solution was taken from Nathan's answer to a
JustLogged question, but sadly it's not considered the "accepted" answer; you have to see the "other" answers to find Nathan's.
About
mx_internal
, it's actually a member modifier, like
private
or
public
. All the properties you see in the Flex debugger with a yellow rhombus are
mx_internal
properties. For a more in-depth look, check out
When and how to use mx_internal in Flex at Code Of Doom.
Etiquetas: actionscript, howto
Cómo convencer a Skype en Ubuntu de que no use PulseAudio
Desde hace mucho tiempo que el micrófono no me funciona con la instalación típica de Skype en Ubuntu. PulseAudio es demasiado quisquilloso y nomás no se entiende con Skype, así que siempre termino usando Skype sin PulseAudio de la siguiente manera:
/bin/sh -c "PULSE_SERVER=127.0.0.1 skype"
Etiquetas: howto, pulseaudio, skype, ubuntu
Ah, so there *is*! Let's check its permissions:
Clearly the scanner was assigned to user root and group lp. Simple workaround is to make sure that saned, the scanning daemon, is part of the lp group:
And it worked. Of course, I never would have found out about this without the great comments posted on the bug's launchpad.net page.
Update: Spoke too darned soon. Still doesn't work in Xubuntu 11.10. But Ubuntu 11.10 on my netbook worked fine. The ridiculous part? The same thing happens with printing! Can't get it to work in xubuntu desktop, works fine with ubuntu netbook. Bah.
Update 2: By the way, Xubuntu 12.04 has zero problems with my printer/scanner. No need for any of these commands anymore!