The Engineering field faces an internal issue. An endemic set of practices that keeps the field from reaching the full potential of many of its most valuable resources and damages its long term viability and evolution.
Sexism is a horrible practice common to many areas of Engineering, and damningly pervasive
]]>The Engineering field faces an internal issue. An endemic set of practices that keeps the field from reaching the full potential of many of its most valuable resources and damages its long term viability and evolution.
Sexism is a horrible practice common to many areas of Engineering, and damningly pervasive on the Information Technologies field where a lot of us work.
As engineers, we must root it out before it compromises the integrity of our entire systems (that is, our practices, inner workings, knowledge transference and resource allocation).
Pretty simple: It actively limits the scope and availability of much needed factors (these being resources, processes and cognitive power) in engineering fields.
Forget for a minute the rightful ethical, moral and basic human rights implications, think of it a simple, sterile boolean algebra / statistical problem.
Let's look at my area of expertise: IT workers are notoriously overworked. We frequently work longer and in more tasks than we should. It erodes the available workforce, just ask around any IT workers if they feel overworked constantly.
Demand keeps increasing for skilled workers, regardless of market pressures or economic downturns, so we need to keep a constant influx of new recruits into these areas to cope with the increased demand.
However, if we introduce artificial limits to adoption, knowledge transfer and resource replenishment we might eventually remove very valuable resources and variation in our internal systems that makes us able to quickly adapt and create efficient solutions.
So, how do we understand that an issue exists? How do we make sure that this is currently happening?
We ask someone whose judgment we trust.
Ask your friends. Ask your coworkers. Ask your interns. Ask your bosses. Talk to people and ask, without any agenda. Just ask and listen to what they have to say.
I used to believe this wasn't much of an issue but when I started getting first hand accounts of blatant sexism I realized: This is ongoing , This is still happening to them.
I have seen quite a lot of debate and extremism in this particular point, and most of it seems to stem from both ends of the issue: those who refuse to acknowledge it and those who believe is a predominant issue (luckily, it still can be excised).
As engineers, we solve problems.
We have a problem, and we must apply the very same engineering practices to solve it.
Perhaps the most common issue I see when the topic is discussed is just being dismissive or show apathy towards it. That is, we try to deny the very existence of this and tend to treat this as small, isolated little incidents rather than a systemic practice.
This is a mistake. A terrible one.
It is a common failure, though luckily, it can be removed and measures taken to avoid it.
Like all failures, it has to be diagnosed, treated and excised. If left unattended, it might progress beyond its initial stage, eventually causing systemic failures.
One of my worst fears is seeing an entire area of human development stagnated (be it professional, practical or theoretical). Its growth stunted, the problems it was designed to solve still existing and affecting the entirety of the species.
I fear this might happen to the entire field of Engineering if this is not addressed.
I fear my field of development can get horribly stagnated and subject to dogmatic artificial supression factors.
Historically, I think medicine during the european dark ages might be an example of this scenario. Disease left unchecked, barbaric treatments, stagnated development of general understanding and a hugely powerful establishment that artificially limited who contributed and what sort of knowledge and practices was incorporated into it.
It wasn't easy to correct these mistakes, and perhaps we still suffer from some stagnation in the Medical field due to this (just ask anybody who has required extensive medical care).
Imagine, if IT had an artificial dark age.
Imagine we believe women can't contribute to some areas just because they're women.
Imagine we believe men can't contribute to some areas just because they're men.
No pioneering, no availability of new resources or even ideas that don't match an expected source. All viewpoints aligned, all resources the same for all practical purposes.
Doesn't it seem irrational?
Doesn't it seem like a really, really bad proposition?
To me, it seems plainly like a mistake, from inception to end.
So how can we solve this issue?
As an engineer, I might not know the full answer, but I can outline what we can do:
We observe. We identify the problems. We propose small systemic solutions that solve a part of the problem. We implement these solutions. We test for the results of these solutions.
We tweak. We improve. We learn and share this knowledge. We keep this going. Again and again.
We do engineering. We solve problems.
]]>Cloudatcost sucks, falling back on Openshift cartridge while restoring to tertiary operations.
]]>Cloudatcost sucks, falling back on Openshift cartridge while restoring to tertiary operations.
]]>Siempre estoy buscando mejorar mis habilidades y aprender algo nuevo, no sólo profesionalmente, también de manera personal. Frecuentemente encuentro temas de los que quiero conocer más y desarrollar más mi capacidad de aplicarlos. Con la internet moderna, hay muchísimos recursos que aprovechar.
Ésta es la parte difícil, ¿Cómo determinamos cuáles
Siempre estoy buscando mejorar mis habilidades y aprender algo nuevo, no sólo profesionalmente, también de manera personal. Frecuentemente encuentro temas de los que quiero conocer más y desarrollar más mi capacidad de aplicarlos. Con la internet moderna, hay muchísimos recursos que aprovechar.
Ésta es la parte difícil, ¿Cómo determinamos cuáles son los recursos educativos más concisos, prácticos y de los que podemos beneficiarnos más?. Invertirle tiempo y esfuerzo a algo no redituable es el temor principal de la autocapacitación.
Encuentro muy útil usar éstos criterios:
Aquí dejo algunos de los recursos más prácticos e interesantes que estoy aprovechando:
DevOps, al igual que Agile, es una corriente de trabajo y desempeño con la que todo profesional moderno de TI debe de estar familiarizado. Conocer la base de conocimiento nos permite aplicar técnicas y procesos a casi todas las áreas de Tecnologías de la Información.
Así que decidí profundizar un poco en el tema y The Linux Foundation ofrece un curso gratuito de DevOps, especializado en los fundamentos y bases de la metodología a través de edX:
https://www.linuxfoundation.org/announcements/linux-foundation-and-edx-announce-new-free-devops-course
El Curso está disponible ahora y hasta el siguiente año. Puedes registrarte en edX y encontrarlo en:
Hay una certificación disponible por si desean adquirirla, pero no es necesario para completar el curso. Muy recomendable.
Google Partners es un programa de Google de capacitación sobre Marketing Online usando los servicios de Google como medio de entrega.
Ofrece cursos y una academia online de los servicios utilizados. Una vez completado y cubriendo los requisitos de uso (que inviertas determinada cantidad mensual en AdWords, por ejemplo) te ofrecen una certificación.
El programa está algo rudimentario para usuarios medio avanzados y con requerimientos no comúnes, sin embargo, es bastante bueno para aprender los fundamentos y casos de uso normales de los servicios de Google.
Estoy trabajando en obtener ésta certificación, entre Proyectos y tiempo disponible.
Pueden encontrar la Online Academy en:
Operations Security es un conjunto de prácticas que tienen como fin elevar el nivel de seguridad de Operaciones y Procesos con el fin de salvaguardar bienes, personas e información.
Es un área muy amplia y especializada en la que he desarrollado un interés gracias a las conferencias de Bruce Schneier. Aparte de las mejores prácticas operativas, busco especializarme en mi área de desarrollo Profesional.
Existe una certificación profesional atractiva: CISSP Certified Information Systems Security Professional. Creo que incluso si no obtenemos la certificación, familiarizarnos con el tema nos hará profesionales más conscientes de cómo tratamos el tema de seguridad en cada una de nuestras áreas.
No se imaginan que tan inseguras son muchas prácticas comúnes hasta que conocemos poco más del tema.
Los recursos más completos que he encontrado para conocer las bases y fundamentos del área están en el área educativa del Departamento de la Defensa de USA:
También estoy revisando algunos libros, pero tendré que completarlos antes de poder sugerirlos.
¿Conocen algún recurso valioso para alguna de éstas áreas?. No dudes en comentar para compartirla.
Trataré de ser agnóstico
]]>He migrado mi estación de trabajo de Ubuntu Mate 14.04 LTS a Fedora 25 Workstation (antes era Fedora 24 MATE Spin) con excelentes resultados en rendimiento y funcionalidad. En el camino tomé notas, las dejo como guía por si resultan de utilidad para alguien más.
Trataré de ser agnóstico en cuanto a uso en general, así que deben de servirte independientemente del papel que desempeñe Fedora para el usuario. No depende de ambientes de escritorio ni te voy a decir como instalar un montón de programas que quizás no requieres, eso lo veré en las siguientes partes del artículo.
A partir de ésta versión ha habido ciertos cambios en la tecnología de la infraestructura gráfica, cambiando el servidor X.org tradicional por Wayland. Aunque es estable para su uso en general, aún no lo recomiendo como opción por default todavía.
Particularmente, en el modo multi-monitor frecuentemente pueden encontrar problemas como sesiones en blanco, artefactos en video y lockups en el sistema.
Puedes probarlo, en la mayoría de los casos es lo suficientemente estable para usarlo, pero siempre tienes la opción de regresar a X.org en caso de que lo requieras.
Los usuarios de FGLRX o los nuevos drivers privados como Crimson no tendrán soporte de los drivers para las versiones de Xorg y el kernel que incluyen distros como Fedora o Ubuntu recientes.
La recomendación es seleccionar distribuciones basadas en el Kernel 3.6 todavía (todas las derivadas de ubuntu 14.04 son buenos candidatos). Aparte de algunos programas que no se pueden actualizar no afectará mucho tu experiencia como usuario.
Para facilitar la actualización o cambio de distribuciones de linux recomiendo mantener una partición separada con el directorio /home. En caso de requerir un cambio o reinstalación, éstas pueden realizarse fácilmente sin formatear la partición, evitando que se requiera copia de datos de respaldo externo.
Asegúrense de darle amplio espacio a la partición y seleccionar un buen punto en el esquema de particiones (en medio o al final dependiendo de tu geometría de particiones).
Es muy importante que estés preparado en caso que de vayas a usar Windows en un sistema de dual boot coexistiendo con Fedora.
Revisa las opciones de UEFI/BIOS en tu equipo y asegúrate de instalar tu sistema en el orden correcto (primero Windows -> redimensionado de disco desde Windows -> Luego instalación de Linux). No tengo un equipo con UEFI activo así que no requerí tomar muchas precauciones.
xfs es el sistema de archivos recomendado. Grub ya puede bootear desde particiones / con xfs así que pueden seleccionarlo como el sistema de archivos de todo el sistema. En mi opinión es excelente en rendimiento y robustez (sobrevive problemas de disco sin mucho problema), así que te recomiendo que lo pruebes si haces una instalación nueva.
En caso de que utilices alguna distro adicional o requieras accesar las particiones desde Windows es más recomendable mantener el sistema de archivos ext4. Aunque tiene un menor rendimiento en algunas cargas de trabajo es ampliamente compatible entre distros, discos de rescate e interoperabilidad entre sistemas operativos. Con FreeBSD, por ejemplo, no pude leer los datos de la partición XFS.
Puedes familiarizarte con la instalación leyendo la documentación oficial: https://docs.fedoraproject.org/en-US/Fedora/25/html/Installation_Guide/index.html
Para mayor flexibilidad en la instalación recomiendo descargar el netinstall en vez del ISO de default o sus diferentes spins. Lo único que cambia es que requerirás acceso a la Internet durante la instalación para descargar tus paquetes.
Por ejemplo, el netinstall te permitirá instalar casi cualquier ambiente de escritorio, incluso aquellos que no tienen disponible un spin como LXQT.
Descárgalo del sitio oficial: https://alt.fedoraproject.org/.
PROTIP:Puedes configurar DNS alternativos en tu conexión desde el menú de instalación al dar de alta una nueva.
PROTIP: No descargues todos los grupos de paquetes desde la instalación, es más fácil instalar una base, actualizarla y luego descargar todo lo que necesites desde un sistema activo.
Un caveat, si la hora del sistema cambia entre reiniciadas en Windows y Linux asegúrate de configurar Windows en el mismo esquema que tienen configurado Linux (si usas Network time activo o UTC que quede igual en ambos sistemas).
Antes que nada, habilitamos la funcionalidad fastestmirror de DNF para asegurar descargas más veloces y eficientes.
Edita el archivo /etc/dnf/dnf.conf y agrega al final:
fastestmirror=true
A partir de ahora, todas las operaciones de manejo de paquetes con DNF usarán el mirror más rápido, lo que te dará como resultado operaciones más rápidas al descargar paquetes.
Ahora puedes correr una actualización del sistema con DNF update. Recomiendo reiniciar el sistema para correr el kernel y los parches de seguridad más recientes antes de proseguir.
dnf update
Utiliza el comando Groupinstall de Development Tools para tener la base mínima requerida para compilar programas.
dnf group install "Development Tools"
Para crear tus propios paquetes (o utilizar paquetes que los autogenerarán por ti) requerirás el paquete de herramientas de RPM. Frecuentemente también requerirás la cadena de desarrollo de C y C++.
dnf group install "C Development Tools and Libraries"
dnf group install "RPM Development Tools"
LSB
Linux Standards Base provee una base de compatibilidad para aplicaciones y librerías entre diferentes versiones, y es un requisito de varios programas como Google Chrome. Instálalo usando el comando:
dnf install redhat-lsb
Agregar el repo de RPM Fusion para variedad más amplia de software. RPM Fusion provee una enorme cantidad de paquetes de software, generalmente basta instalar éste repositorio para la mayoría de los usuarios de escritorio.
La manera más simple de instalarlo es con el siguiente comando:
su -c 'dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'
No olvides correr dnf update después de instalar los repos
Agregar y habilitar el subsistema TLP si el equipo es una laptop para usar más eficientemente la batería y reducir la temperatura promedio del sistema.
dnf install tlp
Una vez instalado, es requisito iniciarlo y configurar su inicio al arranque del sistema:
sudo systemctl start tlp
sudo systemctl enable tlp.service
Puedes checar detalles y estadísticas del sistema con tlp-stat:
tlp-stat –-battery
Es muy importante revisar la seguridad general de un sistema desde su primer uso. Aparte de las recomendaciones estándar de Linux (contraseñas seguras, particiones encriptadas, cuentas limitadas) hay algunos fedorismos adicionales que mejoran un poco el nivel de seguridad.
Personalmente, uso una solución simple para bloquear anuncios excesivos y conexiones entrantes y salientes
a dominios conocidos de malware. Uso un archivo de hosts
modificado.
Hay varios archivos de hosts disponibles en la red, puedes checar alguno como el de mvps para empezar.
Copia de seguridad
cp -v /etc/hosts /root/hosts.bak
Reemplazamos el archivo de hosts del sistema por uno nuevo, modificando el encabezado para mantener la sintaxis preferida de hosts de fedora (la parte de 127.0.0.1 con localhost).
Reemplazo:
cp -v hosts-nuevo /etc/hosts
En ocasiones puede evitar que veas algunas páginas que consideras "legítimas" (de pirateria de software y sitios para adultos generalmente), así que no todos lo usan por ese motivo.
Editar parámetros de conexión para utilizar DNS más seguros y rápidos en NetworkManager. Pueden utilizar el método de edición en archivos de /etc para habilitar el cambio de modo permanente, aunque también puedes copiarlos y pegarlos en las propiedades de conexión del Network Manager.
Tuve algo de comportamiento raro usando los DNS de default de mi proveedor de Internet (Telmex), ocasionalmente tardaban en refrescarse las páginas o apuntaban a ips equivocadas. Probé los de Verisign y OpenDNS exitósamente.
Las direcciones de servidores DNS adicionales son:
64.6.64.6, 64.6.65.6, 208.67.222.222, 208.67.220.220
Si requieres direcciones IPv6 puedes encontrarlas desde las páginas de los proveedores (con mi envidia de que estés en un lugar donde pueden usar IPv6).
Yo evito usar Google DNS para no darle toda la información privada de mis hábitos cochinos a Google. Google además tiene un historial de salvar tus datos para proveerselo a autoridades o usarlo con fines "internos" no especificados.
Estoy probando DNS Crypt, así que probablemente vean un artículo de cómo usarlo luego.
Fedora utiliza firewalld, así que pueden tomar ventaja de todo el trabajo hecho en vez de configurar su script de iptables tradicional. Sólo seleccionen su zona por conexión y los servicios que deseen habilitar. Pueden cambiar los puertos de algunos servicios que utilicen para prevenir ataques automatizados (por ejemplo, no usen SSH en el puerto 22 ni Apache/Nginx en el puerto 80). Los comandos base son:
firewall-cmd --state
firewall-cmd --get-zones
firewall-cmd --set-default-zone=$zone
Revisa la documentación de Firewalld en https://fedoraproject.org/wiki/Firewalld para que elijas tu zona, servicios permitidos y reglas de conexión que se adaptan más a ti.
Me gusta tener un antivirus debido al contacto constante con archivos que comparto con gente que trabaja en Windows / macOS. Nunca está de más.
dnf install clamav
Una vez instalado, no olviden editar clamav.conf y editar freshclam en cron.daily para tener actualizaciones automáticas.
Linux malware detect no está disponible como paquete en Fedora, tendrás que descargar el código, compilarlo e instalarlo (es bastante fácil siguiendo el archivo INSTALL). No olvides configurar esmtp en /root/.esmtprc, hay un bug en selinux que lanza errores y notificaciones de selinux.
Tuned es un daemon que corre en el fondo de la computadora, cambiando los parámetros de configuración de áreas del kernel y sistema para adaptar el rendimiento al perfil seleccionado. Ofrece varios perfiles optimizados para diferentes casos de uso, como servidores de alta latencia, máquinas virtuales o servidores de bases de datos.
Instálalo desde dnf
dnf install tuned
Inicia el daemon (como root)
systemctl start tuned
Ahora ejecuta el daemon al iniciar el sistema
systemct enable tuned.service
Puedes revisar la lista de perfiles que incluye el daemon:
tuned-adm list
Para cambiarlo, usas la siguiente instrucción:
tuned-adm profile $NOMBRE_DEL_PERFIL
El Daemon puede recomendarte que perfil usar, aunque en todos los casos que he visto recomendará balanced.
tuned-adm recommend
He probado todos los perfiles en mi laptop, y debo de decir que extrañamente, el que mejoró la responsividad y rendimiento fue powersave.
tuned-adm profile powersave
Desde la época de Slackware 9.1 he usado kerneles customizados. Hay ciertas opciones del Kernel que pueden modificarse para optimizarlo al perfil de uso específico que le vas a dar.
En mi caso de uso quiero una Workstation de Desarrollo Web de alta responsividad. En Fedora es fácil usar un kernel con los siguientes parches gracias al trabajo de Pavel Alexeev, que portea una versión del kernel con mejoras en Schedulers y opciones de CPU governors de Con Kolivas https://ck-hack.blogspot.mx/2016/10/muqss-multiple-queue-skiplist-scheduler.html
Éste es el procedimiento:
Repositorio de Kernel: http://hubbitus.info/wiki/Main
Instala el repositorio
sudo 'rpm -Uhv http://rpm.hubbitus.info/Fedora25/Hubbitus-release-25-latest.noarch.rpm'
Opcional: Actualiza los repositorios
dnf update
Primero verifica que versiones están disponibles para seleccionar el indicado
dnf list available kernel
Ahora instala el nuevo kernel (la versión cambiará dependiendo de la última versión de desarrollo):
dnf install kernel-4.8.7-300.pf7.hu.1.fc25
Selecciona el nuevo scheduler para el kernel
sudo touch /etc/tmpfiles.d/set_IO_scheduler.conf
sudo 'echo "w /sys/block/sda/queue/scheduler - - - - bfq" > /etc/tmpfiles.d/set_IO_scheduler.conf'
Ahora verifica el scheduler que estás corriendo:
cat /sys/block/sda/queue/scheduler
Si eres desarrollador de Java probablemente requieras usar el JDK oficial de Oracle. Descarga el RPM correspondiente a tu sistema (64 o 32 bits) del sitio oficial: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
Instálalo con rpm:
rpm -ivh jdk-$version-linux-x64.rpm
Una vez instalado puedes utilizar el comando alternatives para configurar el sistema para usar el JDK de Oracle exclusivamente.
alternatives --config java
alternatives --config javac
alternatives --config javaws
Verifica que esté seleccionado con:
alternatives --list | grep /usr/java
Con ésto concluyo la parte 1, el Sistema Base. Debemos de tener una buena base para diferentes roles.
Siguiente entrega: Software para Servidores y de Escritorio (Incluyendo códecs, tipografía y Stacks de desarrollo Web).
Como siempre, agradezco sugerencias y comentarios.
]]>I'm gonna start writing a quick post on the stuff I'm learning and working with every week. I've noticed some of my posts are a bit on the longer, meaningful side, so I'll try to keep them short. I hope this is useful to someone else as a light pointer to some interesting tech.
I'm testing Eclipse CHE as an IDE / Provisioning system for my workflow. So far I've got some issues running its Workspace creator, as it sometimes fails to complete and start them.
As an IDE its pretty good even though its browser-based, but its significantly more responsive that other Cloud offerings I've tried like Koding, Codeanywhere or Cloud9.
I highly recommend you try it, its definitely a worthy tool for web development.
I've known and used docker only a little, since I've used it on my own playground rather than work, so I decided to dig a little deeper and get some decent experience on it. So far, its a pretty good solution. I particularly like the availability of docker containers of some annoying to setup platforms. Drupal-based solutions and some others based on Java/Tomcat and Ruby were always painful to setup on some enviroments, and its now way easier to do quick testing and experiments with these.
I found a great reading list on github, from veggiemonk, so give it a read: https://github.com/veggiemonk/awesome-docker
The official documentation is awesome, so give it a skim, too.
Ever since switching to RHEL/Fedora I've worked with SELinux enabled in my system. I've decided to fully grok it so I'm reading its documentation and viewing some Tutorials. After getting started, I can see why its a worthy enhancement over the traditional Unix security model.
Configuration should be easier, particularly for the restorecon command, though.
Here's an excellent primer from RedHat's own Thomas Cameron on the 2012 Red Hat Summit:
That's it for this week, let me know if you find any interesting things, too.
]]>So, I decided to create a cover letter for my job hunting endeavours. I didn't want to overtax recruiters with a long document (god knows they barely read anything applicants send),and thus I decided to build it as a Web presentation that's easy to link and browse from any device.
After looking up some decent presentation frameworks built on Javascript I chose reveal.js and got to work on it. The syntax is clean, and the documentation and examples are superb. It also supports markdown and code snippets with syntax highlighting.
I've tested it in the most common browsers and devices, and so far, so good. With a little query it even helps you generate a printing version in PDF format that I easily uploaded to Slideshare.
So, if you need an easy-to-use presentation framework that's responsive, fully featured and provides PDF exporting facilities, I suggest you give reveal.js a shot. You'll be up and running in no time.
You can find my cover letter here:
And, the PDF version is here:
Red Hat ofrece una suscripción gratuita de Red Hat Enterprise Linux para los developers inscritos en su programa . Como soy un feliz usuario de OpenShift y tengo bastante respeto por la compañía decidí instalarlo para darle una probada. Frecuentemente disfruto conocer una nueva distro para mantener las habilidades y flexibilidad de administración (un buen administrador debe de poder cambiar entre versiones de Linux/Unix sin gran dificultad).
Red Hat Enterprise Linux es praćticamente un estándar de la industria para Linux en servidores. En worksations, no tanto, donde el panorama es dominado por derivadas de Debian/Ubuntu.
Pros:
Contras:
Después de un par de días de revisarlo decidí probar Fedora para mantener mis skills actualizadas en ésta distro. Seguiría utilizando RHEL como workstation si mi flujo de trabajo fuera más estable, pero de momento requiero flexibilidad adicional, sobre todo en disponibilidad de software. Definitivamente si la dejaré para futuros servidores.
]]>Entre mis respaldos antiguos encontré un horario de clases de mi primer semestre en el Tec Saltillo. Aparentemente tuve la brillante idea de crearlo en XHTML para ganar algo de experiencia en el estándar y mi editor favorito del momento (XEmacs, ahora al parecer desfasado y con un dominio muerto)
Entre mis respaldos antiguos encontré un horario de clases de mi primer semestre en el Tec Saltillo. Aparentemente tuve la brillante idea de crearlo en XHTML para ganar algo de experiencia en el estándar y mi editor favorito del momento (XEmacs, ahora al parecer desfasado y con un dominio muerto).
Alrededor del segundo o tercer semestre pude subirlo a un servidor FTP gratuito provisto por /g/, así que podía verlo en una dirección IP desde mi compu o las del laboratorio (ahora sería más práctico por la disponibilidad de dispositivos móviles).
Tengo las siguientes observaciones:
<table>
.Por último ¿Llevo 10 años moviéndole a HTML? ¿Y desde Linux?.
Diablos.
schedule-its.html
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 1 July 2005), see www.w3.org" />
<meta name="generator" content="XEmacs 21.4 (patch 17) 'Jumbo Shrimp'" />
<meta name="author" content="César Augusto Tijerina" />
<meta name="description" content="College Schedule" />
<meta name="document-type" content="Private" />
<meta name="document-rating" content="Specialized" />
<title>My ITS schedule</title>
<style type="text/css">
/*<![CDATA[*/
body { margin: 1em 2em 1em 2em;
background-color: #F5F5F5;
font-family: sans, sans-serif;
/* font-size: "+1"; */
color: #000;
}
p { font-family: sans, sans-serif;
text-align: justify;
font-size: "1" ;
}
tt { font-family: Courier, monospace; }
pre { font-family: monospace; }
h1 { font-weight: normal; }
h2 { font-weight: normal; }
div.mailquote { background-color:#FFF;
border:1px dashed #999;
margin: 15px;
}
div.box { border: solid; border-width: thin; width: 100% }
table {
background-color: #FFF;
border-collapse: collapse;
border-top: 1px solid #CCC;
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
border-left: 1px solid #CCC;
border-spacing: 1;
}
th {
background-color: #EEE;
border-top: none;
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
border-left: none;
}
/*]]>*/
</style>
</head>
<body>
<h1>The blasted schedule</h1>
<hr />
<div align="center">
<div align="right">
:: If one studies too zealously, one easily loses his pants.<br />
— A. Einstein.
</div><br />
<table border="1" cellpadding="1" cellspacing="0" summary="My Schedule"
width="100%" title="Schedule">
<thead>
<tr align="center">
<th rowspan="1" colspan="6">Ingeniería en Sistemas — 1er
Semestre, Grupo B</th>
</tr>
<tr>
<th>Horas</th>
<th>Lunes</th>
<th>Martes</th>
<th>Miércoles</th>
<th>Jueves</th>
<th>Viernes</th>
</tr>
</thead>
<tbody>
<tr>
<td>7-8 am</td>
<td>Física - C5</td>
<td>Física - C5</td>
<td>Física - C5</td>
<td>Física - C5</td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>8-9 am</td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>9-10 am</td>
<td>Sistemas - R06</td>
<td>Sistemas - R06</td>
<td>Sistemas - R06</td>
<td bgcolor="#EFEFEF"> </td>
<td>Programación - Lab Comp</td>
</tr>
<tr>
<td>10-11 am</td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td>Programación - Lab Comp</td>
</tr>
<tr>
<td>11-12 pm</td>
<td>Programación - R04</td>
<td>Programación - R04</td>
<td>Programación - R04</td>
<td bgcolor="#EFEFEF"> </td>
<td>Física - C3</td>
</tr>
<tr>
<td>12-1 pm</td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td>Dibujo - C12</td>
<td>Dibujo - C12</td>
<td>Dibujo - C12</td>
</tr>
<tr>
<td>1-2 pm</td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>2-3 pm</td>
<td>Ética - A03</td>
<td>Ética - A03</td>
<td bgcolor="#EFEFEF"> </td>
<td>Ética - A03</td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>3-4 pm</td>
<td>Math/Comp - C02</td>
<td>Math/Comp - C02</td>
<td>Math/Comp - C02</td>
<td>Math/Comp - C02</td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>4-5 pm</td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>5-6 pm</td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
<td bgcolor="#EFEFEF"> </td>
</tr>
<tr>
<td>6-7 pm</td>
<td>Math 1 - C11</td>
<td>Math 1 - C11</td>
<td>Math 1 - C11</td>
<td>Math 1 - C11</td>
<td bgcolor="#EFEFEF"> </td>
</tr>
</tbody>
</table>
</div><br />
<hr />
<div align="right">
<address>
Augusto Tijerina : <a href=
"mailto:[email protected]">[email protected]</a>
</address><small><!-- Created: Wed Feb 23 16:30:46 CST 2005 -->
<!-- hhmts start -->
Last modified: Thu Nov 3 21:26:33 CST 2005
<!-- hhmts end --></small>
</div>
</body>
</html>
Linux just had its 25th birthday and that made me realize I've been a user for a Long time.
I registered in 2004My first Linux distro was Corel Linux around 2001. I only lasted a couple of weeks using it and could not replace my regular
Linux just had its 25th birthday and that made me realize I've been a user for a Long time.
I registered in 2004My first Linux distro was Corel Linux around 2001. I only lasted a couple of weeks using it and could not replace my regular windows usage with it. It was a great experience that let me get a feeling of what a Unix-like system is. Limited by really bad hardware and no internet connection I could not master it easily.
I managed to do a dual boot installation and transitioned between systems until I could get my hands on a different Linux distro. It was annoying to get the distros, I had to mail order them since I had no access to either a fast network or even a burner. Hardware compatibility was crappy, since the winmodem didn't work and the Soundcard had some hardware faults that often left me without working sound.
In rough order, this is a list of some of the distros I've been using through the years.
Each one has its own distinctive culture, managing tools and software focus. Also, and just to be pragmatic here, all of them have flaws and design mistakeslike every other software in existence.
So, what's my favorite?. Slackware. No other distro matches its simplicity, stabilty and performance. If it had a package manager that matched apt/dnf it would be perfect (and yes, I've tried swaret, slackpkg and a few others).
It's been a pretty fun ride.
I currently use Ubuntu Mate 14.04 LTS. I'm kinda stuck using older releases until my AMD GPU driver gets new versions on both the propietary and Open Source sides (resolution on dual screens being my number one grip).
Yes, I use it for work and entertainment. One OS, many paths.
Luckily, many of the sysadmin skills are relevant to Web Development; getting a VPS online, updating configuration, restarting services, managing security/ user access and optimizing performance are everyday tasks of my professional expertise
I'm aching to test some of the newest Linux Technologies and distributions. Particularly the enterprise side of distros, RHEL looks pretty good and the support lifecycle is great.
Although, to be fair, it's been a while since I've tried the *BSDs 😋
Linux acaba de cumplir su 25 aniversario y eso me hace darme cuenta de que he sido usuario por un laaargo tiempo.
Me registré en el año 2004Mi primera distro de linux fué Corel Linux alrededor del 2001. Sólo duré un par de semanas usándola de manera primaria y no pude reemplazar mi uso normal de Windows. Fué una gran experiencia que me dejó la sensación de conocer lo que es un sistema tipo Unix. Estaba limitado por hardware muy malo y sin conexión a internet por lo que no pude dominarla fácilmente.
Logré hacer una instalación dual y transicionaba entre sistemas hasta que pude obtener una distribucióon diferente y más completa. Era molesto conseguir las distriibuciones, teniendo que que ordenarlas por correo ya que no tenía acceso a una conexión rápida o siquiera un quemador de discos. La compatibilidad de Hardware era mala, ya que el winmodem no funcionaba y la tarjeta de sonido tenía unaas fallas de hardware que me dejaban frecuentemente sin sonido
En orden aproximado, ésta es una lista de algunas de las distros que he usado a través de los años.
Cada una tiene su cultura distintiva, herramientas de administración y enfoque de software. También, y sólo para ser pragmático, todas tienen fallas y errores de diseño como cualquier pieza de software que existe.
Entonces, ¿Cuál es mi favorita?. Slackware Ninguna otra distribución iguala su simplicidad, estabilidad y rendimiento. Si tuviera un gestor de Paquetes equivalente a apt/dnf sería perfecta (y si, he probado Swaret, slackpkg y un par de otros).
Ha sido un camino bastante divertido
Actualmente uso Ubuntu Mate 14.04 LTS, estoy atorado usando releases antiguos hasta que el controlador de mi GPU de AMD tenga actualizaciones en versiones nuevas de los lados propietarios y Open Source (la resolución en pantallas duales es mi queja número uno).
Si, lo uso para trabajo y entretenimiento. Un sistema operativo, muchos caminos.
Afortunadamente, muchas de las habilidades de administración se aplican al Desarrollo Web; poner en línea un VPS, actualizar configuraciones, reiniciar servicios, gestionar accesos/seguridad y optimizar rendimiento son tareas de todos los días en mi área profesional.
Tengo ganas de probar algunas de las nuevas tecnologías y distribuciones de Linux. Particularmente del lado enterprise de las distribuciones, donde RHEL se ve bastante bien y el ciclo de vida y soporte se ve grandioso.
Aunque, siendo justo, ha pasado un rato desde que pruebo los *BSD 😋
Respondiendo al video:
Yes, Joseph, si recuerdo y todavía lo conservo en un lugar de honor, jeje:
Chequen el Canal de Demaeter, es bastante entretenido :P .
Respondiendo al video:
Yes, Joseph, si recuerdo y todavía lo conservo en un lugar de honor, jeje:
Chequen el Canal de Demaeter, es bastante entretenido :P .
Imagina enterarte que tienes Cancer terminal. Imagínate saber que vas a morir en medio de tus planes de vida, con una familia amorosa y un trabajo que disfrutas. Imagínate saber que vas a morir relativamente jóven.
¿Qué harías? ¿Que dirías?.
Randy Pausch era un profesor distinguido de las materias de
Imagina enterarte que tienes Cancer terminal. Imagínate saber que vas a morir en medio de tus planes de vida, con una familia amorosa y un trabajo que disfrutas. Imagínate saber que vas a morir relativamente jóven.
¿Qué harías? ¿Que dirías?.
Randy Pausch era un profesor distinguido de las materias de Ciencias de la Computación e Interacción en la Universidad de Carnegie Mellon. En Septiembre del 2006 fué diagnosticado con cáncer pancreático. Inmediatamente comenzó tratamiento y seguimiento normal para alguien enfermo.
En Agosto del 2007 recibió la noticia de que su diagnóstico era terminal.
El 18 de Septiembre del 2007 dió su última clase, titulada "Really Achieving Your Childhood Dreams". El propósito de esa clase era compartir las ideas de un hombre que sabe que es su última oportunidad para hacerlo.
En la clase explicó un poco de su diagnóstico y comenzó a enumerar sus sueños de la infancia que había alcanzado y el camino que había trazado a lo largo de su vida. Puedes notar cómo admira y aprecia a sus alumnos y se enorgullece de sus logros.
La clase está grabada y disponible en YouTube en el canal de la Universidad de Carnegie Mellon. Puedes encontrarla a continuación:
Si la prefieres ver en español está en el siguiente enlace: https://www.youtube.com/watch?v=e0ZwxhFUAOo&list=PL262FEC0B124E03E9 .
Tras el éxito de su clase, Randy coescribió un Libro basado en la misma. En el libro se plasmarían las lecciones de un hombre que afronta su mortalidad y las lecciones de vida que aprendió.
El libro también sirve como una introducción al área relativamente nueva de la interacción humano-computadora. También aprenderás bastante sobre la cultura académica y estudiantil de Carnegie Mellon y cómo un académico puede inspirar a sus alumnos a alcanzar sus sueños a través de la excelencia personal.
Randy murió en Julio del 2008.
Recuerdo descargar la clase en un ciclo vacacional durante mi carrera universitaria. Aunque no estoy totalmente de acuerdo con algunas de las lecciones de vida que enfatizaba (no creo que los "sueños" sean más motivacionales que las ambiciones, por ejemplo) encontré refrescante la conferencia.
También creo que es extraordinariamente importante el papel de la influencia intelectual que puede tener una persona sobre los demás. Creo que frecuentemente perdemos de vista las metas, sueños y/o alcances que tenemos en la persecución natural de la vida cotidiana. Y más aún, creo que podemos revitalizarnos con la simple comprensión de nuestra propia mortalidad.
Tempus Fugit.
Tempus Fuckin' Fugit.
La trayectoria académica del Profesor Pausch es muy interesante, y probablemente los Proyectos laterales en los que participó sean más influyentes a la larga que su última clase.
Alice es un Proyecto de Software que enseña programación Orientada a Objetos en una manera diferente a las interfases tradicionales. Chécalo si te interesa cambiar un enfoque tradicional de aprendizaje de programación: http://www.alice.org/
También dió una excelente clase acerca de manejo del tiempo (no tan académicamente enfocada) que contiene unos muy buenos tips para el área de Manejo de Tiempo en general.
En especial recomiendo la parte donde aborda la parálisis común antes de empezar a escribir una lista de tareas (alrededor de los 18:00m). Puedes revisarla en : https://www.youtube.com/watch?v=oTugjssqOT0
En retrospectiva, una vida bien vivida y contribuciones significativas de parte del Profesor Pausch
Nota: Me inspiré a escribir ésto por mi último artículo: "Recordando a un buen Profesor "
Durante mi educación en el Instituto Tecnológico de Saltillo no tuve muy buenas experiencias con profesores. Con unas brillantes excepciones, encontré a los educadores similares a la institución; la mayoría mediocres, algunos malos y sólo unos cuantos rescatables.
He tratado de mantenerme alejado de la institución y su personal por
Durante mi educación en el Instituto Tecnológico de Saltillo no tuve muy buenas experiencias con profesores. Con unas brillantes excepciones, encontré a los educadores similares a la institución; la mayoría mediocres, algunos malos y sólo unos cuantos rescatables.
He tratado de mantenerme alejado de la institución y su personal por mi aspereza natural, así que me enteré algo tarde de la muerte de uno de los mejores Profesores con los que llevé clase. Una característica común de los mejores profesores es que aprendemos lecciones de vida, no sólo de materias y temarios académicos.
Descanse en paz, Profesor José Luis Flores Aguilar.
Entre las clases que llevé cuento a las de Matemáticas como las más difíciles. Tengo problemas para entender algunos de los conceptos base y la lógica de procedimientos frecuentemente choca con mi intuición. Tomé 5 veces el curso de Matemáticas 3 (me tuvieron que dar de baja un semestre).
Llevar clase con el Profe era relativamente fácil siempre y cuando asisitéramos y realizáramos los ejercicios. Durante el curso experimenté algo de dificultades por lo que tuve que asistir a asesorías, afortunadamente con paciencia y mucha práctica pude mejorar mis abismales resultados.
Recuerdo algunos actos de amabilidad como darme un ride o prestarme un libro para fotocopiar la sección relevante que lo diferenciaban de otros profesores. También noté un sentido del humor marcado y constante en su carácter.
Tengo la certeza que tuvo que ayudar mis calificaciones finales para que aprobara el curso, por lo que siempre estuve agradecido.
La mejor lección, aparte de la Mecánica de Matrices fué entender que puedes ser una persona competente en tu trabajo con amabilidad y sentido del humor.
Reflexionando, me he impuesto la tarea de evaluar las lecciones que aprendí de los Profesores y maestros que he tenido. Aprendemos no sólo de los buenos Profesores, sino de las circunstancias de la vida misma.
Algunas lecciones recordamos con una sonrisa.
A veces mis metidas de pata me llenan de ira. ¿Cómo pude cometer esos errores? ¿Porqué diablos?. Luego recalculo lo aprendido y juro no volver a hacer lo mismo.
La sabiduría popular de mi cultura diría que no debo de experimentar arrepentimiento o remordimiento. Pero creo que eso nos quitaría
A veces mis metidas de pata me llenan de ira. ¿Cómo pude cometer esos errores? ¿Porqué diablos?. Luego recalculo lo aprendido y juro no volver a hacer lo mismo.
La sabiduría popular de mi cultura diría que no debo de experimentar arrepentimiento o remordimiento. Pero creo que eso nos quitaría una característica muy importante; nunca olvidar lo que pasó y asegurarse de que nunca vuelva a pasar.
Existen corrientes de diseño definidas para crear páginas Web y aplicaciones legibles, accesibles y atractivas que siguen las mejores prácticas de interacción,disposición de elementos y apariencia para que la experiencia de los
]]>Existen corrientes de diseño definidas para crear páginas Web y aplicaciones legibles, accesibles y atractivas que siguen las
mejores prácticas de
interacción,disposición de elementos y apariencia para que la experiencia de los usuarios sea excelente.
Aquí
presento las tres corrientes de diseño Web más completas y conocidas con enlaces a los recursos oficiales para que las
conozcas y te familiarices con ellas.
Existe un abismo enorme en la comprensión del Diseño Web para algunos usuarios. Es una gran paradoja que el diseño Web tenga tanta penetración en la vida diaria y se desconozca tanto del mismo. Podemos pasar horas navegando la Web pero no podemos nombrar ni los elementos que componen una página.
Conocer las bases nos ayudará a desarrollar mejor nuestras expectativas de Diseño y comunicarnos mejor con las personas involucradas en el ámbito Web. Asímismo, seleccionar una de éstas corrientes nos permitirá generar aplicacionesy páginas mucho más legibles y consistentes que no usarlas o desarrollarlas de manera ad-hoc.
Ésta es sólo una breve introdución y presentación de corrientes de diseño Web, les recomiendo leer los recursos integrados para obtener una visión más completa de los alcances de éstas corrientes. Informarse un poco de éste tema te beneficiará mucho si piensas desarrollar tu aplicación o sitio web y deseas entender como mejorar la experiencia que proveas a tus usuarios.
Acabo de concluir un período de trabajo intenso desarrollando y lanzando una serie considerable de sitios Web además del trabajo normal recurrente y la prospectación de algunos nuevos Proyectos.
En ningún punto en mi carrera académica ni durante el desempeño de mi trabajo recibí alguna forma de capacitación sobre afrontar
]]>Acabo de concluir un período de trabajo intenso desarrollando y lanzando una serie considerable de sitios Web además del trabajo normal recurrente y la prospectación de algunos nuevos Proyectos.
En ningún punto en mi carrera académica ni durante el desempeño de mi trabajo recibí alguna forma de capacitación sobre afrontar agotamiento extremo.
Completar nuestro trabajo puede convertirse en algo difícil cuando afrontamos cargas de trabajo muy altas, fechas de entrega fuera de expectativas, incompetencia de nuestro propio equipo de trabajo y agresión de clientes/stakeholders inestables.
Dejo unas recomendaciones simples y legibles que desearía haber conocido antes de afrontar los momentos de cansancio pesado.
Siéntanse libres de discutir el tema, sobre todo si tienen recomendaciones adicionales.
]]>