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
Descubrimientos de una inteligencia artificial que supera el test de Turing
On the Internet, everybody knows you're a chatbot.
Buscar en Mind w/o Soul
lunes, abril 30, 2007
Tinta para la impresora HP
domingo, abril 29, 2007
Software product lines
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:
viernes, abril 27, 2007
Prototipos de interaccion web con MS Visio
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
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
endInject 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
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
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
bloom4ever - New Page 1_1 - Site of Everlasting Origami Paper Roses
Renombrar ficheros múltiples
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
Un vistazo a las inmobiliarias: ¿quién es quién en el ladrillo?
lunes, abril 23, 2007
Numeros 900
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
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
> tiene cierta tendencia a dejar que los procesos que están tragando más
> entrada/salida puedan tragar todavia más. En casos extremos si estás
> copiando algo gordo por la red local o ficheros grandes entre discos
> locales te vas al firefox y tarda como un minuto en dejártelo usable
> (aunque no esté en la swap). A mi me va mucho mejor el "cfq" que es el
> que reparte equitativamente los accesos de E/S (gracias gallir por
> decirmelo ;-) y evita que un solo proceso o unos pocos lo acaparen
> 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.
> La solución (que vale para cualquier kernel si tiene compilados
> diversos planificadores de entrada/salida) es pasarle al kernel el
> parámetro "elevator=cfq". Lo suyo en breezy es ponerlo en la entrada
> que más os guste del /boot/grub/menu.lst (por ejemplo la
> #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:
https://help.ubuntu.com/community/RestrictedFormats
- 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.
RestrictedFormats
Ubuntu strives to make all software that meets the licensing terms in the 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. 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.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.
jueves, abril 19, 2007
Explicando la GPL
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
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
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.
| |
martes, abril 17, 2007
Recursividad
--> 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
- 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.
GPL
(Score:3, Informative)
by vga_init (589198)
on Thursday April 19, @02:21PM (#18801777)
(http://rankandfile.homelinux.net/ | Last Journal: Friday January 23, @03:58PM)