Buscar en Mind w/o Soul

lunes, abril 30, 2007

Tinta para la impresora HP

Listado de cartuchos compatibles por modelo:



PSC serie 1110














Modelo todo en uno



Cartucho negro



Cartucho color

HP PSC 1110, HP PSC 1110xi, HP PSC 1110v
HP 56
HP 57



HP 28

domingo, abril 29, 2007

Software product lines

Metodología del software - líneas de producción de software - desarrollo - programación



Software Product Lines

What is a Software Product Line?



A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.

Why are Software Product Lines Important?

Software product lines are rapidly emerging as a viable and important software development paradigm allowing companies to realize order-of-magnitude improvements in time to market, cost, productivity, quality, and other business drivers. Software product line engineering can also enable rapid market entry and flexible response, and provide a capability for mass customization.

http://www.sei.cmu.edu/productlines/

Un ejemplo:

http://www.sei.cmu.edu/productlines/ppl/intro.html



viernes, abril 27, 2007

Prototipos de interaccion web con MS Visio

http://www.guuui.com/issues/02_07.php

Visio - the interaction designer's nail
gun (3rd edition)


How to use Visio for rapid prototyping - now with scrolling pages and sketchy interface widgets



This
is a third edition of my article on using Visio for rapid prototyping
for the web. The new edition includes a minor update of the GUUUI Web
Prototyping Tool that eliminates a major shortcoming: the inability to
create scrolling pages. The update also includes brand new sketchy
interface widgets.

jueves, abril 26, 2007

Uso práctico de closures

Argumentos-bloque de código, list comprehensions, lambdas en Ruby, Python, Smalltalk

http://www.martinfowler.com/bliki/CollectionClosureMethod.html
http://www.martinfowler.com/bliki/Closure.html

The next most common closure method I use with collections is collect. This is similar but where you need to gather the results of a method call. Here's the traditional code:

  offices = []
for e in employees
offices <<>

Again the closure method allows you to use a one-liner.

offices = employees.collect {|e| e.office}

You can see what this does, it's similar to select but instead puts the result of the method call into the returned collection. Smalltalk also called this 'collect'. Lisp has a similar function called 'map', in ruby 'map' is an alias for 'collect'.

There's a concept that's come out of modern functional programming languages that's similar to the two preceding closure methods - it's called a list comprehension. List comprehensions have made their way into the python language. They provide a syntactic approach to getting the kinds of benefits we've seen so far. Here are the two examples again using python list comprehensions.

  managers = [e for e in employees if e.isManager]
offices = [e.office for e in employees]

List comprehensions make it easy to combine the two.

managersOffices = [e.office for e in employees if e.isManager]

  total = 0
for e in employees
total += e.salary
end

Inject does it like this.

total = employees.inject(0) {|result, e| result + e.salary}

At each element in the collection inject assigns the result of executing the block to the result variable. The result of the final execution gets returned from inject.

Abstracto vs instanciado

Artículo que reflexiona sobre los niveles de referencia de palabras homónimas, clase/instancia. Describe la semántica de la idea que quiero representar con la herramienta de mi tesis.

http://www.martinfowler.com/bliki/TypeInstanceHomonym.html


TypeInstanceHomonym

"'War and Peace' is a wonderful book.
"Let me see... pity this book has such a tattered cover"

Two sentences, each uses the word 'book'. We glance over combinations like this every day without remarking that the word 'book' means something completely different in each of those sentences.


The really interesting thing about this ambiguity is how little trouble it causes. Humans seem to have no trouble at all switching between the multiple concepts and only rarely getting tripped up in the process. What's worse, if you actively try to use different terms in everyday conversation, it's nearly impossible to keep it up. I certainly tried, both in conversation and writing and quickly realized it was a lost cause. Not just did I not have the discipline but it made me sound like someone with some obscure mental condition. (The type-instance case isn't the only one with this property, as the phrase "go through the door we painted last week" suggests.)

Multilenguaje web Haxe

http://haxe.org/intro



haXe is a high-level object-oriented programming language mainly
focused on helping programers develop Websites and Web applications.
haXe has been designed to be easily portable across several platforms.



haXe Features





The haXe Syntax is similar to the one used in
Java/JavaScript/ActionScript, so it’s very easy to learn and get
used to haXe. haXe can also integrate easily in your favorite editor or
IDE.




The haXe Type System is strictly typed, enabling
the compiler to detect most errors at compile-time. At the same time,
it’s very different from classic strictly typed languages since
you don’t have to write types everywhere in your program, thanks
to type inference. It makes you feel like you are programming
in a dynamically typed language while you are getting the security of a
strictly typed language. The best of both worlds.



martes, abril 24, 2007

Rosa de papel

Renombrar ficheros múltiples

Renombrado de muchos ficheros, útil para la mula

amule, emule



http://www.antp.be/software/renamer/features

Ant Renamer



This program can rename large amounts of files and folders in few clicks. It only modifies files/folders names:

  • Changing extension
  • Replacing character strings by others
  • Inserting a character string
  • Moving characters
  • Deleting several characters
  • Enumeration
  • Name creation with mp3's Tag (ID v1.1)
  • Name creation with file's last modified date and time
  • Random names creation
  • Case change (uppercase, lowercase, first letter of each word in uppercase, ...)
  • Take names from a list/file
  • Use of EXIF info
  • Regular expressions

lunes, abril 23, 2007

Numeros 900

Artículo explicando la tarificación de los teléfonos especiales

http://www.consumer.es/web/es/tecnologia/internet/2003/05/06/60849.php

Números 900


Sus tarifas y utilidades difieren notablemente

¿Sabe cuánto cuesta llamar a un 906 para participar en el concurso televisivo de moda? ¿O cómo se reparte el coste de una llamada a un 901? ¿Conoce las líneas 904 ó 905? Aparte de la gratuidad de los números 900 o del elevado coste de los 906, conocemos muy poco el funcionamiento y la utilidad de los números con prefijo 900, 901, 902, 903/906 y 905. No obstante, conviene informarse, pues cada vez son más las empresas que recurren a ellos: se utilizan para reservas en hoteles, comprar entradas, realizar pedidos de venta a distancia, participar en concursos y hasta para obtener información desde la propia Administración.

Fair I/O in Linux

Como cambiar el scheduler en Ubuntu para mejorar la latencia de respuesta cuando se atasca el disco duro...

http://llistes.bulma.net/pipermail/bulmailing/Week-of-Mon-20051128/073963.html

1.- El I/O scheduler que trae por defecto es el "anticipatory", que

&gt; tiene cierta tendencia a dejar que los procesos que están tragando más

&gt; entrada/salida puedan tragar todavia más. En casos extremos si estás

&gt; copiando algo gordo por la red local o ficheros grandes entre discos

&gt; locales te vas al firefox y tarda como un minuto en dejártelo usable

&gt; (aunque no esté en la swap). A mi me va mucho mejor el "cfq" que es el

&gt; que reparte equitativamente los accesos de E/S (gracias gallir por

&gt; decirmelo ;-) y evita que un solo proceso o unos pocos lo acaparen

&gt; todo.



Según mi gusto, el "cfq" es _demasiado_ equitativo, y hace que el

rendimiento general de E/S no sea de santo de mi devoción, El

"anticipatory" es que que ofrece un mayor ancho de banda, según mis

propias mediciones, pero tiende a ser demasiado agresivo y dejar a

otros procesos muertos de inanición. El que más me gusta es el

"deadline", que es más simple que el "anticipatory" y creo que se

encuentra justo entre medias del "anticipatory" y el "cfq" en términos

de usabilidad general del sistema contra rendimiento.



&gt; La solución (que vale para cualquier kernel si tiene compilados

&gt; diversos planificadores de entrada/salida) es pasarle al kernel el

&gt; parámetro "elevator=cfq". Lo suyo en breezy es ponerlo en la entrada

&gt; que más os guste del /boot/grub/menu.lst (por ejemplo la

&gt; #nonaltoptions=) y luego hacer un sudo update-grub.









Enable Completely Fair Queuing (CFQ) as the default scheduler for Edgy
and beyond in Desktop Kernels but NOT server where deadline would be
more appropriate.

https://blueprints.launchpad.net/ubuntu/+spec/cfq-by-default



http://linux.inet.hr/cfq_to_become_the_default_i_o_scheduler.html

CFQ to become the default I/O scheduler in 2.6.18





Judging by this commit, CFQ (Complete Fair Queuing) I/O scheduler will become the default one in the upcoming 2.6.18 kernel. For a long time, anticipatory scheduler has been the default, although even back in late 2004 there was some thinking about replacing it with CFQ.
And it seems the time has finally come. CFQ scheduler has been gaining
adoption since then, to the point that it's the default I/O scheduler
for RHEL 4, Suse, and other distros.



http://members.optusnet.com.au/ckolivas/kernel/

Kernel patch homepage of Con Kolivas

These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload.

domingo, abril 22, 2007

Puesta a punto: Ubuntu Feisty Fawn 7.04

Linux howto - Ubuntu

http://www.pcworld.com/article/id,130923-page,1-c,linux/article.html

Seven Post-Install Tips for Ubuntu 7.04


Fixes, extras, and eye candy: Here are seven steps to take just after installing Feisty Fawn.

http://medibuntu.sos-sts.com/


Medibuntu (Multimedia, Entertainment &
Distractions In Ubuntu) is a repository of packages that cannot be
included into the Ubuntu distribution for legal reasons (copyright,
license, patent, etc).


Medibuntu is a packaging project
dedicated to distributing software that cannot be included in Ubuntu
for various reasons, related to geographical variations in legislation
regarding intellectual property, security and other issues:


  • patentability of software, algorithms, formats and other abstract creation
  • legal restrictions on freedom of speech or communication
  • restrictions on the use of certain types of technical solution, such as cryptography
  • legal restrictions on imports of software technology, requiring for example specific permissions
  • etc.
https://help.ubuntu.com/community/RestrictedFormats

RestrictedFormats





Ubuntu strives to make all software that meets the licensing terms in the [WWW] Ubuntu License Policy
available. However patent and copyright restrictions complicate free
operating systems distributing software to support proprietary formats.







viernes, abril 20, 2007

Tipografia: matematicas del espaciado de texto

Law of Optical Volumes: The Math Behind Wired's New Logo




When
the February issue of Wired Magazine debuted with a new logo, we
explained inside the magazine that it “obeys the Law of Optical
Volumes.” We were being coy –many readers went
scurrying to Wikipedia and Google to investigate this curious law, only
to find … nothing.



Here’s the skinny: The Law of Optical Volumes is Wired
creative director Scott Dadich’s term for a typography rule that
governs the spacing of characters within a font. The theory
behind it has been evident on newsstands for years now, thanks in part
to typography guru Jonathan Hoefler, whose firm Hoefler &
Frere-Jones designed Wired’s new typefaces used throughout the
magazine.&nbsp; You can also see Hoefler’s work at typography.com – or in The Wall Street Journal, Esquire and Martha Stewart Living.



And here’s a definition: The Law of Optical Volumes states
that the area between any two letters in a word must be of equal
measure throughout the word, and remain consistent throughout the body
of text.



The Law boils down to the science of kerning.
In typography jargon, kerning is the act of adjusting the space between
two letters to make words and sentences lay out more evenly. For
example in the word “VAST,” there is usually reduced space
between the V and A, and maybe extra space between the S and T.
Otherwise the “VA” would seem too far apart and the
“ST” would seem cramped.



Kerning

In the font example shown below, notice how the size of the yellow
area between each pair of letters in the word “colophon” is
adjusted to be the same.

Lov








jueves, abril 19, 2007

Explicando la GPL

Comentario en /. que explica las motivaciones.



GPL




(Score:3, Informative)


by vga_init (589198) Alter Relationship

on Thursday April 19, @02:21PM (#18801777)


(http://rankandfile.homelinux.net/ | Last Journal: Friday January 23, @03:58PM)





There
are many software licenses to choose one, and everyone should have a
license that does exactly what they want it to do. You don't even have
to pick a preexisting one; write your own with the help of a lawyer (if
you need it).


However, it sounds to me that your intention is to share this
software with others. If you want to share it with just those
individuals you choose, use some different license and have them sign
an nondisclosure agreement or something (ps I am not a lawyer). If your
intention, however, is to share your software with the public at large
and have the community benefit as a whole, then please use the GPL.


The reason why the GPL is important for this purpose is that it makes your community software stay
in the community. Lots of commercial enterprises use the GPL for
reasons like this; they have valuable assets they want to give away (in
the from of source code), but they don't want their competitors using
it to screw them over--they want the world to benefit, and they
themselves might benefit from seeing improvements to their code. That's
the GPL.


If you use the GPL, not only will you be sharing your hard work with
others in a way that you deem appropriate, you are also encouraging
them to share their work with you. Whoever uses your project or
develops it will assume a mutually beneficial role with everyone else
who does the same, including you.


You know how they say...if you love something, set it free? You'd
want to take some steps to ensure that it at least STAYS free, right?


Windows XP en Linux con VMWare

Para futura referencia...

Run Existing Windows Installation on Ubuntu with Vmware Player

Running existing Windows installation on Ubuntu is piece of cake. What you need is Vmware player and 10 minutes of spare time.

miércoles, abril 18, 2007

WinDirStat : ver el espacio ocupado en disco como un Treeview

Free disk space, treeview. Como el Spacemonger, pero más completo y GPL.


http://windirstat.info/

WinDirStat reads the whole directory tree once and then presents it in three useful views:

  • The directory list, which resembles the tree view of the Windows Explorer but is sorted by file/subtree size,
  • The treemap, which shows the whole contents of the directory tree straight away,
  • The extension list, which serves as a legend and shows statistics about the file types.
Setup page 2 Setup page 3
Setup page 4 Setup page 5
Drive Selection Main Window General Options Directory List Options
Treemap Options Cleanup Options

martes, abril 17, 2007

Recursividad

¿De qué sirve tener un blog si no puedes publicar comentarios sobre un artículo de tu blog?



--> pongo esto aquí porque es una referencia importante que no quiero perder:
Designing Interaction, not Interfaces

es un artículo con ideas de alto nivel sobre el diseño de

interacción, y enlaces a otros artículos del mismo tipo.

Incluye una descripción del modelo de programación de interacciones basado en máquinas de estados, no en colas de eventos

Diseñando interacciones

Designing Interaction, not Interfaces es un artículo con ideas de alto nivel sobre el diseño de interacción, y enlaces a otros artículos del mismo tipo. Conceptos a destacar en este artículo:

- vocabulario para describir conceptos abstractos de diseño, aplicados a objetos de la interacción (reificacion, polimorfismo, reuso, currificar...)

- movimiento semántico: "bump map" de movimiento del cursor, va mas lento cerca de un botón importante (equivale a hacerlo más grande y más facil de apuntar)

- La "Arquitectura de interacción" descrita en el artículo es una generalización de mi idea de programar una estructura "while (evento)" (mantener una acción mientras está activo un cuasimodo). Programa las interacciones como objetos (reificadas) que son máquinas de estado. Este estilo de programación es mucho más potente y versátil que los callbacks de sistemas de eventos.