lunes, 3 de febrero de 2020

Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.


¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio que contiene una instalación de Python de una versión en particular, esto con el fin de mantener aislada y limpia nuestra instalación Python base y solamente trabajar en dichos directorios con la ventaja que si es necesario instalar una librería especifica y algo falla no vamos a "romper" nuestro sistema principal.

Para poder configurar y usar nuestros entornos virtuales sigamos los siguientes pasos:  

1. Asegúrese de tener instalado pip3

#apt install python3-pip

2. Instale virtualenvwrapper

#pip3 install virtualenvwrapper 

3. Configuremos nuestro .bashrc

#sudo gedit ~/.bashrc

Al final del archivo agrega las siguientes líneas:

export WORKON_HOME = /.virtualenvs
mkdir -p $WORKON_HOME
source ~/.local/bin/virtualenvwrapper.sh

Nota: Si en su distribución virtualenvwrapper.sh no se encuentra en ~/.local/bin/ puede buscarlo de la siguiente manera:

# whereis virtualenvwrapper.sh
virtualenvwrapper: /usr/share/virtualenvwrapper

En mi caso se ubica en /usr/share/virtualenvwrapper, por lo tanto mi configuración queda de la siguiente manera en ~/.bashrc:

export WORKON_HOME=/.virtualenvs
mkdir -p $WORKON_HOME
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Modo de uso:

1. Creando un nuevo entorno virtual:

#mkvirtualenv -p python3 nuevo_entorno

2. Trabajando en el nuevo entorno virtual:

#workon nuevo_entorno

3. Si todo funciona en la terminal tendremos referencia de que estamos trabajando en el  entorno virtual:

(nuevo_entorno) root@host:/home/usuario# 

domingo, 1 de septiembre de 2019

Instalando librerías python3 en Linux con pip


Actualmente he estado trabajando un poco con Python, mi objetivo es desarrollar un sistema que requiero para el trabajo y en la cual intervienen aspectos tales como visión artificial y un poco de aprendizaje maquina (machine learning). Es necesario hacer notar que tenemos 2 opciones para empezar a trabajar con Python por una parte el instalar anaconda que es una distribución que engloba todo lo necesario para trabajar con la ciencia de datos y por la otra parte realizar la instalación de nuestras dependencias a utilizar mediante el sistema de gestión de paquetes llamado "pip".

En lo personal me decanto por no usar anaconda (Python 3 ya viene instalado por default en Linux) y realizar mi gestión de instalación de dependencias utilizando pip pero bueno ¿cómo se hace esto?....

Si bien es verdad que ya viene pre-instalado Python en Linux también es necesario decir el que vienen 2 versiones diferentes, es decir, Python 2 y Python 3 que si bien la primera aún se conserva a modo de soporte lo más conveniente a mi juicio y creo yo es trabajar con la versión 3, ya que es la que esta en constante desarrollo y la versión 2 digamos "va de salida".

Por eso al hacer uso de los siguientes comandos se debe de diferenciar para que versión de Python se esta realizando la instalación... pero bueno abramos nuestra terminal y escribamos lo siguiente:

#apt install python3-pip 


Una vez que se halla instalado el paquete en cuestión ya podemos hacer uso del gestor de paquetes y para ello las funciones básicas son las siguientes:


Buscar paquete:

#pip3 search 



Ejemplo

#pip search opencv-python

opencv-python (4.1.0.25)                         - Wrapper package for OpenCV


Para instalar paquete:
# pip3 install 

Ejemplo

#pip3 install scikit-image opencv-python imutils

Collecting scikit-image
Downloading https://files.pythonhosted.org/packages/d4/ab/674e168bf7d0bc597218b3bec858d02c23fbac9ec1fec9cad878c6cee95f/scikit_image-0.15.0-cp36-cp36m-manylinux1_x86_64.whl (26.3MB

    100% |████████████████████████████████| 26.3MB 35kB/s 


Finalmente para desinstalar paquete:

# pip3 uninstall 









sábado, 17 de agosto de 2019

Retomando el Blog 9 años despues

Hace casi una década inicie este blog, por aquellos días y en un inicio era un estudiante que si bien existía la presión de sacar la carrera me daba tiempo para experimentar y al mismo tiempo aprender con Linux, al principio posteaba mucho (cada cosa nueva que descubrí) sin embargo el tiempo fue pasando muchas cosas sucedieron... como que me casé, nació mi hijo y poco a poco se me fue limitando el tiempo que tenía disponible para escribir cosas nuevas en el blog, ya que tenía otras prioridades; sin embargo seguía haciendo uso de Linux y por que no decirlo fue un plus para mi a nivel laboral.

Pero realmente ¿cual es mi profesión?, pues han de saber que me denomino como ingeniero mecatrónico diferido ya que soy técnico superior universitario en mecánica y también ingeniero en desarrollo de software y por ironía de la vida mi mayor experiencia laboral se centra en el ramo de electrónica y telecomunicaciones ¡¡valla combinación!! Y modestia aparte creo que me consideran bueno en lo que hago.... entonces lo mismo ha sucedido el que he reparado motherboards, programado PLC, creado software para necesidades del trabajo y que he realizado algunos proyectos de automatización (también vendo mole los domingos y hago hablar pericos).

Pero ante todo y debo decir que el pingüino me ha dado de comer y no me quejo...pero ante todo este choro preguntaran ¿y por qué volver a escribir en este blog más que abandonado? Pues bueno, creo que para aliviar mi stress laboral y como modo de distracción, espero que lo que escriba sirva para algunos de aprendizaje o de referencia, pienso ponerme al día con las entradas, tal vez responda preguntas viejas aunque... creo que para los lectores iniciales ya no tendrá mucho caso, sin embargo la información puede servir para aquellos que entran o caen por primera vez aquí.

Ahora mis intereses han cambiado y estoy tratando de entrar al mundo del machine learning, de la visión artificial etc, podrán ver algunas post también (bueno en eso ando apenas).... en fin ya veremos que sale de todo esto mientras tanto ¡¡Bienvenidos de nuevo!!  Y aprendamos cosas nuevas.

Solución a PCIe Bus error severity=Corrected


Siempre había querido tener una laptop Asus, es una marca que en lo personal siempre me ha gustado y lo primero que hice cuando por fin pude conseguir una fue obviamente cargar Linux y ver que tan bien era el rendimiento de mi nueva portátil.


Termine de realizar mi instalación y de pronto me percaté que el equipo se quedaba pasmado, con miedo de que mi nueva adquisición hubiese sido un error (la verdad que no chequeé nada de compatibilidad del equipo con Linux) me puse a buscar registros y me encontré con el que se manifestaba la siguiente problemática:


[   23.252459] pcieport 000:00:1d.2: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00ea-(Receiver ID)



Al parecer tenía un problema con algún dispositivo en el bus PCI que me estaba pasmando el equipo ya que en segundo plano no se paraba de enviar este mensaje así que algún elemento de hardware o tenía un problema o de plano no estaba soportado por el sistema operativo.

Después de mucho investigar al parecer el error tiene que ver con el procesador (Un Skylake Intel® Core™ i3-6006U) que mientras se corrige esta situación (al parecer ya identificado en las listas de correo de desarrollo del kernel) se tiene que hacer una pequeña trampa para evitar el que el equipo tenga mal funciones.

Bueno, ¿cómo se hace esto? El truco consiste en deshabilitar los informes de error del kernel que si bien hasta ahora dicho sea de paso trabajo sin problemas y con una velocidad más rápida que con Windows 10 (Sistema que esta cargado conjuntamente por cuestiones de mi trabajo), no he notado mayores problemáticas al punto de que me atrevo a recomendar esta solución pero bueno...esto es lo que se debe de hacer.

Abrimos un terminal y vamos a editar como super usuario el archivo de configuración grub.

#sudo gedit /etc/default/grub
 
En la línea marcada como:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
 
Vamos a poner lo siguiente:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

Guardamos y salimos del editor y una vez que se halla hecho esto ejecutamos los siguientes comandos:
 
update-grub & update-initramfs -u

Finalmente reiniciamos la máquina y listo adiós equipo pasmado y mensajes de error

miércoles, 14 de agosto de 2019

bitMe el nuevo canal de TV de Televisa para el publico geek



 Mañana se cumple un mes del lanzamiento del nuevo canal de Televisa llamado bitMe, el cual cubre un segmento bastante descuidado en México con respecto a a contenido dirigido al publico geek, entiéndase videojuegos, tecnología, anime y temas de actualidad.

En lo personal me ha dejado un buen sabor de boca ya que he podido revivir mi infancia viendo clásicos de anime como Mazinger z, Saint seiya (Aca en México Los caballeros del zodiaco), e incluso ver revisiones de videojuegos, juguetes y series retro. La verdad considero que esta bien armado y los conductores cubren un rango generacional muy amplio, ya que existen personalidades con años de experiencia en la industria como es el ya conocido Gus Rodriguez y su hijo "el chavo" y otros mas chavitos que la verdad lo hacen bastante bien y encuentro a varios divertidos.

Obviamente esto apenas despega y espero que se ponga aun mejor, en lo personal pienso que deben de incluir al segmento de jugadores de PC, ya que si hubiese un programa donde se realicen reviews de hardware y configuraciones... que por lo menos no he visto hasta ahora y si ya se que es difícil o imposible por muchas cuestiones, creo que estaría de lujo (Por lo menos me conformo con review de graficas).

Actualmente veo este canal en mi servicio izzi en el canal 863, al parecer el canal también estará disponible con otros proveedores y países, por lo cual muy probablemente tendrán varias opciones para verlo.
  



sábado, 10 de agosto de 2019

Como instalar Docky en Debian (Buster) 10



Definitivamente no hay una compilación para Debian 10 del lanzador de aplicaciones o dock llamado docky, sin embargo se puede instalar usando los paquetes de debian 9 (stretch) para hacer esto vaya hasta el sitio donde esta albergado el paquete docky y sus dependencias y descargue las siguientes dependencias:



  • docky_2.2.1.1-1_all.deb
  • libgconf2.0-cil_2.24.2-4_all.deb
  • libgnome-keyring0_3.12.0-1+b2_amd64.deb
  • libgnome-keyring1.0-cil_1.0.0-5_amd64.deb
  • libgnome-keyring-common_3.12.0-1_all.deb 
Una vez realizado esto ubiquese en el directorio donde se encuentren los paquetes y ejecute el siguiente comando:

      # dpkg -i *.deb



 

sábado, 30 de septiembre de 2017

Flatpak el futuro de la distribución de aplicaciones

Flatpak es una tecnología que promete ser el futuro en la distribución de aplicaciones, es decir permite el poder instalar una aplicación de manera completa sin el problema que conlleva muchas veces el no tener las dependencias (paquetes, librerías etc) completas en el sistema. 

De esta manera las aplicaciones distribuidas en Flatpak vienen con todas las librerías necesarias para ser ejecutados, lo que permite por ejemplo el poder tener la ultima versión de un software que quizás en nuestra distribución no es soportada de manera tradicional.

Por ejemplo, hace unos días después de haber instalado Monodevelop 5.10 el cual me lanzaba un error (Unknown MSBuild failure. Please try building ...) opte por instalar la ultima compilación de este programa mediante Flatpak, de esta manera pude constatar que sin problema puedo ejecutar el ultimo build (7.1.) en Ubuntu 16.04.

Una ventaja adicional que nos ofrece esta tecnología es el hecho de que las aplicaciones usan sandboxing es decir la aplicación implementa el aislamiento de procesos, de esta manera al ejecutarse el programa de manera separada al sistema, evitamos problemáticas de posible distribución de código malicioso.

Para obtener soporte para Flatpak en nuestra distribución solo hay que ejecutar el siguiente comando:


Fedora:
 
$ sudo dnf install flatpak


Ubuntu:

$ sudo add-apt-repository ppa:alexlarsson/flatpak

$ sudo apt update
 
$ sudo apt install flatpak 


Open suse

$ sudo zypper install flatpak

¿Probar la ultima versión de Monodevelop vía Flatpak?, solo ejecutar en terminal (como usuario normal):

$ flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref

 Para ejecutar el programa (desde terminal como usuario normal):
 
$ flatpak run com.xamarin.MonoDevelop 
 
 

viernes, 10 de octubre de 2014

Impresora PDF virtual en Debian

Siguiendo con el formato PDF, algunas veces por motivos variados nos es necesario el convertir algún archivo a PDF, si es algún documento de oficina bastara con exportarlo mediante la utilería que trae incorporado LibreOffice, pero si es cualquier otro documento no compatible con este la cosa se complica pues es necesario el poseer un medio que si o si nos convierta cualquier cosa a PDF.

Gracias a CUPS o sistema de impresión modular para sistemas operativos de tipo Unix, en su variante PDF podemos solucionar este inconveniente ya que es posible el instalarnos una impresora virtual en la que básicamente podemos imprimir cualquier archivo a PDF desde cualquier programa que traiga la opción de "imprimir".


Para instalar CUPS-PDF tecleamos desde la terminal como root

#apt-get install cups-pdf

posteriormente desde nuestro navegador entramos a la dirección.

En la cual nos aparecerá una pagina de configuración en la cual se debe de seguir la secuencia que se muestra en las siguientes imágenes para dar de alta nuestra impresora virtual:












En las opciones predeterminadas de la impresora se pueden modificar parámetros tales como son el tamaño de papel y la calidad de la impresión (DPI) después de haber finalizado nuestra instalación nos aparecerá una impresora instalada desde la cual podemos mandar cualquier trabajo a PDF el archivo final estará ubicado en la carpeta personal del usuario en la carpeta PDF.

Nota: se nos pedira un usuario y contraseña para ingresar a la configuración el usuario es el nombre de usuario que ustedes tienen en su sistema Linux y la contraseña su contraseña personal, si al ingresar les marca algun error, pueden ingresar lo siguiente:

 Usuario: root
Contraseña: su password de root  

domingo, 5 de octubre de 2014

Driver AMD Catalyst 14.4 parchado para kernel 3.16

Para todos los que tengan una tarjeta grafica AMD ATI y usen Linux ya se habran dado cuenta que el driver existente en el sitio oficial no funciona con el kernel 3.16 en ninguna de sus variantes puesto que nos manda una pantalla en negro, esto es  porque no contiene algunas instrucciones necesarias para poder instalarse en este kernel,  es por eso que como en mi caso que tengo compilado un kernel 3.16 y una tarjeta HD6570  he recurrido a una opción que les comparto.

Este es un driver con el parche aplicado para que pueda funcionar con todas las variantes del kernel 3.16 (Ojo kernel 3.14 y 3.15 no esta soportado) para instalarlo solamente deben de entrar en la carpeta "driver_14.10_parchado_kernel_3.16" y ejecutar:


Descargar: https://dl.dropboxusercontent.com/u/52535452/blog/driver_14.10_parchado_kernel_3.16.7z


# sudo sh ati-installer.sh 14.10 --install

Tal como se muestra en la imagen:


Se da todo en siguiente hasta terminar la instalación:


Nota: antes de instalar este driver es necesario quitar cualquier otro driver catalyst instalado de la siguiente forma:

#apt-get remove --purge fglrx*

Así mismo no me hago responsable por perdidas de sistemas y datos, si no sabes lo que haces mejor no modifiques tu sistema

* Para los usuarios de Fedora 20 el instalador no funciona puesto que los gráficos al parecer están ya siendo gestionados por wayland para el cual no tiene aun soporte catalyst.


domingo, 28 de septiembre de 2014

Crear paquetes .deb de manera facil ejemplo dolphin

Algunas veces cuando estamos en debian estable (wheezy), echamos de menos algunas funcionalidades de algunas versiones de programas mas recientes de las que tenemos instaladas, es por eso que optamos por compilar nuestros propios programas adaptándolas a nuestro sistema, ya sabemos que existen los backports pero en lo personal en algunos programas como dolphin-emu trato de tener las versiones mas actuales ya que se solucionan continuamente bugs.

Pero bueno pasemos a lo que interesa con un ejemplo practico compilando dolphin.

Lo primero es instalar las dependencias de compilación del programa así que ejecutamos en la terminal:

sudo apt-get install cmake git g++ wx2.8-headers libwxbase2.8-dev libwxgtk2.8-dev libgtk2.0-dev libsdl1.2-dev libxrandr-dev libxext-dev libao-dev libasound2-dev libpulse-dev libbluetooth-dev libreadline-gplv2-dev libavcodec-dev libavformat-dev libswscale-dev libsdl2-dev libusb-1.0-0-dev

Una vez realizado esto obtenemos las fuentes del programa ejecutamos:






Ingresamos al directorio:


cd ./dolphin-emu

Se crea el directorio build y se ingresa al mismo:

mkdir Build && cd Build
  
Se configura la compilación mediante el comando cmake:


cmake ..

Una vez que se ha realizado este paso ejecutamos el comando make, pero con la variante de que según el numero de núcleos de nuestro procesador indicaremos el numero de trabajos que se ejecutaran simultáneamente en este caso tengo un procesador de 4 núcleos por lo que ejecutare el comando indicando la realización de 4 trabajos simultáneamente.
  
make -j 4
El proceso que ejecuta make tardara algún tiempo dependiendo del procesador que tengamos así mismo de la cantidad de memoria disponible en el sistema. Una vez terminado el proceso lo mas lógico seria ejecutar el comando make install lo que haría el que el programa se instalara directamente en el sistema y su posterior desinstalación sea un poco mas complicado, pero nuestro objetivo en este caso es crear un .deb por lo tanto en este punto instalaremos el programa checkinstall.
Ejecutamos en la terminal: 
sudo apt-get install checkinstall
Una vez finalizada la instalación y el proceso de make finalizado procedemos a construir nuestro .deb. 
 

Las primeras opciones de checkinstall nos dice que si queremos crear la documentación del paquete por default por lo que decimos que si, posteriormente nos dice que si queremos dejar una linea vacía en la descripción del paquete, damos esta opción por default nuevamente, es decir solo damos enter
Llegamos a una sección donde podemos cambiar los parámetros de información del paquete, esto es útil ya que podemos dar identificación personalizada al mismo, o en su caso dejarlo  tal como nos lo configura automáticamente checkinstall, unicamente cambiamos el campo poniendo el numero del mismo y escribiendo los nuevos datos en el espacio vació, yo en lo personal si lo edito para saber cuando compile el programa, pero si unicamente damos enter no nos afecta en nada.


Ejemplo yo cambio:
  • campo 1 en el cual describo que es un "emulador de gamecube"
  • campo 2 en el cual pongo que es el paquete "dolphin-emu"
  • campo 6 en el cual pongo que pertenece al "grupo de games"

Una vez realizado esto damos enter y comienza el proceso de creación e instalación automática del paquete dolhin-emu.deb.

Al casi finalizar el proceso de checkinstall nos dice que algunos paquetes (usados en el proceso de compilación y ya no útiles)  se han creado y que si queremos incluirlos a esto la opción predeterminada es que no así que ponemos una n así mismo nos dice que si debemos excluirlos del paquete a lo que ponemos que si es decir una s.


finalmente checkinstall nos indica el que todos los procesos de la creación del paquete han sido realizados exitosamente tal y como se ve en estas imágenes.




 


Y con esto queda finalizada nuestra creación de paquete e instalación solo queda probar si realmente se ejecuta el programa, podemos poner en la consola dolphin-emu y el programa se ejecutara o simplemente buscar el icono del programa y dar click sobre el.

Aquí unas capturas del paquete generado y de la ejecución del mismo.


Como podemos ver la compilación se realizo el 28 de septiembre a las 12 del día y es la versión 4.0-3914 que obviamente no esta disponible para wheezy pero que sin embargo nosotros la hemos compilado para nuestro debian.

finalmente podemos ver el paquete instalado en synaptic el cual podemos desinstalar cuando queramos o si queremos construir una versión mas actual desde las fuentes.


Como nota final checkinstall ha sido utilizado con dolphin-emu pero se puede construir cualquier paquete desde las fuentes.



martes, 23 de septiembre de 2014

Ejecutar Popcorn-Time en debian 7 cuando da error de `GLIBC_2.14'

Bueno es obvio que estas librerías no las tenemos pero hay una alternativa para que se ejecute el programa sin necesidad de instalar paquetes de Sid y romper nuestro Debian stable.

Para conseguir esto usaremos fakeroot.

Lo primero es descargar desde los repositorios de Ubuntu 12.04 los siguientes paquetes:

(Da click en los enlaces para bajar los paquetes)



Creamos en nuestra carpeta home una carpeta oculta a la que podremos el nombre de:

.fakeroot

de esta manera nuestra ruta quedaría así: 

/home/usuario/.fakeroot/

Desde la consola instalamos:

dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/.fakeroot/

dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/.fakeroot/

y finalmente ejecutamos el comando desde la terminal.

LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ /opt/popcorn-time/Popcorn-Time

Por ejemplo en mi caso:
LD_LIBRARY_PATH=/home/emmanuel/.fakeroot/lib/x86_64-linux-gnu/ /opt/popcorn-time/Popcorn-Time

De esta manera el programa se ejecutara.




Si nos marca error de libudev instalamos la librería y creamos un enlace simbólico:



# apt-get install libudev-dev libudev0 libudev1


# sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

sábado, 20 de septiembre de 2014

Abrir enlaces web en Firefox desde Adobe Reader Linux

Algunas veces no podemos abrir enlaces web desde adobe reader aun y cuando tenemos bien configurado las preferencias del navegador en la configuración del programa, esto se debe a que en la opción de "trust manager" o administrador de confianza se tiene habilitada una opción que por default te obliga a decirle al programa que pagina si abrir y que pagina evitar.

Para solucionar este problema lo único que se hace es cambiar la preferencia a la opción "alow all web sites" o permitir todos los sitios web, una ves aceptado el cambio podremos ver que ahora si se nos permite abrir nuestros enlaces.

Muchas veces pensé que el problema tenia que ver con la ruta al ejecutable del navegador, pero en si todo era un problema de gestión de seguridad.



sábado, 10 de agosto de 2013

Debian aptitude y los huevos de pascua

Los Easter Eggs o huevos de pascua son sorpresas divertidas que los desarrolladores de sistemas dejan ocultas en sus programas, es algo así como la activación de items ocultos en los videojuegos.

En debian podemos accesar a uno con aptitude en terminal ingresando secuencialmente lo siguente.

#aptitude moo
#aptitude -v moo
#aptitude -vv moo
#aptitude -vvv moo
#aptitude -vvvv moo
#aptitude -vvvvv moo

El resultado es el siguiente:

viernes, 29 de marzo de 2013

Comando dd con verbose


El comando dd nos sirve para realizar formateos con zero fill, clonar discos, hacer respaldos en formato iso, etc. Pero un inconveniente es que carece de verbose (un indicador o barra de estado) que nos indique el progreso de la operación, de esta manera a veces no sabemos  si realmente el proceso esta avanzando o no.

para solucionar esto realizamos lo siguiente.

1.- Instalamos pv con apt-get install pv
2.-introducimos el siguiente comando en consola como root:

sudo dd if=/dev/zero  | pv -s "x"G | sudo dd bs=1M of=/dev/"y"

Donde:

x= Tamaño del disco o pendrive en GB
y= modo en que es reconocida la unidad (sda, sdb, sdc, etc etc)

Para saber como es reconocida la unidad por el sistema introduscan en terminal

fdisk -l

Ejemplo

Disco de 160GB y reconocido como sda:

sudo dd if=/dev/zero  | pv -s 160G | sudo dd bs=1M of=/dev/sda

domingo, 10 de marzo de 2013

Ubuntu terminal root sin solicitar contraseña

Algo no recomendado desde el punto de vista de la seguridad, pero muy útil si trabajas mucho con la consola y no quieres ingresar la contraseña cada vez que abres la aplicación.

echo 'tu-usuario ALL=NOPASSWD: /usr/bin/x-terminal-emulator' >> /etc/sudoers

domingo, 22 de enero de 2012

Código fuente en C para programa de cálculo de espiras de transformadores eléctricos

Soy aprendiz de programador he creado este programa para calcular espiras de transformadores eléctricos, ya ha sido probado en la practica y funciona muy bien por lo que se los comparto, en breve lo escribiré en JAVA con interfaz gráfica ya que de momento solo funciona con linea de comandos.

#include
#include
int main()
{
float a,b,vols;
int tipo;
const float gaus = 11000;
const float cont = 266.4;
const float volp = 110;
float resultado1;
float resultado2;

while(1){
printf("***************************************************\n");
printf("*** Calculadora de espiras para transformadores ***\n");
printf("***************************************************\n\n\n");
printf("1.- Realizar calculo de primario\n");
printf("2.- Realizar calculo de secundario\n\n");

printf("Se trabajara con la opcion numero:");
scanf("%i",&tipo);
switch (tipo){
case 1:
system("cls");
printf("Ingrese el valor de a:");
scanf ("%f", &a);
printf("Ingrese el valor de b:");
scanf ("%f", &b);
resultado1= ((gaus) / (b * a* cont))* volp;
printf("El resultado de espiras en el primario es: %.f",resultado1);
printf("\n\n\n\n");
system("pause");
system("cls");

break;
case 2:
system("cls");
printf("Ingrese el valor de a:");
scanf ("%f", &a);
printf("Ingrese el valor de b:");
scanf ("%f", &b);
printf("Ingrese el valor del voltaje de salida secundario:");
scanf ("%f", &vols);
resultado2= ((gaus) / (b * a* cont))* vols;
printf("El resultado de espiras en el secundario es: %.f",resultado2);
printf("\n\n\n\n");
system("pause");
system("cls");
}
}

sábado, 21 de enero de 2012

"Marzo Negro" contra leyes antipiratería.

El grupo de piratas informáticos Anonymous echó a andar una iniciativa contra la industria del entretenimiento (televisión, cine, videojuegos) denominada "Marzo Negro". La invitación es a que las personas no compren ningún producto de este tipo durante cuatro semanas, con el fin de reducir los ingresos de dichas compañías.

Anonymous se sale de la red. El grupo de "hacktivitas" busca no sólo afectar los sistemas informáticos sino la economía como respuesta al cierre del sitio de descargas Megaupload y a las leyes antipiratería que se discuten en varios países y que, desde su perspectiva, promueven la censura y restringen la libertad de información.

La estrategia es detener la compra de películas, música y videojuegos durante el mes de marzo. Los detalles de la campaña contra los gigantes del entretenimiento circulan en sus cuentas de redes sociales.
"Las industrias de la música, la televisión, el cine y el videojuego han decidido apoyar una legislación que permite la censura y el cierre de páginas sin procedimiento judicial. Han decidido golpear primero, pero nosotros podemos hacerlo donde más les duele: en su margen de beneficios", puntualiza el comunicado de Anonymous.

"No alimentemos más a quien no nos respeta. Son sólo cuatro semanas. Nosotros podemos aguantar sin ellos. ¿Cuánto tiempo pueden aguantar ellos sin ningún ingreso", agregan.

La Oficina Federal de Investigaciones de Estados Unidos (FBI) anunció el jueves 19 de enero el cierre de la página de descargas Megaupload por un supuesto delito de piratería informática. Desde ese momento el grupo Anonymous ha llevado a cabo diferentes ataques a sitios web gubernamentales y de empresas privadas que apoyan los proyectos de ley antipiratería que actualmente se discuten. 


lunes, 9 de enero de 2012

Firma la petición para frenar la ley  SOPA

Firma la petición para frenar la ley  SOPA ley estadounidense que nos afectara a todos en cuanto a libertad de internet si se aprueba necesitamos 15,000 firmas.

sábado, 10 de diciembre de 2011

update-grub en fedora 16

este comando se echa de menos en fedora ya que en debian solo basta con un update-grub y de inmediato se nos actualiza el grub con los kernels existentes en el sistema, en fedora podemos hacerle de este modo:

Desde la terminal como root:

#sudo gedit /etc/bashrc

Añadimos lo siguiente al final del archivo (importante hasta el final deben ir las lineas):

alias update-grub='grub2-mkconfig -o /boot/grub2/grub.cfg'

Guardamos el archivo, reiniciamos la  maquina y al iniciar ya podemos usar update-grub para poder actualizar nuestro grub.

*Tal ves pase que ya no inicie con el primer kernel de la lista, ya que nos puede modificar el grub.cfg de la siguiente manera:

# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="${saved_entry}"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
  

En este caso lo que debemos de hacer es lo siguiente:

Desde la terminal como root:

#sudo gedit /boot/grub2/grub.cfg


# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"   <<<=== Cambiamos esta linea de "${saved_entry}" a "0"como se ve aqui
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true

De esta manera ya se iniciara con el primer kernel de la lista.

Si plymouth ya no nos inicia y solo se ve una barra en la parte de abajo se hace lo siguiente:

Añadimos vga=0x318 en la linea del kernel ejemplo

linux    /vmlinuz-3.1.4-1.fc16.i686.PAE root=/dev/mapper/vg_asus-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_asus/lv_root quiet vga=0x318

Y de esta manera plymouth iniciara de nuevo.

Advertencia este tutorial es para personas que tienen algo de experiencia con linux, no me hago responsable si dañas tu sistema, haslo bajo tu propio riesgo.  

Paquete PDfedit para fedora 16

PDfedit utileria para manipular documentos PDF como en adobe acrobat, pero de manera gratuita, ya que no esta en los repositorios de fedora, pongo este paquete .rpm portado desde debian.

PDfedit
https://dl.dropboxusercontent.com/u/52535452/blog/pdfedit-0.4.5-3.i386.rpm

Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.

¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio q...