<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><atom:link href="https://elguru.blogia.com/feed.xml" rel="self" type="application/rss+xml"/><title>&#xC9;L - GUR&#xDA;</title><description>En este blog pretendo plasmar esas ideas que de vez en cuando se me ocurren y que, la mayor&#xED;a de veces, pienso que pueden cambiar el mundo. Pero que por falta de medios, la mayor&#xED;a de veces, no puedo realizar.&lt;br /&gt;As&#xED; que espero que alguna de estas ideas la lea alguien que la pueda hacer realidad, y que cuando lo haga se acuerde de mi...&#xA1;acepto un dinerito!&lt;br /&gt;&lt;address&gt;escobal@goowy.com&lt;/address&gt;</description><link>https://elguru.blogia.com</link><language>es</language><lastBuildDate>Sun, 10 Dec 2023 12:02:20 +0000</lastBuildDate><generator>Blogia</generator><item><title>Actualizar un DataSet con PrimaryKeys autoincrementales o identidad</title><link>https://elguru.blogia.com/2007/102401-actualizar-un-dataset-con-primarykeys-autoincrementales-o-identidad.php</link><guid isPermaLink="true">https://elguru.blogia.com/2007/102401-actualizar-un-dataset-con-primarykeys-autoincrementales-o-identidad.php</guid><description><![CDATA[<p>Por alguna raz&oacute;n puede que necesitemos recuperar un modelo de datos complejo, con relaciones entre tablas, a un <em>DataSet</em>. Durante todo el tiempo que trabajemos con este <em>DataSet</em> en memoria se pueden producir las tipicas operaciones CRUD (Create, Read, Update, Delete) de forma que los datos contenidos en el <em>DataSet</em> sean completamente diferentes a los que hay en la base de datos. Para la mayor&iacute;a de casos el DataSet se maneja bastante bien a la hora de volcar los resultados de nuevo en base de datos ya que cada fila contenida en cada una de las tablas guardar&aacute; su estado, mediante la enumeraci&oacute;n <a href="http://msdn2.microsoft.com/en-us/library/system.data.datarowstate.aspx" target="_blank" title="DataRowState"><em>DataRowState</em></a>&nbsp;(Added, Deleted, Detached, Modified y Unchanged). </p><p>El "problema" surge cuando tenemos varios <em>DataTable</em> relacionados por columnas identidad o autoincrementales. En este caso mientras no vayamos a base de datos el <em>DataSet</em> asignar&aacute; un valor propio a estas columnas que no tiene nada que ver con el que posteriormente en base de datos... &iquest;y donde surge el "problema"? cuando actualizamos el DataSet contra base de datos nos encontramos con que no solo tiene que hacer las operaciones necesarias CRUD contra la base de datos sino que adem&aacute;s deber&aacute; actualizar los indices de los registros creados y a su vez de las tablas asociadas. Me he referido a problema entre comillas por que tiene una "f&aacute;cil soluci&oacute;n", tambi&eacute;n entre comillas. </p><p>Para que el <em>DataSet</em> se encargue de actualizar los valores de las columnas identidad y las referencias a estas en las tablas asociadas lo &uacute;nico que debemos hacer es asignar a&nbsp;la propiedad <em>UpdateRowSource</em>, del comando que este referenciado&nbsp;en la propiedad <em><a href="http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.insertcommand.aspx" target="_blank" title="InsertCommand">InsertCommand</a></em> del <em>DataAdapter</em>, el valor&nbsp;<a href="http://msdn2.microsoft.com/en-us/library/system.data.updaterowsource(vs.80).aspx" title="UpdateRowSource"><em>UpdateRowSource</em></a>.Both. Y ya est&aacute;: <strong>las columnas se actualizar&aacute;n autom&aacute;ticamente tanto en la tabla afectada como en las tablas relacionadas dentro del DataSet</strong>.</p><p>Pero a&uacute;n nos queda el problema, sin comillas. Se trata de un problema con la forma que tienen de trabajar los <span class="searchword0"><em>DataSet</em></span> en .NET cuando al insertar utilizamos el valor <em>UpdateRowSource.Both</em> en la propiedad <em>UpdatedRowSource</em> del comando que se le pasa al <em>DataAdapter</em>. Esta propiedad hace que al insertar un registro en una tabla con una clave autonum&eacute;rica: la recoja y actualice esta clave por la que conten&iacute;a el registro, dentro del <em>DataTable</em> en el <em><span class="searchword0">DataSet,</span></em> y, a su vez, la de todos las columnas de <em>DataTable</em> que tengan relaciones con esa. <br />El problema surge cuando el identificador devuelto de base de datos es un identificador ya existente dentro del <em>DataTable</em> en el <em><span class="searchword0">DataSet</span></em>. Por ejemplo:&nbsp;<br /><em>&nbsp;</em></p><em>Nosotros recuperamos un conjunto de filas de&nbsp;las tablas A,&nbsp;B y&nbsp;C que estan relacionadas entre s&iacute; y adem&aacute;s con la tabla D&nbsp;y&nbsp;decidimos insertar esos registros de nuevo cambiando&nbsp;el registro de la tabla D con el que estan relacionados. Es decir copiariamos los datos relacionados de un registro en la tabla D para otro.<br />Si&nbsp;los registros que recuperamos de la tabla A tienen los Id&#39;s 100 y 101 de la base de datos, en el <span class="searchword0">DataSet</span> se asignaran tambien estos y el Id para el siguiente registro insertado ser&aacute; 102. <br />Si insertamos otro registro en el DataSet, le asignar&aacute; el Id 102, y al volcar los cambios a base de datos -no hay que olvidar que har&aacute; una inserci&oacute;n ya que lo &uacute;nico que hicimos al recuperar fue leerlos dejando los DataRow con DataRowState.Added-, se asignar&aacute; para el Id 100 en el DataSet el Id 102 en base de datos. Al actualizarse autom&aacute;ticamente el Id del DataSet intentar&aacute; ponerle 102 cosa que nos dar&aacute; una excepci&oacute;n de clave duplicada: por el registro que habiamos insertado</em> <br /><div class="comment searchable"><p>Este problema es un caso muy concreto pero se nos puede reproducir en otras ocasiones como al dar de alta tantos registros m&aacute;s uno como los que contenga la tabla le&iacute;da de base de datos, de esta forma el identificador del &uacute;ltimo elemento de la <em>DataTable</em>, en el <em>DataSet</em>, podr&iacute;a tratarse del identificador que la base de datos otorgu&eacute; al primer elemento insertado en la tabla al volcar los datos del <em>DataSet</em> mediante el m&eacute;todo <em>Update</em> del <em>DataAdapter</em>, con lo cual obtendriamos la citada excepci&oacute;n.</p><p>Una&nbsp;soluci&oacute;n elegida&nbsp;es modificar la semilla de la columna del&nbsp;<em>DataTable, <a href="http://msdn2.microsoft.com/en-us/library/system.data.datacolumn.autoincrementseed.aspx" title="AutoIncrementSeed">AutoIncrementSeed</a>,</em>&nbsp;de forma que buscamos en base de datos el identificador mayor y le sumamos el n&uacute;mero de registros recuperados de base de datos m&aacute;s 1. Para otros casos la soluci&oacute;n tambi&eacute;n ser&iacute;a jugar con la semilla del <em>DataTable.</em><br /></p></div><p></p>]]></description><pubDate>Wed, 24 Oct 2007 14:33:00 +0000</pubDate></item><item><title>Obtener un conjunto de tablas en un DataSet (.NET)</title><link>https://elguru.blogia.com/2007/091201-obtener-un-conjunto-de-tablas-en-un-dataset-net-.php</link><guid isPermaLink="true">https://elguru.blogia.com/2007/091201-obtener-un-conjunto-de-tablas-en-un-dataset-net-.php</guid><description><![CDATA[<p>Si bien un&nbsp;<a href="http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpguide/html/cpconpopulatingdatasetfromdataadapter.asp" target="_blank">DataAdapter</a>&nbsp;crea varias tablas en el DataSet cuando encuentra m&uacute;ltiples conjuntos de resultados -tablas devueltas a una o varias consultas sql-, pueden existir casos en los que nos sea necesario obtener&nbsp;la misma&nbsp;funcionalidad en una consulta que devuelve el conjunto de resultado en el formato XML que devuelven las consultas ejecutadas con FOR XML. Por ejemplo la siguiente consulta SQL:</p><p style="background-color: #c0c0c0">SELECT *<br />FROM [PLPC_Agrupacio]<br />FOR XML RAW, XMLDATA</p><p>Cuyo resultado ser&aacute;:</p><p style="background-color: #c0c0c0">&lt;Schema name="Schema3" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"&gt;<br />&lt;ElementType name="row" content="empty" model="closed"&gt;<br />&lt;AttributeType name="PLPC_AgrupacioId" dt:type="i4" /&gt;<br />&lt;AttributeType name="PLPC_ConvocatoriaId" dt:type="uuid" /&gt;<br />&lt;AttributeType name="PLPC_CodiAgrupacio" dt:type="i4" /&gt;<br />&lt;AttributeType name="PLPC_AgrupacioNom" dt:type="string" /&gt;<br />&lt;attribute type="PLPC_AgrupacioId" /&gt;<br />&lt;attribute type="PLPC_ConvocatoriaId" /&gt;<br />&lt;attribute type="PLPC_CodiAgrupacio" /&gt;<br />&lt;attribute type="PLPC_AgrupacioNom" /&gt;<br />&lt;/ElementType&gt;<br />&lt;/Schema&gt;<br />&lt;row xmlns="x-schema:#Schema3" PLPC_AgrupacioId="40" PLPC_ConvocatoriaId="081F2367-1121-4804-B66A-DAA92A89F3C8" <br />PLPC_CodiAgrupacio="1" PLPC_AgrupacioNom="grup 1" /&gt;<br />&lt;row xmlns="x-schema:#Schema3" PLPC_AgrupacioId="41" PLPC_ConvocatoriaId="081F2367-1121-4804-B66A-DAA92A89F3C8" PLPC_CodiAgrupacio="2" PLPC_AgrupacioNom="grup 2" /&gt;<br />&lt;row xmlns="x-schema:#Schema3" PLPC_AgrupacioId="42" PLPC_ConvocatoriaId="081F2367-1121-4804-B66A-DAA92A89F3C8" PLPC_CodiAgrupacio="3" PLPC_AgrupacioNom="grup 3" /&gt; </p><p>Para ello utilizaremos un DataSet y el m&eacute;todo <a href="http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpref/html/frlrfSystemDataDataSetClassReadXmlTopic6.asp" target="_blank">ReadXml</a> de este. Mediante el parametro mode, que es del tipo&nbsp;<a href="http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpref/html/frlrfsystemdataxmlreadmodeclasstopic.asp" target="_blank">XmlReadMode</a> -una enumeraci&oacute;n-, le indicaremos que utilize el modo&nbsp;<em>ReadSchema</em> que lee cualquier esquema en l&iacute;nea y carga los datos de modo que&nbsp;si el DataSet ya contiene un esquema se&nbsp;agregan&nbsp;las nuevas tablas -se&nbsp;lanza una excepci&oacute;n si cualquier tabla del esquema en l&iacute;nea ya existe en el DataSet.</p><p style="background-color: #c0c0c0">SqlConnection dataBaseConnection = null;<br />SqlCommand dataBaseCommand;<br />SqlDataReader dataBaseReader = null;<br />StringBuilder xmlResult = new StringBuilder();<br />DataSet result = new DataSet ();<br />System.IO.StringReader reader;<br /><br />dataBaseConnection = new SqlConnection(connectionString);<br />dataBaseCommand = new SqlCommand("PLPC_SP_ObtenirAgrupacions", dataBaseConnection);<br />dataBaseCommand.CommandType = CommandType.StoredProcedure;<br />dataBaseCommand.Parameters.Add("@PLPC_ConvocatoriaId", SqlDbType.UniqueIdentifier).Value = convocatoriaId; <br /><br />dataBaseConnection.Open();<br />dataBaseReader = dataBaseCommand.ExecuteReader();xmlResult.Append ("&lt;root&gt;");<br />while (dataBaseReader.Read())<br />{<br />&nbsp;&nbsp;&nbsp; xmlResult.Append (dataBaseReader.GetString(0));<br />}<br /><br />xmlResult.Append ("&lt;/root&gt;");<br />reader = new System.IO.StringReader (xmlResult.ToString());<br />result.ReadXml (reader, XmlReadMode.ReadSchema);<br />dataBaseReader.Close();<br />result.Tables[0].TableName = "PLPC_Agrupacio";<br />dataBaseCommand.CommandText = "PLPC_SP_ObtenirPlans";<br />dataBaseCommand.CommandType = CommandType.StoredProcedure;<br />xmlResult.Remove (0, xmlResult.Length);<br />xmlResult.Append ("&lt;root&gt;");<br /><br />dataBaseReader = dataBaseCommand.ExecuteReader(CommandBehavior.CloseConnection);<br />while (dataBaseReader.Read())<br />{<br />&nbsp;&nbsp;&nbsp; xmlResult.Append (dataBaseReader.GetString(0));<br />}<br />xmlResult.Append ("&lt;/root&gt;");<br />reader = new System.IO.StringReader (xmlResult.ToString());<br />result.ReadXml (reader, XmlReadMode.ReadSchema); <br />dataBaseReader.Close();<br />result.Tables[1].TableName = "PLPC_Pla";<br />result.DataSetName = "Convocatoria";</p><p>Con este metodo es necesario ejecutar varias consultas asi que estoy abierto a metodos mejores.</p><p>No hay que olvidar que las relaciones entre las tablas y las restricciones dentro del DataSet y las deberemos crear mediante c&oacute;digo una vez devuelto el conjunto de resultados.</p>]]></description><pubDate>Wed, 12 Sep 2007 16:33:00 +0000</pubDate></item><item><title>Consultas SQL para modificar el resultado de una columna en base a una condici&#xF3;n (Transact-SQL)</title><link>https://elguru.blogia.com/2007/090601-consultas-sql-para-modificar-el-resultado-de-una-columna-en-base-a-una-condicion-transact-sql-.php</link><guid isPermaLink="true">https://elguru.blogia.com/2007/090601-consultas-sql-para-modificar-el-resultado-de-una-columna-en-base-a-una-condicion-transact-sql-.php</guid><description><![CDATA[<p>Hay veces que tenemos la necesidad de obtener un resultado diferente al de&nbsp;una columna en base a este. Por ejemplo, podriamos necesitar que una columna nos indicase si tiene o no informado valor de una forma m&aacute;s legible indicando &#39;CIERTO&#39; o &#39;FALSO&#39;.</p><p>Para lograr esto utilizamos la funci&oacute;n <a href="http://msdn2.microsoft.com/en-us/library/ms181765.aspx" target="_blank" title="CASE de Transact-SQL">CASE de Transact-SQL</a>:</p><div style="background-color: silver"><p>CASE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN Boolean_expression THEN result_expression <br />&nbsp;&nbsp;&nbsp;&nbsp;[ ...n ] <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ <br />&nbsp;&nbsp;&nbsp;&nbsp;ELSE else_result_expression <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] <br />END</p></div><p>Como ejemplo de uso podriamos utilizar una consulta que indicaque si un contacto dispone de telefono para contactar con &eacute;l:</p><div style="background-color: silver"><p>SELECT FirstName, Lastname,&nbsp;&#39;Has Telephone&nbsp;to Contact&#39; = <br />&nbsp;&nbsp;&nbsp;&nbsp; CASE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHEN TelephoneNumber IS NULL THEN&nbsp;CAST (0 AS BIT)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ELSE&nbsp;CAST (1 AS BIT)<br />&nbsp;&nbsp;&nbsp;&nbsp; END<br /></p></div>]]></description><pubDate>Thu, 06 Sep 2007 11:44:00 +0000</pubDate></item><item><title>Hagamos m&#xE1;s interactivas nuestras ciudades</title><link>https://elguru.blogia.com/2007/012501-hagamos-mas-interactivas-nuestras-ciudades.php</link><guid isPermaLink="true">https://elguru.blogia.com/2007/012501-hagamos-mas-interactivas-nuestras-ciudades.php</guid><description><![CDATA[<p>Hoy en d&iacute;a encontramos a nuestro alcance cantidad de dispositivos que disponen de una conexi&oacute;n <a href="http://es.wikipedia.org/wiki/Wifi" target="_blank">WIFI</a>. Cada vez existen m&aacute;s puntos de conexi&oacute;n en diferentes locales que por el mero hecho de consumir te proporcionan una conexi&oacute;n gratuita a Internet.</p><p>Todo esto es muy interesante pero: &iquest;por qu&eacute; no llevarlo m&aacute;s all&aacute;? &iquest;Nunca os hab&eacute;is encontrado en vuestra ciudad y hab&eacute;is tenido la necesidad de saber donde hab&iacute;a una oficina de correo en los alrededores o un bar de un cierto tipo de m&uacute;sica?</p><p>Seguramente a trav&eacute;s del m&oacute;vil ya se est&aacute;n ofreciendo servicios similares, e incluso con conexi&oacute;n a Internet a trav&eacute;s de cualquiera de las tecnolog&iacute;as que ofrecen conexi&oacute;n inal&aacute;mbrica m&oacute;vil podamos conseguirlo.</p><p>Mi idea es m&aacute;s simple, m&aacute;s econ&oacute;mica para el consumidor final y beneficiosa para el proveedor. Dado mi desconocimiento en profundidad de la tecnolog&iacute;a no se si es factible pero con los constantes avances tecnol&oacute;gicos me extra&ntilde;ar&iacute;a que no fuera posible. &iexcl;Bueno dejo de dar vueltas y al grano!</p><p>Se trata de proporcionar una conexi&oacute;n WIFI a Internet en la calle, por ejemplo el centro de una ciudad. Esto suena algo alocado, pero si yo de colocando un simple router WIFI ADSL en mi casa me puedo conectar desde casa de mi vecino, con uno m&aacute;s potente seguramente pueda cubrir distancias mayores. <br />La idea es simple, el ayuntamiento provee una infraestructura montada de tal forma que solo pueda accederse a una p&aacute;gina Web, del mismo ayuntamiento. Dicha p&aacute;gina Web provee un servicio de callejero y dem&aacute;s servicios relacionados donde podamos encontrar peluquer&iacute;as, restaurantes, bares, monumentos...lo que sea. Pero, claro est&aacute;, para figurar en dicho callejero se debe pagar una cuota mensual haciendo que de esta forma se rentabilice en parte el servicio. As&iacute; de esta forma, y siempre que se pague lo suficiente, el callejero nos puede indicar la mejor calle para llegar un destino antes que otra siempre y cuando los comercios de esa calle est&eacute;n abonados.<br />De esta forma el servicio se autofinancia, los locales obtienen una publicidad y afluencia mayor, la ciudad gana prestigio por innovaci&oacute;n tecnol&oacute;gica y el ciudadano sale ganando con un servicio, que aunque fuertemente cargado de publicidad, le proporciona un valor a&ntilde;adido muy alto.</p><p>&iquest;Veremos esto alg&uacute;n d&iacute;a en alguna ciudad de Espa&ntilde;a? &iquest;O tal vez exista ya en alg&uacute;n lugar del mundo?</p>]]></description><pubDate>Thu, 25 Jan 2007 21:46:00 +0000</pubDate></item><item><title>&#xA1;Muerte al mercado discogr&#xE1;fico actual!</title><link>https://elguru.blogia.com/2006/121201-muerte-al-mercado-discografico-actual-.php</link><guid isPermaLink="true">https://elguru.blogia.com/2006/121201-muerte-al-mercado-discografico-actual-.php</guid><description><![CDATA[<p>&nbsp;</p><p>No pretendo ser incendiario pero creo que hasta el m&aacute;s despistado habr&aacute; notado que cada vez se compran menos discos, menos gente lleva un discman por la calle, se descargan m&aacute;s mp3...vamos que algo ha cambiado respecto al mercado discogr&aacute;fico de toda la vida.</p><p>Y es que todos sabemos que el negocio esta en la red de redes. S&iacute;, ya existen portales desde el cual te descargas las canciones que te gustan y que, incluso, puedes escuchar un pedazo para ver si te gusta y descarg&aacute;rtela. Pero en este caso mi propuesta no va por aqu&iacute;, tal vez sea una propuesta m&aacute;s desacertada de lo habitual, ya que le dar&eacute; la espalda a internet.</p><p>Siempre expongo el tema desde lo que a mi me gustar&iacute;a. El problema del CD o el DVD es el espacio que ocupan. Si todos tuvi&eacute;semos todos los CD&#39;s de la m&uacute;sica que almacenamos en formato MP3 en diferentes medios, seguramente, no cabr&iacute;a nada m&aacute;s en nuestros armarios. Este problema a mi me ha hecho no comprar alg&uacute;n disco viejo y buen&iacute;simo que he visto de saldo...&iquest;donde lo meto? </p><p>Por otro lado yo no tengo un discman, como mucho un reproductor de los incomprendidos cedes de 8 cm. Entonces cuando compro un disco tengo que irme corriendo a mi casa a poder escucharlo en mi ordenador o cadena HI-FI o radio CD o cualquier otro artilugio que te regalen en Telepizza. De nuevo estamos ante un caso en el cual la tecnolog&iacute;a avanza a pasos agigantados y los monstruos empresariales siguen anclados en el siglo XX.</p><p><strong>Demos el paso al siglo XXI</strong></p><p>En este caso mi idea, a mi entender, es minoritaria seguramente, pero creo que con su parte de mercado. Hoy en d&iacute;a triunfa el mp3, a la espera que el formato mp4 se lo meriende -un tanto dif&iacute;cil si tenemos en cuenta lo arraigado que esta mp3 como marca entre la gente. &iquest;Por qu&eacute; seguimos sacando discos normales sin ser mp3? Ya se que hay muchos reproductores que no lo soportan, lo mismo pasaba cuando el DVD sustituyo al VHS.</p><p>Ya tenemos el mp3, pero &iquest;para que necesito un CD de 800 Megabytes de capacidad cuando un disco no ocupar&iacute;a mas de 300 Megabytes en muy buena calidad?&iexcl;Cambiemos el formato! Y ya que lo cambiamos seamos inteligentes y vendamos algo m&aacute;s peque&ntilde;o y que este generalizado: memorias flash. SD/MMC ser&iacute;a un buen ejemplo, ahora mi disco no ocupa apenas espacio y lo puedo conectar directamente en cientos de dispositivos diferentes. Personalmente no creo que hubiera un aumento de costes brutal al utilizar este m&eacute;todo, menos cuando obtengo un producto con valor a&ntilde;adido donde puedo almacenar mis cosas -siempre y cuando se sea tan generoso de permitir utilizar el resto de la memoria para usos propios.</p><p>Pero a mi esta idea no me acaba de gustar, aunque la podr&iacute;amos complementar de cientos de formas y seguir haciendo castillos en el aire. Dado el avance tecnol&oacute;gico que tenemos, la globalizaci&oacute;n y la bajada de costes de producci&oacute;n, unida a la ampliaci&oacute;n del margen de beneficios, creo que ser&iacute;a posible y viable la comercializaci&oacute;n de un disco insertado en la memoria de un reproductor mp3. Este reproductor deber&iacute;a ser lo suficiente simple para que fuera econ&oacute;mico, pero tambi&eacute;n podr&iacute;a estar personalizado para el disco. Este mismo reproductor podr&iacute;a permitir cambiar la tarjeta SD/MMC y escuchar otra m&uacute;sica. Pero lo m&aacute;s importante es que me permitir&iacute;a irme a casa escuchando mi disco una vez hubiera pagado.</p><p>Pero todo esto sigue siendo engorroso, aunque esta bien a la hora de realizar regalos, podr&iacute;amos extendernos con miles de ideas como la posibilidad de descargar directamente el disco en mi reproductor en el propio establecimiento de venta a un precio menor que la edici&oacute;n de "lujo".</p><p>La idea esta clara: el CD a muerto, la venta de discos debe modificarse y darse cuenta que como soporte f&iacute;sico debe proporcionar ediciones de lujo que aporten valor y que debe dar la posibilidad de obtener la m&uacute;sica, a un precio m&aacute;s econ&oacute;mico, mediante descargas por Internet o en el propio establecimiento.</p><p>Este es mi deseo y previsi&oacute;n y espero que alg&uacute;n d&iacute;a se haga realidad.</p>]]></description><pubDate>Tue, 12 Dec 2006 21:21:00 +0000</pubDate></item><item><title>El nuevo Trivial Pursuit</title><link>https://elguru.blogia.com/2006/120501-el-nuevo-trivial-pursuit.php</link><guid isPermaLink="true">https://elguru.blogia.com/2006/120501-el-nuevo-trivial-pursuit.php</guid><description><![CDATA[<p align="justify">Para empezar este blog lo har&eacute; con mi &uacute;ltima ocurrencia o idea sobre el juego de mesa <a href="http://es.wikipedia.org/wiki/Trivial_Pursuit">Trivial Pursuit</a>. Llevo mucho tiempo detr&aacute;s de este juego para comprarlo pero su precio un tanto elevado me hace considerarlo un gasto secundario. </p><p align="justify">Lo interesante es que te encuentras con varias ediciones de este conocido juego de mesa: Star Wars, El se&ntilde;or de los anillos, Disney, Genius Edition... Y varias de ellas adjuntan un DVD, lo cual le proporciona un toque de interactividad. Pero, en pleno siglo XXI, en la sociedad del conocimiento, resulta que toda la interactividad que se les ocurre es un simple DVD &iquest;?. Curioso, cuanto menos.</p><p align="justify">Y aqu&iacute; entra mi opini&oacute;n: &iquest;Como me gustar&iacute;a que fuera el juego ideal?. Lo primero interactivo, el escuchar m&uacute;sica, voces y ver im&aacute;genes le proporciona una ayuda pero no creo que el DVD sea la soluci&oacute;n. Para utilizar el DVD necesito una televisi&oacute;n con un reproductor de DVD&#39;s o un ordenador...&iexcl;por favor! estamos compitiendo con videoconsolas de &uacute;ltima generaci&oacute;n. Otro aspecto de un DVD es que nos limita a un espacio f&iacute;sico y no nos permite disfrutar de nuestro juego en cualquier lugar. Por otro lado tenemos la cl&aacute;sica versi&oacute;n de las tarjetitas de cart&oacute;n que es muy funcional pero un tanto ins&iacute;pida en una sociedad donde PDA, iPod y PSP esta a la orden del d&iacute;a. </p><p align="justify">Yo planteo la creaci&oacute;n de una centralita electr&oacute;nica encargada de realizar las preguntas: no m&aacute;s tarjetas perdidas. Adem&aacute;s de contener las preguntas deber&iacute;a poder hacer funciones multimedia con una pantalla de tama&ntilde;o reducido y unos altavoces. Y no estar&iacute;a mal que pudiera&nbsp;contener un perfil de los usuarios que juegan, de esta forma no&nbsp;les repetir&aacute; preguntas. &iquest;Para qu&eacute; quiero 3.000 preguntas si casi siempre me salen las mismas?&nbsp;&iquest;No hab&eacute;is tenido nunca la sensaci&oacute;n que ese t&iacute;o se sab&iacute;a ya la respuesta de carrerilla&nbsp;de cuantos kil&oacute;metros cuadrados tiene Madagascar? -Son 587.041 kil&oacute;metros cuadrados- Con este sistema lo evitar&iacute;amos en gran medida. <br />Hasta ahora tenemos un sistema funcional por si mismo, existen las bater&iacute;as de litio que son muy baratas as&iacute; que no nos preocupan temas de consumo energ&eacute;tico. Pero estoy aqu&iacute; para so&ntilde;ar y fantasear: &iquest;que tal si pudiese descargar durante&nbsp;1 a&ntilde;o&nbsp;nuevas preguntas desde Internet? Yo creo que esto me acabar&iacute;a de convencer para pagar m&aacute;s dinero por esta edici&oacute;n que por una en DVD o cl&aacute;sica. Por qu&eacute; claro esta que hay que dedicar un tiempo de I+D y una inversi&oacute;n en estas centralitas, que no creo que su producci&oacute;n en masa hiciese que el producto final valiese m&aacute;s de 100&euro;-120&euro;. Yo estar&iacute;a dispuesto a pagar la diferencia&nbsp;por obtener este producto m&aacute;s moderno, m&aacute;s &uacute;til y m&aacute;s duradero, &iquest;por que no poder descargar preguntas previo pago de 20&euro; cuando yo desee? No creo que sea tan mal negocio para el se&ntilde;or Pursuit.</p><p align="justify">Esta es mi aportaci&oacute;n. &iquest;Cuando la veremos en las tiendas?. Recordad la fecha de publicaci&oacute;n de este art&iacute;culo. Hasta pronto.</p>]]></description><pubDate>Tue, 05 Dec 2006 20:52:00 +0000</pubDate></item></channel></rss>
