Bienvenido(a) a Grupo Linuxero del Bajío lunes, diciembre 17 2018 @ 12:01 CET

Vectorización

  • Autor:
  • Lecturas 1,477
Artículos

En 1966 un profesor de la Universidad de Stanford, Michael J. Flynn propuso una clasificación para la arquitectura de computadoras conocida como la Taxonomía de Flynn [1].

Esta clasificación está basada en el número concurrente de instrucciones y en los flujos de datos disponibles en la arquitectura:

|---------------+--------------------+----------------------|
|               | Single Instruction | Multiple Instruction |
|---------------+--------------------+----------------------|
| Single Data   | SISD               | MISD                 |
| Multiple Data | SIMD               | MIMD                 |
|---------------+--------------------+----------------------|

De manera general los ordenadores personales pueden considerarse como SISD: Single Instruction, Single Data. Estos procesadores solamente pueden hacer una operación sobre un valor a la vez.

Sin embargo, con la llegada del procesamiento multimedia, el mercado de los ordenadores personales comenzó a ejercer presión sobre los fabricantes de chips para proveer de hardware más potente capaz de reproducir audio y vídeo (actividad muy demandante de poder de cómputo), sin afectar la sensación de desempeño en las demás tareas.

Functional Programming

  • Autor:
  • Lecturas 1,367
Artículos Una de las tantas cosas que lamento de mi pobre educación profesional, ha sido que salí de la universidad sin saber qué es la programación funcional [1].

Recuerdo una ocasión que un compañero del tecno y yo llenamos un cuestionario para el proceso de reclutamiento de una empresa. Una pregunta era, más o menos, ¿conoce algún lenguaje de programación funcional? Nos quedamos mirando y dijimos "C y Pascal usan funciones ¿no? Entonces sí". Ay, el mero recuerdo me avergüenza de sobremanera.

Pero lo más lamentable es la situación sigue igual. Varias generaciones han pasado desde que yo me gradué y todas terminan ignorando por completo lenguajes como Lisp, Haskel o Erlang.

Communication skills

  • Autor:
  • Lecturas 1,521
Artículos Recuerdo en mi años en el Tecno de Celaya, discutir saliendo de las pocas
clases no ingenieriles, sobre lo inútil que eran esos tópicos para un
ingeniero. Teníamos la idílica imagen del ingeniero, encerrado en su mundo,
aislado, incomunicado, resolviendo en su mente problemas, optimizando
procesos, innovando productos, y al momento de presentarlos ante la sociedad,
estos generarían aplausos, ovaciones y rostros desencajados por el asombro y
la envidia.

Es más, hace poco, un primo mío que estudia ingeniería mecánica expresaba esto
mismo, quejándose amargamente de su asignatura de redacción.

Pero esta mentalidad sólo la puedo entender y perdonar en un imberbe aspirante
a ingeniero, en un ingenuo rapaz cuya visión del mundo sea únicamente a través
de lo que le han enseñado en escuelas mediocres y padres bienintencionados
pero arrastrando una igual educación: fábulas de héroes míticos.

Llevo un tiempo siguiendo una de las tantas listas de correo del kernel, y me
asombra la cantidad y la calidad de código que se somete a revisión por ese
medio, las apasionadas discusiones que ahí se encienden y las centradas pero
pragmáticas soluciones a las que se llega. Y el kernel es sólo una muestra del
conjunto de productos de alta sofisticación tecnológica.

No, el ingeniero solitario no existe: todo el avance científico/tecnológico
actualmente sólo ocurre en comunidad. Y el trabajo en comunidad exige más
habilidades que la de solamente aplicar la ciencias exactas y esperar a la
inspiración. El quehacer científico/tecnológico demanda, además, habilidades
de comunicación, y no sólo en tu lengua materna, sino también en inglés, al
menos.

El principal problema de las comunidades es la relación señal/ruido (SNR por
su siglas en inglés). La señal es toda aquella información a transmitir, lo
importante, la razón de la comunicación y el ruido es todo aquello que
corrompe a la señal. En una comunidad se espera el desarrollo de un artefacto,
y la discusión está subordinada a este objetivo. Lo esperado es que la
información generada contribuya a la mejora del artefacto en cuestión. Pero
cuando los miembros de esta comunidad no saben expresarse correctamente, no
saben transmitir sus ideas, no son capaces de ensamblar sus pensamientos
dentro del cajón de las palabras, únicamente generan ruido. Y el ruido va en
detrimento del proyecto.

Las habilidades de comunicación no se adquieren por gracia divina, ni son
innatas, requieren cultivarse, implican ejercicio y disciplina. Es necesario
el estudio y el disfrute de la redacción, del aprender otros idiomas, de
interesarse por las etimologías, de escribir mucho y leer muchísimo más.

Transmitir lo que se quiere decir, con las palabras exactas, ni una más y una
menos. Ese es el propósito buscado. Contribuir a la disminución del ruido.

Así que la próxima vez que alguien me diga que no necesita de tópicos de
redacción o humanidades, inmediatamente lo tacharé de mi mente como alguien
con quien merezca la pena colaborar profesionalmente.

Hamster Applet

  • Autor:
  • Lecturas 1,069
Artículos Lord Kelvin decía que "Cuando se puede medir aquello de que se habla y
expresarlo en cifras, se sabe algo de ello; pero cuando no se puede medir,
cuando no se puede expresar numéricamente, el conocimiento que se tiene es de
calidad débil y poco confiable"

¿Cuánto tiempo trabajas realmente? Si te dedicas a resolver problemas
abstractos (como programador por ejemplo) ¿cuánto tiempo realmente te lleva
encontrar un solución? ¿escribir un código? ¿configurar un ambiente de
trabajo?

Si puedes cuantificar estas preguntas, entonces podrás tener información que
te permita o mejorar, o cobrar mejor.

Talachando en ubuntu 9.10

  • Autor:
  • Lecturas 1,104
Artículos

En la red encontré unos artículos interesantes para los que usamos la distro Ubuntu (karmic koala 9.10, la más reciente). Aunque son la para las distribuciones 9.04 y anteriores, muchos funcionan muy bien con sólo cambiar el primer nombre de la distribución.

Quitar la contraseña del anillo de seguridad en el acceso Wifi con Wicd. A quien las cosas por default no le gustan y quiere modificarle este apartado a la distro aqui esta el enlace.

Convertir tu Ubuntu en Vista fácil (visualmente). De plano quien añore sólo la parte visual de Windows Vista, olvidándonos de lo otro, aquí está el enlace

Instalando media player y Codecs Multimedia (Install Mplayer and Multimedia Codecs (libdvdcss2, w32codecs, w64codecs) in Ubuntu 9.04 (Jaunty)). Aunque está en inglés el artículo, es sencillo. Si sigues las instrucciones correctamente. podrás ver la mayoria de los formatos que hay en la red en tu distro Ubuntu.

Reproducir DVD en Ubuntu. Para los que no les gusta ver sus DVDs en GStreamer y desean ver sus películas en Totem, aquí está este enlace.

How To Install Microsoft Office 2007 In Ubuntu 9.0. Y para los que tienen su disco original de Office 2007 profesional y lo extrañan en Ubuntu, pero no desean instalar CrossOver Professional para Linux (este artículo está en inglés).

Espero les sirvan los enlaces a los usuarios de la distribución Ubuntu.

Nota: Para los usuarios novatos que se instalaron Ubuntu y no pueden instalar la nueva actualización de Flash en Firefox (por si entraron a YouTube y no vieron nada), les recuerdo que deben descargar las actualizaciones del sistema (sistema/administracion/gestor de actualizaciones. Presionar instalar actualizaciones). Aunque es muy larga la espera, de más de 1 hora actualmente en conexiones a 1 Mbit/s, el problema estará resuelto y podrán instalarlo en su distro desde Firefox.

epris

  • Autor:
  • Lecturas 972
Artículos

Sin ánimos de comenzar una guerra santa entre los distintos reproductores de audio disponibles, permítanme platicarles de uno que recién me topé: epris.

Soy una persona simple que gusta de las cosas simples y nada más simple que la línea de comandos. Y por eso encontré este proyecto tan atractivo: epris es un servicio D-Bus que reproduce audio utilizando GStreamer. Nada más.

D-Bus es un sistema de mensajería para se puedan comunicar las aplicaciones entre sí de manera simple. Un servicio D-Bus es un proceso activado y controlado por un cliente invocando métodos a través de este sistema.

Los servicios D-Bus deben especificar su interfaz, con la cual, cualquier cliente podrá operar sobre él. En el caso de los reproductores multimedia hay varias interfaces propuestas, entre ellas la más implementada es MPRIS (Media Player Remote Interfacing Specification).

Se presume que la tendencia de los reproductores multimedia es que se vuelvan servicios y que existan diversos clientes, al gusto del usuario, que soliciten los contenidos multimedia al servicio.

Epris es un servicio D-Bus que implementa parte de la especificación MPRIS, escrito en Vala, y que cuenta actualmente con un cliente de línea de comandos llamado epr.

Actualmente el proyecto se encuentra en sus primeras etapas de desarrollo, y siendo honestos batallé bastante para hacerlo funcionar (recordar que debo enviar mis parches a revisión). Sin embargo, la idea en sí es bastante excitante.

Hablando de Open Source

  • Autor:
  • Lecturas 976
Artículos Me encontré con varios artículos interesantes dado a una publicación
que leí del senado y que me pareció interesante compartirlos.

Aquí se los dejo:

Código abierto: Dónde hemos estado y adónde nos dirigimos

El código abierto avanza con decisión en los ámbitos gubernamentales


Espero que pronto en México pueda realizarse algo así, como lo hizo nuestro vecino del norte.

green computing

  • Autor:
  • Lecturas 1,029
Artículos

Hace unos días algunos compañeros de trabajo salimos a comer, y como era de esperarse discutimos sobre tecnología. Sin embargo, en esta ocasión el tema fue algo que me ha dejado pensado y me parece que vale la pena hacer eco de él.

Todo comenzó cuando E. se quejó amargamente de la poca duración de la baterías, argumentando que los que fabricantes de baterías deberían hacer baterías más eficientes. Pero yo me permití disentir de aquel recién llegado común acuerdo: "también los que hacemos software tenemos gran parte culpa del drenado de las baterías", y las miradas de reproche no tardaron en dejarse sentir, aunque después de un momento de vacilación, todos terminaron por asentir.

Y del tema específico del problema de las baterías podríamos extendernos al concepto de Green Computing, que busca un uso ecológico de los recursos de cómputo y que abarca la eficiencia algorítmica, la administración de energía y otros tópicos.

Mi objetivo aquí es hacer eco de este problema que los programadores legos bien pasamos por alto: no quemar ciclos de CPU sin razón y adecuarse a los estándares de la administración de energía. A insistir que el problema de la eficiencia de los sistemas de cómputo no se limita al hardware, y que los que escribimos software tenemos una gran responsabilidad en el problema.

Hay varias utilerías que podemos utilizar para medir el consumo de recursos de cómputo, tal vez el más famoso es powertop. Y cada vez nuevas apuestas por la administración de energía surgen.

El tiempo en que podíamos programar de manera sucia porque al fin y al cabo teníamos gran cantidad de recursos a nuestra disposición se va acabando. Mientras más ubicuos y móviles sea nuestros sistemas de cómputo e información, más atención debemos poner en los problemas de la green computing.

Configuracion de un servidor para vlan en Ubuntu

  • Autor:
  • Lecturas 36,609
Artículos Bueno, no es fácil hablar sobre VLAN. Una VLAN no es otra cosa que una LAN virtual.

Todos sabemos que para configurar una red debe de existir una una entrada y una salida, aunque exista un servidor para las VLAN, deben de existir una entrada y una salida exclusivamente, para eso, se utilizan la misma cantidad de tarjetas de red que la misma cantidad de redes virtuales (VLAN) deben de tener.