Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Temas - gdl

#1
General / No sé si lo habéis visto... pero deberíais.
20 de Marzo de 2012, 12:09:42 PM
La verdad es que es una buena presentación. Debéis verla.

http://vimeo.com/36579366

#2
General / ¿Cómo mantenerse al día en informática?
12 de Junio de 2009, 12:05:58 PM
Hola a todos.

Hace poco cumplí mis primeros diez años de ingeniero. Nostálgicamente le eché un vistazo a los apuntes de la carrera. Viendo los apuntes de lógica, de procesadores de lenguajes y demás me preguntaba cuáles serían los avances que en estos diez años se habrán producido en los campos que no he tocado desde entonces. Por ejemplo, hablando de procesadores de lenguajes, hace poco descubrí las PEG cosa que no existía en mis tiempos. También me ha gustado mucho el LINQ aunque antiguamente teníamos el SQL incrustado (que me parecía un latazo particularmente). Imagino que como esas habrá miles y no pretendo en ningún caso ser un experto en todas las áreas, pero al menos mantener el contacto con el estado de nuestra profesión hoy en día y saber que existen (aunque luego no las vaya a usar, o sí, nunca se sabe).

Ahora bien, ¿cómo mantenerse al día? Estoy suscrito a tropecientos blogs, pero aún así siempre vuelven a los mismos temas que si el agile y paranoias conceptuales de cómo los demás deberían hacer las cosas, que si he tenido una idea muy buena y te la pongo en el blog, que si las típicas tonterías, etc, etc, etc. Este foro tampoco se dedica a esto precisamente ni otros muchos foros por los que he pasado. Las revistas no me terminan de convencer y las webs de las empresas del sector barren para su casa.

En definitiva, ¿En qué caladeros pescáis vosotros el conocimiento? ¿Alguna web/blog/canales interesantes?

¡Gracias por adelantado a todos!  :D

#3
General / Desaparece la titulación de informática
06 de Noviembre de 2008, 11:26:21 AM
Lo he leído en el Barrapunto y me he quedado cuajado

http://formacion.barrapunto.com/formacion/08/11/05/1947228.shtml

Y encima los títulos antiguos parece ser que no serán homologables.... vamos.... esto es una estafa pagada con tiempo de estudio.
#4
General / ¿Que tal programador eres?
02 de Julio de 2008, 11:09:35 PM
Vi esta tabla en una noticia de pixelame y parece interesante para saber en qué áreas estás más ducho y en cuáles otras te hace falta apretar...

http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm
#5
General / Comprobación de hardware/software
13 de Mayo de 2008, 06:58:33 PM
Hola a todos. Hace tiempo que no posteaba por aquí... y no me traen motivos agradables (ajj.. maldito trabajo).

La cosa es que no sé cómo me ha tocado hacer un informe sobre un programa que parece ser que no hace lo que debería hacer. En vez de ir a machacar al programador (que yo también lo soy y sé lo que cuesta hacer las cosas) me voy a centrar en comprobar que el sistema en el que se ha instalado el programa está en condiciones y, por descarte, llegar a la conclusión de que lo que falla es el programa.

Ahora bien. Son 40 ordenadores por lo que necesitaré algún programa que me haga las cosas automáticamente. ¿Conocéis algún programa que te compruebe si el hardware está bien, que el sistema operativo funciona adecuadamente, que la red está correcta, etc, etc.?
#6
General Audio / Interesante comparativa de resamplers
02 de Enero de 2008, 10:52:00 AM
Es curioso ver lo que ha mejorado el panorama estos últimos años. Se nota que cada vez hay más capacidad de proceso. Aún así, algunos programas tienen una calidad pésima. Os dejo la web que me ha gustado bastante.


http://src.infinitewave.ca/


Hay algunos programas muy conocidos.
#7
Programación de audio / Filtro de interpolación calidad CD
04 de Octubre de 2007, 10:38:12 AM
Hola a todos.

Últimamente estaba metido en el ajo de reproducir sonidos a distintas frecuencias. Esto se consigue modificando la frecuencia de muestreo del sonido que tienes, pero reproduciéndolo a la que tenías antes. El resultado es que el sonido cambia su frecuencia y su longitud.

He estado leyendo cosas sobre esto antes de ponerme manos a la obra y todo me ha ido bien, pero he llegado a un punto que me da a intuir que no es así.

Para empezar, todo esto es pensando en el upsampling (bajar el tono del sonido) de forma que no hace falta usar mipmapping ni técnicas complicadas.

Para intentar obtener calidad CD (16bits) he de dejar el ruido producido por el aliasing (después del filtrado) por debajo del ruido de cuantización. Es decir a -96dB para 16 bits. He conseguido esto usando un filtro FIR simétrico-par (fase lineal) de 31 muestras. El filtro es una sinc enventanada con Kaiser (creo que de beta 6 o por ahí). Ahora bien, leyendo las especificaciones de las Sound Fonts 2 e incluso de otros samplers, veo que sólo se necesitan de guarda 8 samples. Esto es la mitad de lo que necesita el filtro que he hecho (floor(31/2)=15 muestras). Encima los cachondos de SF2 dicen que hay que hacer downsampling de dos octavas. Pero si no consigo hacer ni lo fácil con 8 samples...

¿Alguna idea, información, etc. que me pueda ayudar? Me he recorrido ya internet un montón de veces y no encuentro nada que me desdiga de lo que he hecho.
#8
Programación gráfica / Reciclado de sprites antiguos
06 de Septiembre de 2007, 07:42:39 PM
Siempre que he querido hacer algún jueguecillo me he encontrado con el problema de los recursos. En concreto, los gráficos 2D. Abundan sitios con un montón de material pero, desde mi punto de vista, con una resolución demasiado pequeña para usarlos actualmente.

Pues descubrí hace poco que existen algoritmos, bastante decentes aunque no milagrosos, para aumentar el tamaño de estos gráficos. Lo cuento aquí porque quizás alguien pueda aprovechar esto.



Más información, en la wiki.
#9
Off-topic / Avecrem
22 de Abril de 2006, 01:19:21 PM
 
Avecrem  ;)  
#10
Off-topic / Revelations
20 de Abril de 2005, 12:10:52 PM
 
Curioso lo que se puede hacer en plan amateur.

Revelations

:blink:  
#11
General Programadores / Simulando Agua
19 de Marzo de 2005, 11:01:46 PM
 Vamos a ver si alguien por ahí tiene más imaginación que yo porque esto me está matando. Estoy intentando hacer un simulador planetario con la orografía, la hidrosfera, etc. Hasta ahora he creado las montañas con ruido Perlin que queda muy bien. El problema lo tengo con el agua.

Supongamos que tengo un array lleno de agua ¿vale? De una dimensión para simplificar. Digamos

int agua[32];

Donde cada valor significa la altura que tiene el agua.

Ahora lo que quiero hacer es "equilibrar" el agua usando únicamente elementos adyacentes.

Por ejemplo:

for(int i=0;i<31;++i)
{
 int d=agua[i+1]-agua[i];
 agua[i]+=d/2;
 agua[i+1]-=d/2;
}


El problema es que al usar aritmética entera (desafortunadamente imprescindible) me quedan escaloncitos de uno. Si el array agua fuera

3,4,5,6,7,8,9,10

El valor d es siempre 1 y d/2=0.

Si intentamos (d+1)/2 entonces, falla cuando es descendente.

Una solución aceptable por ahora sería que la diferencia entre el mayor y menor valor sea de 1. Luego complicaremos un poco la cosa poniendo un array de tierra debajo del agua (y deberían quedarse lagunas en las zonas cóncavas de la tierra).

¿Alguna idea? :blink:  
#12
Programación en red / ¿cómo Utilizar Mejor El Api De Red?
29 de Marzo de 2004, 12:55:59 PM
 
Hola, hola...

Que yo sepa hay tres formas de utilizar la red (y más o menos cualquier dispositivo de E/S).

- Síncrono: Cada vez que se quiera algo, hay que esperar a que finalice.
- Asíncrono: Cada vez que se quiera algo, se envía la instrucción y luego ya te responderán. Es el clásico funcionamiento por interrupciones.
- No bloqueante: Cada vez que se quiera algo, no esperamos a que finalice, pero tampoco te notifican el final. Es el típico "polling".

Teniendo en cuenta que esperar es realmente bloquear la hebra en la que estemos, mi pregunta es: ¿qué método es más adecuado cuando el número de conexiones es alto y todas tienen que ser atendidas?

Es el típico caso de un servidor para un juego MMORPG. Tengo, digamos, mil jugadores simultáneos (clientes). Hay que atenderlos a todos, pero si uso un método síncrono necesito una hebra para cada cliente (y muchos SO no aguantan mil hebras, o si lo aguantan, les duele). El método asíncrono no está disponible en todos los API (o quizás sí, la verdad es que tampoco me he empollado tan fondo los sockets, TLIs y otras hierbas). El método no bloqueante es ineficiente, por eso del polling (preguntar cada dos por tres si algo ha llegado).

Como veis, vayamos por donde vayamos, baches nos encontramos.

¿Alguna idea esperanzadora para este alma atormentada? (nooo)  
#13
General Programadores / Haciendo Tu Server Persistente
27 de Febrero de 2004, 02:24:03 PM
 
Hola, hola...

Para llenar esos ratos de aburrimiento ;) estoy haciendo un servidor y su cliente correspondiente para un MMOG. Ahora estoy más centrado en el servidor. Como fácilmente se comprende, si quiero tener un mundo virtual con más de cien usuarios necesito dos cosas (como mínimo porque en verdad son muchíiiiiisimas más)

- Persistencia (Que no se vaya todo al garete cuando el servidor caiga... porque caerá alguna que otra vez o se apagará para mantenimiento)

- Eficiencia (Para poder alejar lo máximo posible el punto de sobrecarga del sistema y permitir tantos usuarios como sea posible)

Estas dos cosas están en cierta forma relacionadas ya que hacer las cosas persistentes implica grabarlas a disco tarde o temprano y el disco es mucho más lento que la memoria.

Aunque tuviera un montón hebras dedicadas a la persistencia, es muy improbable que pudieran seguir el ritmo de cambio del estado del mundo (y mientras creáis que sí, multiplicad por 10 el número de usuarios, enemigos, objetos y demás que hay que mantener actualizado). El disco es un cuello de botella en este caso. Existen muchos métodos para paliar estos problemillas, pero no quisiera tener que ponerme a programarlos si no es estrictamente necesario porque son muy tediosos.

Por otra parte, los sistemas gestores de bases de datos llevan años trabajando en este asunto y parece que lo tienen más o menos solucionado. El problema es que usan unos interfaces muy estrictos con tipos muy definidos (nada de guardar objetos enteros en la BD y mucho menos si tienen punteros o referencias, aunque esto es otro cuento). Habría que 1) serializarlos y guardarlos como datos o 2) grabar sus atributos uno a uno en campos de la BD. Sea como fuere, habría que acceder a la base de datos mediante un socket, una fifo, un stream o similar y eso lleva implícita otra serialización: las de las instrucciones.  (nooo)

Así que mi duda es

¿Creéis vosotros que merece la pena usar una BD (con todo el follón adicional) para llevar el estado de un mundo virtual o es mejor tenerlo en memoria (en forma de objetos C++, variables, etc.) y que el server se encargue de serializarlo (con todo el follón adicional)?

Es decir

¿Qué es más pesado de hacer? ¿El acceso a la base de datos con todos esos bonitos SELECTs y demás o hacerte un mini-gestor de bases de datos para mantener la persistencia de tu mundo virtual?

Gracias por anticipado,

 gdl

PD: Ya sé que la cosa  es un poco ambigua sin dar más datos, por centraros un poco tomad como referencia un servidor de Ultima Online, Tibia, etc.

PPD: También hay que tener en cuenta si se va a usar un script, carga dinámica de objetos, modificación en caliente de los datos, etc. pero ya no tenía ganas de escribir más.





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.