Buscar en Mind w/o Soul

martes, diciembre 30, 2008

Functional vs Imperative Programming

In imperative programming, procedures are structured around data transformations. In functional programming, functions are structured around data dependencies.

The tricks you learn to program the imperative way are different to those you use for funtional programming, that's why it's difficult for IP programmers to do the switch to FP. Not because FP is inherently more difficult, but because you lose your expertise and start again as a beginner.

viernes, diciembre 12, 2008

That's the spirit!

Reseñas e instrucciones para este juego.

http://www.worldofspectrum.org/infoseekid.cgi?id=0005222

Search The Tipshop The Tipshop has hints, cheats and/or POKEs for this game!

Magazine references
Magazine Issue Type
SinclairPrograms 8.85 page 10 (News/Note) [full page]
Computer Gamer 9.85 page 66 (Review) [full page]
Crash 9.85 page 26 (Review) [full page]
Sinclair User 9.85 page 22 (Review) [full page]
Crash 10.85 page 78 (Tips) [full page]
Your Spectrum 10.85 page 44 (Review) [full page]
ZX Computing 12.85 page 63 (Review)
MicroHobby 11.85 page 14 (Nuevo) [full page]

Magazine adverts
Magazine Issue Type
Crash 8.85 page 119 (Full-page ad) [full page]
Your Spectrum 8.85 page 2 (Full-page ad) [full page]

miércoles, diciembre 10, 2008

BBDD ultraeficiente para C++


DataDraw - datadraw.sourceforge.net
DataDraw is an ultra-fast persistent database for high performance programs written in C. It's so fast that many programs keep all their data in a DataDraw database, even while being manipulated in inner loops of compute intensive applications. Unlike slow SQL databases, DataDraw databases are compiled, and directly link into your C programs. DataDraw databases are resident in memory, making data manipulation even faster than if they were stored in native C data structures (really). Further, they can automatically support infinite undo/redo, greatly simplifying many applications.

martes, diciembre 09, 2008

Dilbert author's usability problems

Artículo sobre el desastre de borrado de BBDD del autor de Dilbert. O "por qué los pequeños errores de usabilidad producen grandes desastres". También incluye la historia del avión casi estrellado.

The Scott Adams Meltdown: Anatomy of a Disast
The Scott Adams Meltdown: Anatomy of a Disaster

viernes, diciembre 05, 2008

Libro online sobre diseño

[Beta] How do you design?
How do you design?

Hugh Dubberly

* Mar 18, 2005
* 4 Comments
* Download PDF

This book is not finished. We’ve been developing it over the past few years. It began as a manilla folder with copies of different process models. We completed the first “book” version as part of a project undertaken for Elaine Coleman and Sun’s Virtual Center for Innovation. We present this version for educational purposes only. We have obtained no permissions to reproduce any of the models. Copyrights remain with their owners.

lunes, noviembre 17, 2008

Recetas de suflé

o Soufflé, como lo escriben los finos :-)
Uno dulce, otro salado y otro de queso.

Soufflé de Grand Marnier/Coraçao

  • 286 ml de leche [143 ml]
  • Ralladura de ½ de naranja [¼]
  • 14 gr. de harina [7 gr.]
  • 14 gr. de maicena [7 gr.]
  • 14 gr. de mantequilla [7 gr.]
  • 4 yemas de huevo [2]
  • 4 claras de huevo [2]
  • 86 gr. de azúcar [43 gr.]
  • 30 ml. de Grand Marnier o Curaçao [15 ml]
(1) Calentamos la leche, la harina y la maicena batiendo constantemente. Hervimos durante 2 minutos.

(2) Retiramos del fuego, añadimos la mantequilla, el licor, la ralladura y las yemas. Removemos continuamente hasta que espese. Dejamos templar.

(3) Levantamos las claras a punto de nieve añadiendo el azúcar en dos tandas.

(4) Con ayuda de una espátula echamos las claras montadas sobre la masa con cuidado y de forma envolvente.

(5) Engrasamos los moldes con mantequilla, ralladura de naranja y azúcar. Rellenamos los moldes dejando un espacio hasta el borde con el soufflé.

(6) Hornear a 200º en horno precalentado por arriba y abajo durante unos 15-20 minutos o hasta obtener un tono dorado. Al final podemos bajar un poco la temperatura, para que se hagan también por dentro.

Si se bajan, pueden introducirse unos segundos, 5 ó 10, no más, cuidando de que no exploten.
Se toman calientes.



Soufflé de (puré de) patata

Ingredientes
  • 2 yemas de huevo
  • 3 claras
  • 300-350 gr. de patata cocida y pelada
  • Sal
  • 40 gr. de mantequilla derretida
  • 80 ml. de nata para montar
  • 50 gr. de parmesano, Grana Pagano
  • 80 gr. de queso crema
  • Pimienta y nuez moscada
Para el molde
  • Mantequilla, ralladura de naranja y azúcar
(1) Cocinar las patatas en agua con sal durante unos 20 minutos, hasta que estén cocinadas, escurrimos y hacemos un puré, todavía calientes. Añadimos la nata, la mantequilla, las yemas, los quesos, rectificamos la sal, y añadimos pimienta y nuez moscada a gusto.

(2) Preparamos un molde (taza) con mantequilla y espolvoreamos con pan rallado.

(3) Levantamos las claras con un chorrito de aceite hasta que queden bien montadas y echamos de forma envolvente sobre el puré. Una vez mezclado introducimos en los moldes.

(4) Ponemos en el horno al baño María durante unos 25 min. a unos 190ºC. No debemos abrir el horno mientras se hornea para evitar que se baje. Retiramos cuando tenga un tono marrón dorado.

Se toma caliente.

De queso:

souffle

Este soufflé tiene historia. Si quieres leerla, aunque sea hacerme un poco de publicidad (y por qué no voy a hacérmela), pasa por aquí, que es donde la cuento. ;)

Atento a los ingredientes y los tiempos, que son imprescindibles para que salga perfecto.

Necesitamos:
* 100 gramos de queso emmental rallado
* 30 gramos de queso manchego rallado
* 70 gramos de mantequilla
* 40 gramos de harina
* 4 vasitos de leche
* 4 huevos
* una pizca de nuez moscada
* sal
* pimienta

Y lo hacemos así:
Se funden 60 gramos de mantequilla en una cazuela, a la que se agrega la harina y se mezcla bien, con una cuchara de madera, para que no se formen grumos. Cuando esté ligeramente dorada, no dejes que se queme, se incorpora lentamente la leche caliente, sin dejar de remover. Se salpimenta, se aromatiza con nuez moscada recién rallada y se cuece a fuego lento durante unos diez minutos, sin dejar de remover. Ha de quedar una bechamel finísima.
Se retira del fuego y se añade el queso emmental, se mezcla bien y se deja templar.
Se separan las yemas de las claras y se añaden las yemas a la bechamel, que ya no estará caliente, mezclando de nuevo. Las claras se montan a punto de nieve bien firme (puesdes conseguirlo poniendo una pizquita de sal antes de comenzar a batir) y se van añadiendo a la bechamel con queso, con mucho cuidado, poco a poco, con movimientos envolventes para que no se bajen. Este paso es el más delicado, así que procura hacerlo con mucho mimo.
Unta un molde para soufflé con el resto de la mantequilla y espolvoréalo con el queso manchego rallado. Rellénalo con la bechamel que ya está terminada y cuécelo en el horno precalentado a 200º unos treinta minutos; muy importante: no debes abrir el horno durante la cocción.
En cuanto lo apagues, saca el soufflé y sírvelo caliente. Puedes complementarlo con una ensalada.

domingo, noviembre 16, 2008

Receta de migas gachas

screen.width-200){ this.height = Math.round(((screen.width-200)/this.width)*this.height); this.width = (screen.width-200); }" border="0">
Gachas migas

Las gachas migas se hacen (para 2) poniendo en la sartén 150 ml aproximadamente de agua y 100 de cerveza. Cuando empieza a hervir, se echa 250 g de harina, un poco de aceite y la sal, y a darle golpes y moverlas hasta que se vallan separando en bolitas. mientras se fríe el acompañamiento: morcilla, longaniza... yo suelo freir también mucha cebolla, el punto dulzón nos gusta mucho. El aceitillo usado se echa cuando ya van estando casi listas, y se apartan cuando estén hechas (que no esté la masa muy pegajosa al comerla). Mi marido es el que la mueve, cansa mucho.

miércoles, noviembre 12, 2008

Fotos de stock

Stock Photography: Search Royalty Free Images & Photos
iStockphoto is the internet’s original member-generated image and design community. Find your inspiration on the world's leading royalty-free stock destination. Search for over 3 million photographs, vector illustrations, video footage and Flash files. Buy

Welcome to Stock.XCHNG,
the leading FREE stock photo site!

Whether you just want to browse our huge image gallery or want to share your own photos with others, this is the site for you!stock or sell stock — or both.

Design PERSONAs in Gnome

Arquetipos de diseño para el free desktop Gnome:

http://live.gnome.org/GnomeWeb/WebPersonas

There has been a lot of talk over the years of
trying to understand just "who" our users are. Personas are a classic
way of capturing user information.


Describe your Idea/Solution


There are a few personas already created for various projects. This page serves a few purposes:

  • Collect links to existing personas or attempts at creating Gnome personas
  • Documenting ideas for using personas, including how to get buy-in from downstream stakeholders
  • Discussion of challenges to using and creating personas.

Powerpoint - presentaciones y discursos

Presentaciones eficaces y estructura

Rands In Repose: Out Loud
In his autobiography, regarding his stand-up comedy years, Steve Martin writes, “If you don’t dim the lights… the audience won’t laugh.” This subtle, paradoxical observation is the core difference between speeches and presentations. In a presentation, half of the art is figuring out how to create an environment where your audience can actively participate without knowing they are participating. In a speech, the audience may laugh or cry, but they are not required nor encouraged to participate, because, during a speech, the spotlight never leaves the speechmaker.

For a presentation or a speech, you need your audience, otherwise it’s just you in an empty room talking to no one in particular, and we already have a word for that… it’s called writing

sábado, noviembre 08, 2008

HOW TO install cdrecords in Ubuntu Hardy

Instead of cdrkit:

This has been an interesting debugging journey. The cdrkit tools (wodim, et al) on Hardy have bugs that don't show up until later and, in my case, if I hadn't had an XP system to test on, would have resulted in a huge waste of time, energy, money, and good will. And, the bugs have been known for quite some time and have not been addressed in Hardy. I don't trust cdrkit any more. I understand that there are strong personalities involved and licensing subtleties that matter to distribution support. However, for my personal use, I just really couldn't care less about any of that.

Bottom line, I need for the tools to work reliably; cdrkit doesn't, cdrtools does. If there are licensing issues, well, that's what the "free nonfree" good/bad/ugly repositories are all about, right? I'm marginally Linux-competent, enough to get cdrtools working, with your guidance. What about the poor Windows user trying out Ubuntu for the first time?



# Open a terminal window (Konsole in Kubuntu) and enter
# the following commands

# Make sure you're in the home folder
cd ~

# Make a working folder and change to it
mkdir cdrtools
cd cdrtools

# Download latest cdrtools from http://cdrecord.berlios.de/private/linux-dist.html
wget ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-beta.tar.gz

# Unpack
tar xzf cdrtools-beta.tar.gz

# CD to the directory cdrtools is in.
cd cdrtools-2.01.01

# Compile and install
sudo make
sudo make install
sudo make clean

# Files are installed to /opt/schily
# (you may want to change their ownership to root:root)
sudo chown root:root /opt/schily/bin/*

# Move the following files (some will be links) from /usr/bin to a junk folder...
sudo mkdir /opt/schily/replacedfiles
sudo mv /usr/bin/cdrecord /opt/schily/replacedfiles
sudo mv /usr/bin/genisoimage /opt/schily/replacedfiles
sudo mv /usr/bin/mkisofs /opt/schily/replacedfiles
sudo mv /usr/bin/readom /opt/schily/replacedfiles
sudo mv /usr/bin/wodim /opt/schily/replacedfiles

# Create links:
sudo ln -s /opt/schily/bin/cdrecord /usr/bin/cdrecord
sudo ln -s /opt/schily/bin/cdrecord /usr/bin/cdrecord
sudo ln -s /opt/schily/bin/mkisofs /usr/bin/genisoimage
sudo ln -s /opt/schily/bin/mkisofs /usr/bin/mkisofs
# Is the following correct (is readcd a version of readom??)
sudo ln -s /opt/schily/bin/readcd /usr/bin/readom
sudo ln -s /opt/schily/bin/cdrecord /usr/bin/wodim
sudo ln -s /opt/schily/bin/readcd /usr/bin/readcd
sudo ln -s /opt/schily/bin/mkhybrid /usr/bin/mkhybrid
sudo ln -s /opt/schily/bin/cdda2wav /usr/bin/cdda2wav

# Remove working folder
cd ~
sudo rm -r cdrtools

viernes, noviembre 07, 2008

Hoja de cálculo con Python

El sucesor de Excel. Una hoja de cálculo programable con lenguaje Python integrado.

Resolver Systems Ltd
You've reached the limits of what you can do with formulae in your spreadsheet. Until now, the only way to go forward was to use macros and scripting - which never works out well. Using Resolver One, there's a better way - a blend of a spreadsheet interface with the powerful Python programming language, giving you the right tool for complex analysis.

Monad transformers en Haskell

Tutorial de para qué sirven los transformadores de mónadas

A Neighborhood of Infinity: Grok Haskell Monad Transformers
I've tried a few times to read various documents on the web about
Monad Transformers in Haskell. I think that in almost every case the
authors are trying to show how clever they are rather than explaining
their use. If I had just seen the simplest possible examples of Monad
Transformers at work I would have been able to figure out what was going
on and that would have given me enough information to bootstrap myself
into Monad Transforming enlightenment.

So to save other people the trouble I went through I'm providing you
with examples of Monad Transformers at work. I'm not even going to
explain in detail how they work, they're close to self-evident once the
main features are pointed out.



También: plan de estudio para Haskell http://metacircular.wordpress.com/2007/03/05/a-haskell-study-plan/

jueves, noviembre 06, 2008

Interactive Fiction tutorial

Guia para escoger los juegos más interesantes

A Beginner's Guide to Playing Interactive Fiction
This site is a quick start guide, designed to help people who want to try interactive fiction, or as it is also called, text adventures. It is divided up into seven steps, which can all be seen in the table to the left. Reading through all the material on this site takes about 10-20 minutes, and that's all the preparation you'll need before you can start downloading and playing games.

miércoles, octubre 29, 2008

Extensión firefox: Drag & Drop zones - gestos

Gestos mediante menú translúcido

Drag & DropZones :: Firefox Add-ons


Drag & DropZones 1.2.3
by Captain Caveman

Categories

* Search Tools
* Appearance

Get rid of that clumsy context menu, and search the web using up to 64 stylish Drag & DropZones

martes, octubre 28, 2008

The Automation WWW

Information technologies have two sides to their popularity:
- they are novel communication channels
- they allow for automation of repetitive tasks (either simple or complex)

While both have been used since the conception of electricity as a controlling signal, it's the arrival of the World Wide Web in the 90's that has really made clear to the general population the implications of information as a technological product.

The WWW primarily exploits the communication side of ITs, though. It still remains to be seen a similar popular-culture event that equally conveys the implications of the automation possibilities. People typically fail to grasp the impact that a massive mechanization of information tasks can have on society.

The only topics close to popular awareness are email spam and computer viruses/malware, but unfortunately the general population don't understand the inner workings of those phenomena; they only feel their nastiness, but not the reason why they are so prevalent.

When a mechanism appears that allows people to easily take advantage of computer automation, we'll see a second transformation of the Internet in a similar scale of what happened when the Web arrived. "Web 2.0" is on the right path with its focus on widgets and web-apps, but so far the most popular automatisms in this class are those that provide automatic notification to a group of acquaintances in the social relations graph (Facebook, Tweeter).

domingo, septiembre 28, 2008

Convertir juego de caracteres de ficheros

Y Para lanzarlos desde el menú contextual de nautilus: nautilus-actions.

Charset linux ubuntu HOWTO

convmv, konwert, iconv

convmv converts filenames (not file content), directories, and even whole filesystems to a different encoding. This comes in very handy if, for example, one switches from an 8-bit locale to an UTF-8 locale or changes charsets on Samba servers. It has some smart features: it automagically recognises if a file is already UTF-8 encoded (thus partly converted filesystems can be fully moved to UTF-8) and it also takes care of symlinks. Additionally, it is able to convert from normalization form C (UTF-8 NFC) to NFD and vice-versa. This is important for interoperability with Mac OS X, for example, which uses NFD, while Linux and most other Unixes use NFC. Though it's primary written to convert from/to UTF-8 it can also be used with almost any other charset encoding. Convmv can also be used for case conversion from upper to lower case and vice versa with virtually any charset. Note that this is a command line tool which requires at least Perl version 5.8.0.

martes, septiembre 23, 2008

Principios del javascript

Consejos de expertos profesionales
10 Essential Principles of the Javascript Masters - NETTUTS
JavaScript is one of the most widely used languages in web development. It's simple, yet very powerful, and the number of ways that it can be used are almost limitless. That's why it's so important to gather advice from those who have gone before you. Here are 10 tips from well-respected web developers within the JavaScript community.

lunes, septiembre 15, 2008

HOWTO: Memoria virtual en la Nokia Internet Tablet

En la N800 y la N810:

The Swaporific N810 | kdedevelopers.org
I only discovered today that the n810 doesn't have any swap file turned on by default. It has only 128Mb of memory, which is quite easy to fill up. And when you fill up the memory you don't get a 'consumer friendly dialog' telling you that your machine is full. No instead of anything helpful, the machine will behave slowly, erratically and then ultimately crash. And after is has crashed you will often find that it won't boot anymore and you need to restore your root partition from a backup.

miércoles, septiembre 10, 2008

HOWTO crear dinero

Como se crea el dinero | Todos los COMO
Esta pelicula es lo mejor que encontre para entender como se produce el dinero.

Ideal para los alumnos de la escuelas primarias, es muy didactico, ya que explica el funcionamiento de los bancos centrales, el interes, la deuda, y demases temas relacionados con las finanzas.

miércoles, septiembre 03, 2008

Presentaciones de PowerPoint excelentes

Vídeos de cómo hacer buenos .ppt

Presentation Zen: PowerPoint: sometimes you have to laugh to keep from crying

PowerPoint as pure comedy gold
Below are a few examples of presenters using PowerPoint to help illustrate their messages. In each case the tool actually enhanced the presenter's ability to make a connection with the audience and drive their messages home. The first two presentations are by Don McMillan. Don is a former engineer with a Masters degree in Electrical Engineering from Stanford. He gives some good advice on using the PowerPoint tool properly.

lunes, septiembre 01, 2008

Libro sobre creatividad

Problem solving
The Universal Traveler: A Soft ... - Google Book Search
This unique book will open your eyes to effective and stimulating formulas for solving problems. Discover how techniques developed in specialized disciplines can be applied to almost any business, social, or personal situation.
Table of Contents


Comentario en la lista HCI:

I'd like to add to the discussion about solo ideation by framing of it as a dialog with ourselves. We want to get dialog of ideas flowing and keep them flowing. Here are some points of practice that I have found very useful:

1. Set up a defined time for the session. We want to challenge ourselves to think by different rules for a while because we're going to set aside our dominant analytical and critical thinking abilities and open up the wild side of imagination. So we give our critical side the assurance that we're going to play by these rules for only 20 or 30 minutes, then the critical function can come back in.

2. Keep the critical thinking function out of the room during the session. This is another way of thinking about Osborn's "defer judgement" principle, and it's fundamental to this kind of ideation. Without this principle, we end up driving with our foot on the brake. What it means in practice is that we want to entertain not only the wild, weird and improbable, but also the dumb, mundane, copycat, and obvious ideas. Let everything and anything come out. We want flow, and sometimes the best way to start the flow is with the most obvious solutions. Get them out and see what's behind them.

3. Get the ideas into the room. It's hard to have a constructive dialog with ourselves if it all takes place inside our head. Thoughts are ephemeral, and to really respond and build on an idea we need to make it persistent. Write things on postits or whiteboard, or slips of paper on the table, or anything that captures the ephemeral thoughts. Get them out of our head and into the room. This makes way for new thoughts and creates artifacts that we can sort, cluster, combine, etc., to see patterns and relationships, as well as reconsider and reflect on.

4. Be visual. It really helps to make some kind of visual sketch or notation for an idea as we create it. The process is more natural when we're brainstorming about physical objects, but don't be blocked by the notion that "there's no way to represent this idea...." Find a way to put some kind of glyph, scribble or symbol with even the most abstract concepts. The idea here is not to make a graphical explanation of the idea on the spot, because that may really break the flow. We just want to tie something visual to it. When we scan the wall or board or table full of ideas, these little graphical snips give the imagination something else to work with. A sketch or scribble that's tied to a verbal idea also makes individual ideas easier to identify and remember, when faced with a wall of 50-100 postits.

5. Be visual again later. I have found it useful to take a second visualizing pass on the ideas even after the brainstorm session is over. Take some set of the most promising ideas and make a sketch that represents each one. The process of thinking over the idea and trying to come up with a way to diagram or represent it often gives new insight into that idea and spawns other new ideas. Try this as a simple exercise or practice for time or two and see how it affects your overall attitude and results.

domingo, agosto 31, 2008

Estandar ISO para usabilidad

ISO standard for usability of everyday products


Measuring the usability of everyday products

ISO have released a new standard for measuring the usability of every day products, like ticket machines, mobile phones and digital cameras. This standard, ISO 20282, includes test methods for quantifying the usability of consumer products to ensure they meet a pre-defined quality level. This development is exciting because the standard's focus on usability measurement reflects a sea change in the evolving practice of usability. David Travis, June 2, 2008

viernes, agosto 15, 2008

Recomendador wikipedia - Directed Edge Launches Recommender Engine Public Beta!

Recomendador de artículos de la Wikipedia.

It’s an exciting day for us at Directed Edge. Today we’re finally putting our Wikipedia-based technology preview out there for people to play with. Before you click over to it, here’s a little about what you’re looking at.

As our name implies, we’re graph theory nerds. We look at the roughly 60 million links between the 2.5 million English Wikipedia pages, and with a few extra cues from the content, figure out pages related to the current one and put that in a little box in the upper left (as evident from the image on our home page). In some cases, if we’re able to pick out what sort of page it is, we also drop in a second box with just other pages of the same type.

jueves, agosto 14, 2008

3D library to ease refactoring OpenGL drivers

With the controversy over the recent release of OpenGL 3.0, people is debating wether OpenGL is dead or it isn't. In this situation, a new low-level library called Gallium3D promises to ease development of drivers for OpenGL (or any other 3D API) by acting as an efficient middleware between the API and the metal. Gallium3D seems to be gaining traction within the community with talks at several FOSS conferences (e.g. FOSDEM and aKademy).

Videojuego violento para la Wii, padres horrorizados

In an attempt to bring the Wii closer to the hardcore gamers taste, Sega is preparing to release MadWorld, a violent 'hack and slash' game. This has brought attention from family-conscious lobbies: "The decision to release a violent game on a console which has based its reputation on family fun has shocked anti-violence pressure groups. Mediawatch-UK, Britains longest running pressure group campaigning for decency in TV, films and games, said MadWorld will 'spoil' the Wii."
The game features black & white cel-shaded graphics, except for the blood blobs wich are in brilliant red.
MadWorld is announced to be released in early 2009.

Los piratas responden a un desarrollador de videojuegos

Contiene enlaces a demos jugables de sus videojuegos.

Talking To Pirates
A few days ago I posted a simple question on my blog. "Why do people pirate my games?". It was an honest attempt to get real answers to an important question. I submitted the bog entry to slashdot and the penny arcade forums, and from there it made it to arstechnica, then digg, then bnet and probably a few other places. The response was massive. This is what I found

martes, agosto 12, 2008

Wiki + hoja de cálculo

Proyecto para el wiki MoinMoin. Base para un lenguaje de programación basado en flujo de datos.

Wiki + Spreadsheet at Labix Blog
The underlying concept is very simple: spreadsheets are a way to organize text, numbers and formulas into what might be seen as a natively numeric environment: a matrix. So what would happen if we loosed some of the bolts of the numeric-oriented organization, and tried to reuse the same concepts into a more formatting-oriented environment which is naturally collaborative: a wiki.

Framework para browser RIAs

Aplicaciones AJAX, licencia Apache - framework library

IT Mill - Rich Internet Applications
IT Mill Toolkit comes with a large collection of RIA components, suited for all types of applications. Each component is thoroughly tested in real-world applications to ensure high quality.Some of the components included in IT Mill Toolkit

Compilar KDE 4 para la Nokia n800

hack

Getting KDE on an n810. | kdedevelopers.org
Since Nokia will be giving 100 n810 devices tomorrow at the Embedded and Mobile day at Akademy, I thought it would be a good idea to describe a bit how you can get KDE working on your brand-new device. Since it is already quite some weeks ago I first did this, I might be missing some crucial steps, so if you have any questions after reading this/playing with your n810, feel free to ask me, I'll be at Akademy for the entire week. Writing this I've discovered how bad I am at writing any kind of howto/documentation, but hopefully it will still be a bit helpfull, and else you should just ignore it Smiling

lunes, agosto 11, 2008

Ingeniería social - cómo estar sobre aviso

Social engineering warnings. Comentario slashdot comment

Meta Moderation
Some warning signs that you may be subjected to social engineering:
- The person starts using your first name without you having ever met.
- The person refers to an authority figure in a jocular/friendly way, in order to make you draw the conclusion that the authority figure knows and trusts this person.
- They will try to appeal to your vanity. E.g. they may imply that they called YOU because you're so friendly and helpful. Ask yourself whether, if it really was this urgent, they would be calling you instead of those whose job it is to deal with this sort of situation. If you believe for one second that it's because of your demeanor, you're not only stupid but vain too.
- They mention a common foe. "You know how accounting is..." Yeah, everyone knows that accounting are bastards to anyone not in accounting, in every company in every country. That doesn't lend credence to you being on the same side.
- They mention an interest of yours. "I had planned to take my son fishing this weekend, but I guess I'll be working, trying to fix this". Why would they tell that to a stranger? (Especially if you have a sticker saying "BITE MY BASS" on your car.)
- If face to face, the person smiles a lot. Nothing disarms suspicion as easily as a smile.

domingo, agosto 10, 2008

Personas para Basket

Where do personas come from?

Personas should always be based on data collected about users. As Alan Cooper, who developed the concept of personas for software design, formulates it, personas and their goals are not "made up", but they get "discovered as a byproduct of the investigation process. In the case of the BasKet Usability Project, there have been two surveys in which users of BasKet were asked about personal informations, their computer experience and their general computer and BasKet usage habits. These informations were structured and categorized into different groups of users, from which skeletons were formed. Skeletons are lists of distiguishing details for each category of users. They are handy for making a preselection of user groups to design for, prioritizing them and discussing about target groups. Not every skeleton will be develop into a persona, and skeletons may be merged if appropriate. It was not possible to conduct user observations or interview users one-on-one because I simply do not know anyone who is using BasKet for a longer time.

viernes, agosto 08, 2008

Websites as videogames

Diseñar sitios web con estructura de videojuego, centrándose en el flujo de concentración

Your New Excuse to Get an Xbox - Boxes and Arrows: The design behind the design
Attributes of websites vs. video games
Websites Video games
Hand-eye coordination: digital Total body coordination: physical
Usable Learnable, playful, discoverable
One level of difficulty Multiple levels of difficulty
Social content Social interaction
Web development Product development
Wireframes Storyboards
Page Scene
2D 3D
Needs are user-centric: satisfy the user Needs are engendered: satisfy the player
Free Bought
2 to 15 minutes Hours to days
Task, transaction and information Entertainment
Sticky, at best Addictive
Cheap to design and build Expensive to design and build
Superficial customization and personalization Considerable customization and personalization

Design for Emotion and Flow - Boxes and Arrows: The design behind the design
Attention and Flow

The elements associated with the flow state can be classified into the three areas; 1. Causes of Flow 2. Characteristics of Flow 3. Consequences of Flow (Novak, Hoffman and Yung, 1999).

miércoles, agosto 06, 2008

Herramientas OSS para prototipado RAD y usabilidad

Home - Pencil Project
The Pencil Project

The Pencil Project's unique mission is to build a free and opensource tool for making diagrams and GUI prototyping that everyone can use.

Top features:

* Built-in stencils for diagraming and prototyping
* Multi-page document with background page
* On-screen text editing with rich-text supports
* PNG rasterizing
* Undo/redo supports
* Installing user-defined stencils
* Standard drawing operations: aligning, z-ordering, scaling, rotating...
* Cross-platforms
* Adding external objects
* And much more...

Prototype Creator



The sitemap provides an overview of all pages and the linking.

The sitemap provides an overview of all pages and the linking

Universal UNDO in Python scripts

Cómo programar comando Undo en Python

Implementing a Selective Undo Framework in Python
I've implemented in Python the undo algorithm found in ``Undoing Actions in Collaborative Work: Framework and Experience'' by Prakash and Knister [cite PK94]. Their approach helps structure the objects that make up a ``document''. Those same objects are well suited for use in an embedded language like Python: with them you can write scripts that can be undone! I've implemented standard file operations as a simple concrete example of using the framework.

Python PBE/PBD - SMARTedit

Programming by example / demonstration - editor de texto con aprendizaje de tareas. Licencia GPL. Artículo paper original

SMARTedit
SMARTedit is a text editor that lets you program text-editing macros by demonstration. SMARTedit stands for Simple MAcro-Recognition Tool editor.

Macros in ordinary text editors, such as emacs, are difficult to use: they're tricky to get right the first time, hard to debug and visualize, and brittle (they don't always work on new cases).

On the other hand, people faced with repetitive text-editing tasks badly need a way to construct simple programs to automate parts of their work. Yet as soon as the tasks get more complicated than simple search-and-replace, the poor user is faced with learning a programming language such as Visual Basic in order to control the application.

SMARTedit addresses these problems by using robust machine learning technology to allow non-programmers to construct complex text-editing programs without writing a single piece of code, simply by interacting directly with the interface. SMARTedit learns programs in a simple yet expressive programming language with constructs such as "move to the beginning of the string tag" and

PyKDE 4.1 reference

Programar en Python el KDE 4

KDE 4.1 PyKDE API Reference
This is the reference to the KDE API as it appears to Python programs using PyKDE. This is just reference material, additional information about developing KDE applications using Python and the API in general can be found on the Techbase and in the Python section. The reference for PyQt 4 is here.

Google killer

Welcome the Google-killer overlord

I've just been given 20 invites to beta-test True Knowledge, a semantic search engine based on a logic knowledge base. I've been fairly impressed by its ability to utilize user-provided knowledge and its overall good usability, although I've also seen potential for great misdeed by malicious users.

It's mostly a cross between Google and Wikipedia: users provide "facts" about the world, that are stored in a logic format. The interface allows to ask questions that are translated to formal queries over the knowledge expert system, which uses limited reasoning to try and answer the question. This is all quite classic Artificial Intelligence, but the highlights are because of the easiness of use:
  • if the query fails, it reverts to a classic keyword-based search. So the user is almost always given some relevant information.
  • the process to add new facts is (almost) newbie friendly, which is something really hard to achieve in the dry world of AI
  • there is a quality control/assesments of the facts by the users, so that assertions that don't make sense can be voted on and rejected by other users.
If you want to judge it for yourself, drop me a letter or leave a comment and I'll send you an invite on a FIFO basis.

martes, agosto 05, 2008

Iconos del reciclaje

Qué significan los símbolos de reciclaje | CONSUMER EROSKI
No son jeroglíficos ni signos al azar, sino símbolos de reciclaje. Los envases o productos que los llevan nos recuerdan que pueden ser o que han sido reciclados, y nos ofrecen información tan diversa como el tipo de material con que están fabricados, o el lugar concreto donde deben depositarse para su conveniente reciclaje. Gracias a ello, los consumidores pueden concienciarse de la importancia de reciclar, un hábito que ayuda a ahorrar energía, materias primas y en el proceso de recogida y eliminación de basuras.

* Autor: Por ALEX FERNÁNDEZ MUERZA
* Fecha de publicación: 4 de agosto de 2008

lunes, agosto 04, 2008

El directorio de videojuegos definitivo

Buscador de videojuegos clásicos y modernos, con búsqueda facetada - faceted search - y muchos hiperenlaces y géneros.

MobyGames - FAQ - Design Goals and Manifesto
MobyGames is the working name of an extremely ambitious project: To meticulously catalog all relevant information about electronic games (computer, console, and arcade) on a game-by-game basis, and then offer up that information through flexible queries and "data mining". In layman's terms, it's a huge game database.

In addition to documenting much game information for historical posterity, anyone can contribute a rating or a review to voice their opinion about a particular game. Every rating and review in MobyGames was contributed by a real person who plays games just like you do. If a game is rated high or low in MobyGames, it is because the voting public put it there.

What might not be obvious from the above is the concept of a completely cross-referenced database, allowing practically anything you see on-screen to be a link or query to more information. From any game "rap sheet" (a comprehensive summary of that game's information), you can mine further into (and out of) the data.

viernes, agosto 01, 2008

Why Wikipedia is better than Citizendium (or will be, eventually)

Compare this article from Wikipedia about "Benevolent Dictator For Life" with this one from Citizendium. Compare their portraying of the origins of the term. According to Citizendium, it first appeared in Homesteading the Noosphere. Wikipedia does better, and links to Guido van Rossum's explanation of the original mail were it first appeared.

Is it better Wikipedia because a single obscure fact was better sourced in it? No. It's better because it was *much, much easier* to correct and properly source a wrong fact in Wikipedia than in Citizencium. When Guido found his old mail and published it just yesterday, it was easy for me to

Sure, prior to that Wikipedia was stating that the term was taken from some random script from the Monty Pythons,

the Citizendium editor asserted (unsourced) that Homesteading... was the first appearance, which is no better that what the Monty Python fan did at Wikipedia.

The Little Books in Oz

Colección de enlaces a los libros inpsirados en The Little Lisper

The Little Books in Oz | Lambda the Ultimate
My latest postings into this gray area are translations of the remaining Little Books to Oz - consisting of The Little Schemer, The Seasoned Schemer, The Little MLer and A Little Java, A Few Patterns (previous LtU post on The Reasoned Schemer in Oz). The Little Books are the antithesis to recipe books. There's not much code here that can be plugged into a project. The aim is to systematically teach programming thought processes.

jueves, julio 31, 2008

Joshs Whedon's musical online

El blog-karaoke del Doctor Horrible: Película-Vídeo musical de 40 minutos, por el autor de Firefly, Serenity y Buffy Cazavampiros

Hulu Blog Dr. Horrible's Sing-Along Blog
Dr. Horrible's sing-Along Blog is the (true) story of Dr. Horrible (wow, really?), a low-rent super-villain trying to get into the Evil League of Evil, defeat his boorish nemesis, Captain Hammer, and win the girl of his dreams, Penny (or at least talk to her.) It was directed by Joss "me" Whedon, and written by... oh let's not get bogged down in the details. Let's ask the tough questions: Why would you ever watch a musical about a super-villain?

20+ Video Tutorials for Open Source Applications

20+ Video Tutorials for Open Source Applications
There are tons of open source applications out there, from operating systems to word processors to graphics programs and more. But, it’s often hard to find manuals or other documentation beyond what the developers have written (which, while technically correct, doesn’t always cover the nuances of actually using the program). Here are more than 20 video tutorials to get you going with four of the most popular open source programs out there: Gimp, Linux, Open Office, and Nvu.

Which tutorials are most helpful for you?

HOWTO: Instalar VirtualBox

virtualización, hypervisor
con video

http://www.macworld.com/article/134584/2008/07/mwvodcast59.html


miércoles, julio 30, 2008

Engage under Ubuntu

Launcher tipo Mac OS X dock para Linux Gnome

Ubuntu Forums - View Single Post - Engage under Ubuntu
Is it possible to use engage under Ubuntu ?

If yes, what must i do ?
Yes!!!

add this line to apt sources.list:
deb http://j.portalier.free.fr/debian/ testing main

apt-get update && apt-get install engage..........

See this screen...

BIGGER!

Improving Linux font rasterization

Fuentes de linux subpixel rendering
Improving Linux font rasterization? « /home/liquidat
Improving Linux font rasterization

Anti-Grain’s suggestions


Maxim Shemanarev from Anti-Grain now looked into the issue and suggested a set of simple but powerful, not patented methods to improve this situation drastically. He outlines the advantages as follows:


  • You can kern symbols with sub-pixel precision, not worrying about introducing extra blurriness.
  • You can freely scale the text as you want, with 100% guarantee of
    preserving a stable text layout that always fits other graphic elements.
  • You can always be sure that the calculated text width exactly corresponds with what you will see on screen and paper.
  • You can apply fancy vector effects such as “faux bold”
    and “faux italic” being sure the text will not look any
    blurrier.

Seguridad en tarjetas de crédito

Análisis de los contratos

Seguridad de las tarjetas de crédito (Dinero y Derechos nº 106) - Newsletter OCU Informa Contenido Global
Consejos para evitar problemas

• Firme la tarjeta cuando la reciba.

• No lleve encima el número secreto, y tampoco lo apunte en un sitio accesible. Es mejor que lo memorice, aunque debe evitar fechas muy significativas, como su fecha de nacimiento, números del DNI o de teléfono, etc.

• Sea cuidadoso con extractos de cajeros, recibos de compra y otros documentos donde pueda aparecer el número de su tarjeta. Piense que el número y la fecha de caducidad bastan para hacer una compra por teléfono o Internet.

• Si observa algún dispositivo sospechoso en el cajero, no lo use. Evite abrir la puerta para acceder a cajeros situados en el interior del banco, pues ése es un sitio habitual para colocar grabadores de tarjetas. Si quiere usar esa terminal, intente abrir la puerta con otra tarjeta de banda magnética (tarjeta sanitaria, de un club, etc.).

• Cuando use la tarjeta para pagar una compra o servicio, procure no perderla de vista.

• Plantéese la posibilidad de usar medidas de seguridad adicionales, como el envío de SMS al móvil cada vez que se use su tarjeta.

• Si aun así le roban o duplican la tarjeta, avise a la entidad cuanto antes, y confirme la comunicación por escrito, para que quede constancia. Denúncielo también en comisaría. Pida que le devuelvan el importe defraudado y exija los justificantes de todas las operaciones realizadas con la tarjeta: si los resguardos están sin firmar o si la firma es muy diferente, reclame, el banco está obligado a devolverle todas las cantidades defraudadas, incluso las que no superen el límite de responsabilidad. Si se trata de una compra a distancia (por teléfono o Internet), puede exigir que anulen el cargo, pues el titular no es responsable si el medio de pago no se presentó físicamente.

• A veces las pólizas de seguros de hogar cubren el robo o pérdida de tarjetas: compruébelo.

martes, julio 29, 2008

Portal: la precuela

Niveles adicionales para Portal, basados en el juego Flash

Portal: The Flash Version MapPack for Portal
Based on Portal: The Flash Version, our very own Hen Mazolski brings us all the levels and concepts back to the original Portal version, in this huge mappack!

This time, experience Aperture Science from a different perspective, before the time of the original Portal, as a different test subject.

This mappack includes ALL 40 levels from WCS's Flash version, additional bonus levels and features. All together, we've got here over three and a half hours of amazing gameplay.

LaTeX HOWTO

Comentario en slashdot: there are better ways to do LaTeX


Modern LaTeX Replacement?
First of all, you have zero chance of finding anything better than LaTeX for mathematical/scientific typesetting. However, there are ways of solving lots of the problems you mention without chucking LaTeX out the window.

Consultoras de informática

Charcuteras al poder

Empresas Asociadas















Condiciones propuestas en el convenio

JORNADA LABORAL

  • Jornada Máxima Anual a 1.800 horas
  • Vacaciones à 23 días laborables
  • Jornada Intensiva a 1 mes (Agosto). 35 horas semanales con horario continuado

CLASIFICACIÓN PROFESIONAL

  • 40 Categorías, la mayor parte nuevas, con funciones mejor definidas.
  • 7 Áreas de Actividad (Familias) definiendo las actividades recogidas en cada una de ellas.

PROMOCION PROFESIONAL

  • Definición de Carreras automáticas en cada Familia en función de la experiencia.

TABLAS SALARIALES

  • Salarios mínimos más cercanos a los salarios del mercado.

  • Promoción Salarial asociada a la actualización de Tablas Salariales y a la Promoción automática.

  • Nuevo Complemento de Permanencia de 1.375€ una vez finalizada la Promoción Automática.

  • Liquidación de los Trienios actuales en un nuevo Concepto Personal que formará parte del Salario Mínimo Garantizado.


miércoles, julio 23, 2008

Alert boxes are evil

Presentación de diapositivas ppt online sobre el mal uso del alertbox.

Designing Around Dialogs
Designing around Dialogs Ensuring User Interface Flow
Error Dialogs
An application displays an error dialog when:
 An unexpected situation has occurred
 The user has attempted an invalid action



Assumption: Users are pathological beings who,
given the chance, will enter perversely incorrect
information in order to crash an application

martes, julio 22, 2008

Programación concurrente

Artículos sobre paralelismo (estilo bajo nivel, imperativo).

Effective Concurrency: Super Linearity and the Bigger Machine « Sutter’s Mill
here are links to previous Effective Concurrency columns (based on the dates they hit the web, not the magazine print issue dates):
July 2007 The Pillars of Concurrency
August 2007 How Much Scalability Do You Have or Need?
September 2007 Use Critical Sections (Preferably Locks) to Eliminate Races
October 2007 Apply Critical Sections Consistently
November 2007 Avoid Calling Unknown Code While Inside a Critical Section
December 2007 Use Lock Hierarchies to Avoid Deadlock
January 2008 Break Amdahl’s Law!
February 2008 Going Superlinear
March 2008 Super Linearity and the Bigger Machine



















Proyectos de software a precio fijo: mala idea

Dr. Dobb's | Is Fixed-Price Software Development Unethical? | julio 18, 2008
One of the riskiest decisions you can make in software development is to require a "precise" cost and schedule estimate at the beginning of the project. Although there is nothing wrong with fixing just the price, as I wrote in Agile on a Fixed Budget, the situation quickly becomes dysfunctional when you also decide to fix the schedule and the project scope. Although customers often demand to work in this manner, particularly when the system is being built by another organization such as a system integrator (SI), as professionals we must question the ethics of fixed-price IT projects. We know fixed price is a bad idea, our customers inherently know fixed price is a bad idea, and it's high time that as an industry we choose to abandon this highly questionable approach.

lunes, julio 21, 2008

Cómo desactivar el DRM de tu juego (legalmente comprado)

Y evitar bajarse cracks llenos de virus.

Ubisoft Steals 'No-CD Crack' To Fix Rainbow 6: Vegas 2
download mini images (on gamecopyworld.com as "fixed images"). These are disc images for the games, with copy protection intact, that are only a few megabytes large as they only have the crucial bits.

In the very rare cases when Alcohol can't manage a working image, I go to Game Copy World
[gamecopyworld.com] and download the no-CD crack. I don't like doing
that, though, simply because it makes it hard to apply official game
patches.

Teoría y práctica de tipos

Types and Programming Languages
"Over the last two decades type theory has emerged as the central, unifying framework for research in programming languages. But these remarkable advances are not as well-known as they should be. The rapid advance of research on type systems for programming languages has far outpaced its dissemination to the rest of the field. No more. Pierce's book not only provides a comprehensive account of types for programming languages, but it does so in an engagingly elegant and concrete style that places equal emphasis on theoretical foundations and the practical problems of programming. This book will be the definitive reference for many years to come."

Libro de Haskell Online, Creative Commons

Haskell reference book, beta

Monads, GUIs...

Real World Haskell
Real World Haskell (beta)
by Bryan O'Sullivan, Don Stewart, and John Goerzen

Programación reactiva en Python

La programación reactiva se basa en flujos de datos que se actualizan cuando se disparan ciertos eventos. Es un modelo que simplifica conceptualmente el diseño de interfaces. Ver también: http://mindnotsoul.blogspot.com/2008/07/guis-modelo-jerrquico-vs-modelo-de.html


http://en.wikipedia.org/wiki/Reactive_programming

Traits :: Enthought, Inc.
The Traits package is at the center of all development we do at Enthought and has changed the mental model we use for programming in the already extremely efficient Python programming language. We encourage everyone to join us in enjoying the productivity gains from using such a powerful approach.

A trait is a type definition that can be used for normal Python object attributes, giving the attributes some additional characteristics:

* Initialization: A trait has a default value, which is automatically set as the initial value of an attribute before its first use in a program.
* Validation: A trait attribute's type is explicitly declared . The type is evident in the code, and only values that meet a programmer-specified set of criteria (i.e., the trait definition) can be assigned to that attribute. Note that the default value need not meet the criteria defined for assignment of values.
* Delegation: The value of a trait attribute can be contained either in the defining object or in another object delegated to by the trait.
* Notification: Setting the value of a trait attribute can notify other parts of the program that the value has changed.
* Visualization: User interfaces that allow a user to interactively modify the value of a trait attribute can be automatically constructed using the trait's definition.
Python Package Index : Trellis 0.7a2
Whether it's an application server or a desktop application, any sufficiently complex system is event-driven -- and that usually means callbacks.

Unfortunately, explicit callback management is to event-driven programming what explicit memory management is to most other kinds of programming: a tedious hassle and a significant source of unnecessary bugs.

For example, even in a single-threaded program, callbacks can create race conditions, if the callbacks are fired in an unexpected order. If a piece of code can cause callbacks to be fired "in the middle of something", both that code and the callbacks can get confused.

Of course, that's why most GUI libraries and other large event-driven systems usually have some way for you to temporarily block callbacks from happening. This lets you fix or workaround your callback order dependency bugs... at the cost of adding even more tedious callback management. And it still doesn't fix the problem of forgetting to cancel callbacks... or register needed ones in the first place!

The Trellis solves all of these problems by introducing automatic callback
management, in much the same way that Python does automatic memory management.
Instead of worrying about subscribing or "listening" to events and managing
the order of callbacks, you just write rules to compute values. The Trellis
"sees" what values your rules access, and thus knows what rules may need to be
rerun when something changes -- not unlike the operation of a spreadsheet.

LinuxHater: la falacia de las opciones

Demasiadas opciones para elegir, estropean el cocido

Linux Hater's Blog: The fallacy of choice
In other words, ten equal choices with ten roughly equal-sized groups each preferring a different choice. For some limited version of the world, this may be true (for example, existing people who are FOSS users already, fighting amongst themselves). But if you look at the general population at large, I claim a different picture emerges:



GUIs: modelo jerárquico vs modelo de señales

Artículo de MS Research sobre un modelo en Haskell de interfaces basado en señales, tipo hardware VLSI pero funcional:
Genuinely Functional User Interfaces


Modelo de programación de GUIs basado en máquinas de estados jerárquicas (hierarchical state machine):
Facilitating post-WIMP Interaction Programming using the Hierarchical State Machine Toolkit

viernes, julio 18, 2008

Usability patterns

Varios enlaces a páginas con design patterns sobre interfaces

http://designinginterfaces.com/ book

Game Interaction Design Pattern Library: Accessibility
Welcome to the Interaction Design Patterns for Games Library. With this collection we aim to provide game developers with proven solutions to frequent usability and accessibility problems in games.
skippable cutscenes

Interaction Design Patterns -- maintained by Tom Erickson
This page contains information about resources related to pattern languages for interaction design (of which user interface design is a subset), and a few links to more general papers
Usability First: Usability Glossary

Usability Glossary
UI-patterns.com
User Interface Design Patterns

It has long been common practice to use recurring solutions to solve common problems. Such solutions are also called design patterns. Collections of software design patterns are standard reference points for the experienced user interface designer. This website seeks to better the situation for the UI designer, who struggles with the same problems as many other UI designers have struggled with before him.
Yahoo! Design Pattern Library
Welcome to the Yahoo! Design Pattern Library. We're thrilled to be sharing patterns and code with the web design and development community, we hope it's useful, and we look forward to your feedback.

http://quince.infragistics.com/
A Mono Moonlight interface showing related patterns and implementation details

lunes, julio 14, 2008

Encuestas como juegos

Empresa de consultas online que utiliza cuestionarios diseñados como juegos flash para rellenar encuestas, en vez de formularios tradicionales. Este artículo hace una crítica del sitio.

MindCanvas Review - Boxes and Arrows: The design behind the design
Research Methods

MindCanvas describes itself as a remote research tool that uses Game-like Elicitation Methods (GEMs) to gather insights about customer’s thoughts and feelings. It was developed by Uzanto Consulting, a web product strategy firm. When I first learned about MindCanvas, I understood it to be an online card sorting tool. Happily, it’s much more than that.

viernes, julio 11, 2008

Tutorial para ver series en alta definición

Espoiler: Tutorial para ver series en alta definición
Ingredientes:


• 1 televisor moderno adquirido para ver la Eurocopa


• 1 CPU (torre de ordenador)


• 1 termo con café negro fuerte


• 1 cable raro


• 1 sofá-cama en el que se pueda quedar uno a vivir

martes, julio 08, 2008

Jar jar es un genio!

Un pequeño Internet meme.

Darths & Droids
We Googled the sentence: "Jar Jar, you're a genius". Up until today, that short English sentence appeared nowhere on the Internet.

Darths & Droids: Breaking new dimensions in originality.
aafad 48/365 jar jar, you're a genius en Flickr: ¡Intercambio de fotos!
the gungan genius catches up on some light reading ...




jumping on the interweb meme bandwagon as requested at darths & droids

... Antes de que apareciera en D&D, ya existía en Internet

jueves, julio 03, 2008

Portal's coolnes explained (without spoilers)

Este tipo explica por qué el juego Portal es tan cojonudo, pero sin destriparlo.

iKnowWhatImDoing.com: Look at me, still talking when there's science to do
You're not communicating with the voice any more than you communicating with the author of the New York Times Crossword Puzzle.

Except that the voice watches you, and reacts. Like if the NYT puzzle guy was looking over your shoulder and going, "oh, shit, you're using pen?" It IS a relationship, because both characters have attitudes about each other, and those attitudes change and are affected by both parties' actions. It's fairly simple, now that I think about it.

La planta más vieja del mundo

La semilla llevaba siglos enterrada. Encontrada en una excavación arqueológica y hecha germinar con ingeniería biológica.

2.000 años esperando a nacer - Blogs 20minutos: La Crónica Verde


miércoles, julio 02, 2008

Consejos para vender multimedia, a pesar de la piratería

Twenty Sided » Blog Archive » Five Ways to Fight Software Piracy:The Publishers vs. The Pirates, Part 2
So the goal here should not be eliminating piracy, which is absurd and impossible. Instead, work on converting as many of those pirates into customers. Here are five ways to get people to pay for your stuff. Again, these are social changes - this has nothing to do with building a better DRM system. As a bonus, a lot of these things are free.

martes, julio 01, 2008

Eficiencia energética: ¿qué puedo hacer yo?

Fundación Terra - Campañas - Decrecimiento y Sostenibilidad - Contra el cambio climático: YO SOY LA SOLUCIÓN
Los gestos que promovemos con esta campaña son:

-1. Iluminación de bajo consumo. Sustituir bombillas incandescentes y halógenas por bombillas fluorescentes compactas o de LEDS

-2. Aparatos energéticamente eficientes. Adquirir aparatos eléctricos que no derrochen energía, como los denominados energéticamente de Clase A, A+, A++ o que cumplan otros criterios d'salvo como Energy Star, etc.

-3. Recogida selectiva de la basura doméstica. Recoger selectivamente la basura y traer las fracciones como por ejemplo papel, envases o materia orgánica al contenedor correspondiente y el resto de valorizables el Punto Verde y ahorrar energía y contaminación.

-4. Climatización de bajo consumo. Seleccionar el termostato de la climatización en verano para que se mantenga por encima de 26º C y en invierno que no suba por encima de los 20 ºC además de utilizar aparatos de bajo consumo como por ejemplo las bombas de calor tipo inverter.

-5. Ir en bicicleta o transportes colectivos. Para recorridos de menos de 3 km la bicicleta es el sistema de locomoción más eficiente. Los transportes colectivos reducen en 4 veces las emisiones de gases con efecto invernadero.

-6. Conducir eficientemente. Cambiar de marcha por debajo de las 2.500 revoluciones en los vehículos de gasolina y por debajo de las 2.000 en los de gasoil puede ahorrar un 35 % de combustible.

-7. Consumo local. Hoy el 40 % de las emisiones son debidas al transporte de mercancías por todo el mundo. Cada vez que compramos en el barrio o compramos productos producidos localmente (fruta de comarcas vecinas en vez de otros países, carne de aquí en vez de Irlanda o Argentina) ahorramos en emisiones d'efecto invernadero.

-8. Viviendas con aislamiento. Ventanas y puertas pueden aportar pérdidas importantes de climatización sino están bien aisladas. El doble vidrio a las ventanas y l'aislamiento a las cajas de las persianas pueden reducir la factura energética.

lunes, junio 30, 2008

Programar videojuegos en un lenguaje funcional

prog21: Purely Functional Retrogames, Part 1
When I started looking into functional languages in 1998, I had just come off a series of projects writing video games for underpowered hardware: Super Nintendo, SEGA Saturn, early PowerPC-based Macintoshes without any graphics acceleration. My benchmark for usefulness was "Can a programming language be used to write complex, performance intensive video games?"

After working through basic tutorials, and coming to grips with the lack of destructive updates, I started thinking about how to write trivial games, like Pac-Man or Defender, in a purely functional manner. Then I realized that it wasn't performance that was the issue, it was much more fundamental.

I had no idea how to structure the most trivial of games without using destructive updates.

Lista Robinson - proteje tus datos personales

Proteja sus Datos Personales de la Publicidad
La Lista Robinson

¿Está harto de recibir en su buzón infinidad de folletos, cartas, anuncios sobre productos y/o servicios que no le interesan en absoluto? Si éste es su caso, usted puede apuntarse a la llamada Lista Robinson.
Esta lista recoge los nombres y direcciones de todas aquellas personas que no desean recibir publicidad por correo. Adhiriéndose a este sistema, usted dejará de recibir al menos la publicidad de todas las sociedades pertenecientes a la Asociación Española de Marketing Directo (AEMD); actualmente, cerca de 200.
La <> de la Lista Robinson no alcanza, sin embargo, a los impresos sin dirección y depositados en mano en su buzón; las revistas gratuitas; los impresos insertos en revistas o en sus facturas; y la publicidad de empresas no adheridas al servicio.
FECEMD - Federación de Comercio Electrónico y Marketing Directo - Listas Robinson
Servicio Listas Robinson

Es un servicio gestionado por la Federación de Comercio Electrónico y Marketing Directo, con el fin no lucrativo de reforzar las buenas relaciones entre los profesionales del sector y el público en general.

El Servicio de Listas Robinson se enmarca en el ámbito de la publicidad personalizada, es decir, aquella publicidad que recibe un usuario a su nombre y dirección, y está dirigido a consumidores particulares y empresas.

Protección de datos - cómo pedir la exclusión

Agencia Española de Protección de Datos
Derecho de Exclusión



Modelos de ejercicio del derecho de exclusión



Ejercicio del Derecho de Exclusión de la utilización de los datos para fines de publicidad y prospección comercial.


Ejercicio del Derecho de Exclusión en los Repertorios Telefónicos de acceso público.

viernes, junio 27, 2008

Uno que no le gusta el futbol

Libro de Notas: Un tipo que quiere permanecer en el anonimato: "Lo único que mola es cuando se pegan los hinchas"
A pesar de que sus orejas son enormes y me cuesta, pero de qué manera, contener mis ganas de agarrárselas y etcétera, etcétera contra el borde de una mesa, intento razonar con él, si es que algo así es posible. Le hablo de la belleza plástica de ver a los representantes de tu nación humillar con el poder de su hombría y la magia que nace de sus botas en forma de regates a otras naciones enemigas. Le explico lo emotivo que es ver cómo el equipo de tu ciudad remonta un resultado adverso para llevarse a casa una copa. ¡Una copa! ¡Una copa grande! ¡Un copón de mucho cuidado! ¡Con lo pesado que es limpiar el polvo de esas cosas! Le hablo de ese suspiro contenido mientras la pelota surca el aire, gira producto del efecto y toca la red, rozando el palo y haciendo que cientos de miles de personas griten al mismo tiempo. Le digo esas cosas y muchas más hasta que la erección que se inició con mi discurso hace que me
duela la etcétera.
Su respuesta… No me atrevo a… Fue… Dijo que… Me cuesta respirar. Pero
tengo que hacerlo. Lo escribiré… Aunque duela… Y no hablo de la
etcétera… Dijo: “Pues a mí me aburre”.

“A mí me aburre”.

miércoles, junio 25, 2008

The Little Prg'mer

Versiones de "The Little Lisper" para varios lenguajes de programación

The Little MLer
The Little Schemer
The Seasoned Schemer
A Little Java
The Little MLer
How to Design Programs

The Reasoned Schemer

martes, junio 24, 2008

Ubuntu Mobile

TabletBlog.com by ThoughtFix: Ubuntu on Nokia N800 / N810?
We know darn well that Ubuntu Mobile uses a lot of the open source code from Hildon, well developed by Nokia's maemo team. With this latest news, the code can be flowing both ways. Ubuntu Mobile developers may well be working on porting their existing interface to the Nokia Internet Tablets! And why not? It's an interesting interface and has common goals with Nokia. Hop over to this article to see what I have learned of Ubuntu Mobile so far.

El juego de la memoria histórica

Contra el revisionismo.
KAOSENLARED.NET ::: El Juego de la Memoria Histórica.El lanzamiento de este didáctico juego de preguntas y respuestas
se engloba dentro de los actos de homenaje previstos para este
recientemente designado Año de la Memoria. Es
nuestra aportación al merecido reconocimiento de todos los
hombres y mujeres, injustamente relegados al olvido, que a lo largo de
la Historia han luchado por hacer de nuestro país un lugar
libre, justo e igualitario.
En la primera modalidad, "Preguntas de todas las categorías en orden", las preguntas se irán mostrando en el orden establecido en el cuadro que indica la evolución del juego. Aparecerá una pregunta de cada una de las seis categorías y al llegar a la última se volverá a empezar de nuevo por la primera.

En la segunda modalidad, "Preguntas de categoría aleatoria", las preguntas irán apareciendo al azar sin ningún orden establecido.

En la tercera modalidad, "Preguntas de una categoría elegida", todas las preguntas serán de una misma categoría elegida previamente por los jugadores.

Aprovechamos para daros las gracias por la excelente acogida que está teniendo este proyecto de memoria histórica y os animamos a seguir participando enviando sugerencias y proponiendo preguntas

lunes, junio 23, 2008

El iceberg de UI

Metáfora del iceberg en usabilidad

affective design » The User Experience IcebergThe Elements of User Experience
when the User Experience Iceberg is used to add context to the Elements, it illuminates the dark, unknown depths for project stakeholders who are new to UX. Because in the end, the unseen elements of user experience are the parts of the iceberg that will sink your project, while your stakeholders are busy focusing on the “tip”.

You can view the UX Iceberg slides below and download the UX Iceberg slides from Slideshare to add to your UX presentations.

Arquitecturas imposibles

Al estilo de Escher

Las figuras 3-D imposibles de Andreas Aronsson | Microsiervos (Arte y Diseño)
Andreas-Aronsson
Las figuras 3-D imposibles de Andreas Aronsson

Andreas-Aronsson

La colección de figuras imposibles de Andreas Aronsson es interesante por el tipo de perspectiva que utiliza (denominada no-isométrica) lo cual junto con el fondo cuadriculado les da un extraño y curioso toque de «realidad» añadido.

jueves, junio 19, 2008

Mónadas: intuiciones

En programación funcional:
- una Monad es un módulo funcional con estilo Inversion of Control. (Es decir, se pueden construir funciones que usan la mónada como parámetro, y la ejecución de la mónada llama a estas funciones en el orden adecuado).
- el type constructor M es el functor usado para construir expresiones del tipo monádico. (La "declaración" del tipo monádico).
- la unit function transforma un valor normal en un valor del tipo monádico (el "cuerpo" del constructor de tipo monádico).
- el método Bind (>>) de una mónada recibe argumentos, y una continuation. (Es decir, para construir la definición de la mónada tenemos que indicar cómo se combinan las funciones a las que hay que llamar, y para controlar ese flujo utilizamos un estilo de programación con continuations).

Considerando lenguajes como Nombre Verbo: Si en programación orientada a objetos los objetos son nombres (son una abstracción de un dato o conjunto de datos reutilizables), en funcional las mónadas se podrían considerar verbos (son abstracciones de computaciones reutilizables).

Me autocito de la Wikipedia:
Intuitively, the type constructor would correspond to a type declaration, the unit function takes the role of a constructor method in OOP, and the binding operation contains the logic necessary to execute its registered callbacks (the monadic functions).

Formally, a monad is constructed by defining two operations bind and return and a type constructor M that must fulfill several properties to allow the correct composition of monadic functions (i.e. functions that use values from the monad as their arguments). The return operation puts a value from a plain type into a monadic container of type M. The bind operation performs the reverse process, extracting the original value from the container and passing it to the associated next function in the pipeline.