Ver por etiquetas

Ocultación de datos y paso de variables
Published 24/4/2012 11:45 | Rafael Ontivero
Leo en Twitter un par de preguntas más que curiosas sobre dos cosas que se dan por supuestas en el desarrollo orientado a objetos. Aunque una de ellas está formulada al revés, yo aquí le voy a dar el sentido correcto, e intentaré responder, en la medida de mis conocimientos, a ambas. *** La primera de ellas es “¿por qué las variables de una clase no deben ser públicas?” Es una de las primeras cosas que nos enseñan en la POO...
Windows Phone y las petisoperías
Published 12/4/2012 9:45 | Rafael Ontivero
Hay que joderse, que dijo aquél. Este podría ser el resumen de esta entrada. Ahora mismo veréis por qué. *** Estoy empezando a jugar de forma más o menos seria con Windows Phone. Ya cuando salió, el no poder ejecutar código nativo básicamente me hizo pensar que Microsoft había perdido el tiempo y que WP iba a ser un gran y nuevo fracaso de la compañía que había perdido el norte, el sur, el este y el oeste… Pasa el tiempo y pese a todos los intentos de MS, WP no levanta cabeza. Ni cuota de mercado...
C++/CX (II). C++/CX vs WRL
Published 4/11/2011 20:13 | Rafael Ontivero
Bueno, una vez que hemos visto lo que hay dentro del nuevo Windows 8 , y comprobado que WinRT no es un subsistema sino algo por encima de Win32 como es .NET, vamos a contaros las dos formas que hay de programar con C++ para la interfaz Metro. Ya lo he comentado antes, pero voy a repetirlo aquí por mor de claridad. En Windows 8 hay dos escritorios diferentes. Por un lado tenemos el clásico de toda la vida que es prácticamente idéntico al de Windows 7, y por otro el de la interfaz Metro. Si no cambian...
El compilador como servicio
Published 21/10/2011 19:16 | Rafael Ontivero
Me he quedado poco menos que estupefacto con esta entrada del blog de SomaSegar. Y no, no penséis mal, que no es malo. Básicamente viene a decirnos que está disponible la CTP de “Roslyn”, que según entiendo es una extensión -de momento- a Visual Studio 2010 SP1. De hecho nos la podemos bajar y jugar con ella. Comienza diciendo que los compiladores se han venido haciendo en C++ nativo, pero que ya es hora de cambiar y que han rehecho los compiladores de C# y de Visual Basic desde cero en… Visual Basic...
Archivado en: ,,
WinTablet.info: Windows 8 y los Tablet
Published 25/9/2011 11:43 | Rafael Ontivero
Ya sabéis que me gusta meter baza en los nuevos productos de Microsoft más que a un pollo la mierda. No creo que os pille de sorpresa, pero en este caso estamos hablando de caviar Beluga ya que encima tenemos dominio y web propia. Sí, lo que leéis, el RFOG ha sido invitado a participar en un blog de temática exclusiva sobre Windows 8 y su orientación hacia los Tablet. Sin restricción de temática, sin censura y con libertad total de publicar lo que quiera (no, que no se os abran los ojos como platos...
Un caso de fracaso... o dos
Published 4/11/2010 22:28 | Rafael Ontivero
Bueno, esta es otra de esas entradas nada técnicas y personalísimas, en la que voy a contar varias cosas, respoder a las inquietudes que asertus ha comentado en la entrada anterior . Generalmente los casos de éxito se suelen airear a lo grande, a bombo y platillo, con grandes titulares, pero los fracasos se suelen ocultar debajo de la alfombra, y cuanto menos se sepa de ellos, mejor. Pues bien, yo voy a contar aquí un proyecto que ha fracasado, o al menos lo ha hecho según...
Sobre delegados, closures, punteros y la falacia del puntero loco
Published 30/7/2010 12:45 | Rafael Ontivero
Leía esta mañana –mientras se carga una serie de gráficos en mi actual proyecto- el blog de Marino Posadas que, aunque publica poco, publica bien, y me he quedado más que estupefacto con lo que nos ha contado. He de matizar que en ningún momento dudo de la palabra de Marino, y es por eso por lo que me ha llamado tanto la atención de lo que nos ha contado. Antes de seguir aquí lo mejor es que leáis su entrada , y volváis a esta. *** El primer malentendido sobre el texto nos lo ha solucionado el propio...
Uniones en C#
Published 28/4/2010 20:09 | Rafael Ontivero
Hay veces que uno no encuentra lo que busca, y cuando no lo está buscando, lo encuentra. O algo así. El hecho está en que empecé a hacer una pequeña utilidad interna en C# que necesitaba bastantes estructuras y encima con campos repetidos. Eso en C++ es fácil de solventar. Un se crea una jerarquía de estructuras igual que podría hacerlo de clases, y listo. Es decir, si yo necesito tres estructuras diferentes que tengan, por ejemplo, varios campos del mismo nombre y tipo, lo más fácil es crear una...
Archivado en:
Algunos bugs del Compact Framework
Published 21/4/2010 11:51 | Rafael Ontivero
No llevo ni mil líneas de código de un nuevo proyecto embebido en C# y ya me he encontrado con al menos cinco bugs. En su momento abandoné C# para escritorio porque era un juguetito que apenas daba de sí para realizar aplicaciones de sistemas medianamente complejas. El mayor problema estribaba en que como te salieras de lo que los sabios habían determinado, aquello no funcionaba ni para atrás. Cosas que fallaban, muchas. Las más flagrantes eran serios...
Hemos leído: Adam Nathan: Windows Presentatio Foundation Unleashed
Published 31/10/2009 13:25 | Rafael Ontivero
La idea de adelantar casi un año la lectura de este libro respecto a mi plan ha sido la de hacer un programa utilizando WPF, pero al final ha sido peor el remedio que la enfermedad. O dicho de otro modo: pese a ser enormemente potente, pese a soportar temas, pese a contener ideas relativamente nuevas y bien implementadas... no lo voy a hacer con WPF. Simplemente es que no me gusta cómo ha sido expresada dicha potencia. Me han dicho que quizás si leyera el libro equivalente de Petzold lo vería de...
Archivado en: ,
Concurrencia y más concurrencia
Published 13/10/2009 16:33 | Rafael Ontivero
Quienes hayan seguido mi podcast sobre Hilos en .NET se habrán dado cuenta de que la concurrencia bien entendida no es trivial ni de lejos, y eso que yo sólo cubrí los aspectos más básicos y por separado, vistos uno a uno. Quien no lo haya hecho y sienta curiosidad por el tema, puede acceder aquí , registrarse, y bajarse el vídeo y la solución de ejemplo (hay que ir hacia abajo hasta encontrar mi presentación). Herb Sutter es uno de los...
El RFOG da un webcast… sobre hilos en .NET
Published 8/9/2009 19:06 | Rafael Ontivero
Estos de Second Nug están que se salen los tíos. Nada más volver de vacaciones me encuentro un mensaje diciéndome si quiero hacer un Webcast sobre hilos de ejecución. ¡Pero qué has dicho, si yo me apunto a un bombardeo aunque no haya aviones! Así que bueno, acepté, y aquí estamos, recordando el evento. Arriba tenéis el cartel. Si hacéis clic sobre él os llevará a la Web de registro. Para que os hagáis una idea, primero voy a hablar de la teoría (pero sin mucha teoría), luego seguiré comentando aspectos...
Archivado en: ,,,
Interop en C# y C++/CLI. Dos puntos de vista de un mismo concepto.
Published 1/3/2009 21:51 | Rafael Ontivero
El número 57 de la revista dotNetManía (que se corresponde a marzo del corriente) publica mi artículo de título homónimo a esta entrada que, como su nombre indica, repasa ciertas formas de Interop entre C# y una DLL nativa, así como C++/CLI y la misma DLL. Entre otras cosas explico cómo convertir un delegado en un callback nativo para ser pasado a una DLL que los requiera, cómo hacer justo lo contrario, que es usar un callback nativo desde código...
La estructura intraducible, I (de Interop y otras yerbas)
Published 19/12/2008 20:23 | Rafael Ontivero
A veces resulta curioso cómo algo tan sencillo como mapear una estructura de C en .NET se puede convertir en un algo muy cercano a una pesadilla dependiendo del lenguaje que hayamos elegido para realizarlo. Partamos de la siguiente estructura de C: typedef struct { BYTE byOut[4]; // Outputs [0..3] BYTE byAux; // Aux output } usbOutput; A simple vista es algo muy elemental: un array de cuatro bytes y uno más después. Esto en una máquina Intel en realidad termina ocupando 8 bytes, 4 para el primer...
No uses goto, que yo lo usaré (III). Ganador[es]
Published 10/12/2008 12:46 | Rafael Ontivero
Bueno, en la entrada anterior lancé un reto. Al principio estuve tentado de declararlo desierto, ya que todos os habéis centrado en la sentencia swtich , cuya mejor implementación a bajo nivel o bien utiliza gotos a mansalva o bien hace llamadas de tipo call , y muchas veces combinaciones de las mismas (y para ser justos con todos, ni me acordé cuando puse el reto). Pero una relectura del tema hace que no pueda declararlo desierto, ya que las tres entradas en las que se ha puesto algún ejemplo directo...
No uses goto, que yo lo usaré (II). Premio al que lo consiga.
Published 5/11/2008 16:01 | Rafael Ontivero
En mi anterior entrada hablé sobre dos curiosidades que he encontrado utilizando el Reflector. En concreto, la que más sensación ha causado ha sido la del uso de goto dentro de la implementación de un método en la biblioteca de .NET. Ciertamente quiero en primer lugar romper una lanza a favor, si no de esos gotos en concreto, sí de su uso. Con esto no quiero decir que haya que utilizarlo al menos una vez en tus programas, de hecho, la mayoría de los que yo hago no lo usan, pero a veces es, si no...
El RFOG ya no es lo que era...
Published 22/9/2008 21:13 | Rafael Ontivero
Os cuento una histora que me ha ocurrido esta misma tarde. Aparte de emocionarme al ver el nuevo iLiad con pantalla A4 (gracias, Alfredo Novoa) y de pensar que, pese a haber corregido varios defectos (ahora lleva para pasar página en tres de los cuatro lados), supongo que la velocidad leyendo Mobipocket va a ser la misma que con el iLiad, así que paso de momento. Bueno, ya me he ido por los Cerros de Úbeda. En fin, que la historia comienza con el cierre de una aplicación que tengo que montar mañana...
BUG: El bug del bool en interop desde C++ nativo
Published 10/7/2008 11:31 | Rafael Ontivero
Basta que uno plante un circo para que le crezcan los enanos, y como se puede comprobar si uno mira al jardín de la vecina esa que está tan buena, a veces a uno le crecen sin estar bueno ni haber montado la carpa. No sé en qué pensarán estos señores de Microsoft, pero que el bug venga arrastrado desde por lo menos 2002 y no esté solucionado clama al cielo. Pero antes de despotricar –que lo haré-, vamos a ver en qué consiste. Uno tiene una inocente DLL que posee una función que devuelve un valor de...
Archivado en: ,,,
Primer asalto: VB.NET contra C#
Published 5/5/2008 12:05 | Rafael Ontivero
Mañana por la tarde se va a desarrollar un evento por difusión Web que seguro no va a dejar indiferente a nadie, ya que, aparte del tema, dos pesos pesados del desarrollo van a pelearse para dirimir cuál de los dos lenguajes estrella del .NET es el mejor. El que quiera suscribirse al evento, que no es presencial, puede hacerlo aquí . Los integrantes del evento son Guillermo Som, alias El Guille y Marino Posadas , ambos MVP de sus respectivas áreas. Y la batalla promete ser de proporciones épicas...
Singleton con y sin Singleton
Published 3/3/2008 19:20 | Rafael Ontivero
Ahora que están de moda los antipatrones, voy a explicar un patrón que es muy famoso pero que no me gusta absolutamente nada, no por el diseño del mismo, sino por los efectos laterales no deseados que genera. Por ello también voy a explicar otra forma de construirlo que me gusta más, aunque adolece de otras limitaciones. Singleton es un patrón que nos obliga a tener una sola instancia de una clase, es decir, globalmente sólo podremos disponer de un objeto de ese...
Archivado en: ,,,
Más artículos Página siguiente >