Cuando intenté crear mi primer usuario administrador en CouchDB tuve un problema:
Al realizar la petición usando curl, para crear un usuario "admin" con password 123 me arrojaba el siguiente error:
Esto ocurre porque el directorio de CouchDB no tiene los permisos bien configurados. Para arreglarlo basta con ejecutar lo siguiente
chown -R couchdb:couchdb /usr/local/{lib,etc}/couchdb /usr/local/var/{lib,log,run}/couchdb
Luego reinicias couch
service couchdb restart
y ahora si podrás crear el nuevo usuario
Mostrando entradas con la etiqueta crear. Mostrar todas las entradas
Mostrando entradas con la etiqueta crear. Mostrar todas las entradas
martes, 8 de noviembre de 2016
lunes, 31 de octubre de 2016
Crear pendrive booteable de GParted desde linux (Fedora)
domingo, 25 de septiembre de 2016
Crear banner para canal de Youtube
Intentando cuadrar el banner para un canal de Youtube me encontré con el problema de que la imagen se mostraba incompleta como se muestra en la siguiente imagen
Para solucionarlo te puedes guiar de los "Channel Art Template" que proporciona youtube y te lo puedes descargar por aquí
Colocando tu logo en el área donde indica "TEXT AND LOGO SAFE AREA" lograrás que este se vea en todos los distintos dispositivos.
Yo tengo mi propio template que consiste en un rectángulo rojo donde voy a pegar el logo. Luego que inserto el logo cambio color rojo del cuadrado a alpha y listo.
Lo puedes descargar de aqui
Como resultado final se puede ver que el logo queda bien posicionado
jueves, 8 de septiembre de 2016
Crear Plugins para Android Studio
Existen funcionalidades que Android Studio no cumple, para ello existen los plugins, estos cubren los vacíos y atienden requerimientos específicos.
En este tutorial desarrollaremos un Plugin que permita añadir dependencias de forma automática a nuestros proyectos. Le llamaremos Snorlax (Obvia alusión a la pereza que da añadir requerimientos de forma manual).
Android Studio no es más que IntelliJ IDEA con el plugin para Android más otras configuraciones y modificaciones. Por lo que desarrollar un plugin para Android Studio es, en esencia, casi igual que hacerlo para IntelliJ IDEA.
Parte 1: Preparando el ambiente
Ambiente
Para poder compilar en el ambiente de google debe usar Linux o Mac OS o Windows. Google recomienda usar la última versión LTS de Ubuntu para trabajar en su ambiente.
Debes tener la última versión de Android Studio instalada.
Debe instalar el JDK (Recomiendo usar el de Oracle). La gente de Jetbrains y Google recomiendan usar el JDK 1.6, pero en este tutorial usaré el 1.8 rev 93 puesto no me ha presentado ningún problema hasta el momento. El SO que usaré es Fedora 23 x86_64 con kernel 4.4.6-300.
Descargando e instalando IDEA Community
Android Studio no ofrece la utilidad de crear plugins para el. Por ello debemos usar IntelliJ IDEA para crear el plugin. Para este efecto debemos usar la versión Community que es gratuita. Incluso si tiene la versión Ultimate debe descargar e instalar la versión Community. Esto porque la versión Ultimate es de código cerrado y para crear el Plugin necesitaremos leer mucho código fuente del IDE cuando hagamos debug.
Puede descargarla desde aqui: https://www.jetbrains.com/idea/#chooseYourEdition
Yo la he descomprimido en /opt
Luego debes entrar en el directorio bin y ejecutar idea.sh como usuario regular
Descargando los sources de Android Studio
Google creó una herramienta llamada "repo" para facilitar el trabajo con Git en el contexto de Android. Para instalarla debes ejecutar lo siguiente:
Una vez instalada la herramienta repo podemos bajar los sources de Android Studio ejecutando desde la terminal lo siguiente :
En este tutorial desarrollaremos un Plugin que permita añadir dependencias de forma automática a nuestros proyectos. Le llamaremos Snorlax (Obvia alusión a la pereza que da añadir requerimientos de forma manual).
Android Studio no es más que IntelliJ IDEA con el plugin para Android más otras configuraciones y modificaciones. Por lo que desarrollar un plugin para Android Studio es, en esencia, casi igual que hacerlo para IntelliJ IDEA.
Parte 1: Preparando el ambiente
Ambiente
Para poder compilar en el ambiente de google debe usar Linux o Mac OS o Windows. Google recomienda usar la última versión LTS de Ubuntu para trabajar en su ambiente.
Debes tener la última versión de Android Studio instalada.
Debe instalar el JDK (Recomiendo usar el de Oracle). La gente de Jetbrains y Google recomiendan usar el JDK 1.6, pero en este tutorial usaré el 1.8 rev 93 puesto no me ha presentado ningún problema hasta el momento. El SO que usaré es Fedora 23 x86_64 con kernel 4.4.6-300.
Descargando e instalando IDEA Community
Android Studio no ofrece la utilidad de crear plugins para el. Por ello debemos usar IntelliJ IDEA para crear el plugin. Para este efecto debemos usar la versión Community que es gratuita. Incluso si tiene la versión Ultimate debe descargar e instalar la versión Community. Esto porque la versión Ultimate es de código cerrado y para crear el Plugin necesitaremos leer mucho código fuente del IDE cuando hagamos debug.
Puede descargarla desde aqui: https://www.jetbrains.com/idea/#chooseYourEdition
Yo la he descomprimido en /opt
Luego debes entrar en el directorio bin y ejecutar idea.sh como usuario regular
Descargando los sources de Android Studio
Google creó una herramienta llamada "repo" para facilitar el trabajo con Git en el contexto de Android. Para instalarla debes ejecutar lo siguiente:
# curl https://storage.googleapis.com/git-repo-downloads/repo > /bin/repo
# chmod a+x /bin/repo
Una vez instalada la herramienta repo podemos bajar los sources de Android Studio ejecutando desde la terminal lo siguiente :
$ mkdir studio-master-dev
$ cd studio-master-dev
$ repo init -u https://android.googlesource.com/platform/manifest -b studio-master-dev
$ repo sync
El código anterior bajará la main branch del repositorio de Android Studio (en mi caso la 1.4 rev 3 al 07-09-16).
En total pesa 9.4 GB por lo que este proceso demorará bastante incluso si vives en Seul :)
Parte 2: Creando el proyecto del plugin
Abrimos IDEA y creamos un nuevo proyecto
Va a seleccionar IntelliJ Platmorm Plugin y luego dará click en Next.
Inmediamente saldrá un diálogo indicando lo siguiente:
"Do you want to create a project with no SDK assigned?
An SDK is required for compiling, debugging and running applications,
as well as for the standard SDK classes resolution."
Debe dar click a "Yes"
Luego coloca el nombre al nuevo proyecto y luego en Finish
Cuando el proyecto termine de cargar entra en File -> Project Structure
Luego debes configurar el JDK:
Cuando cargue selecciona el Project language level en 6
Luego debe ir a Platform Settings -> SDKs y darle click al botón + y seleccionar "IntelliJ Platform Plugin SDK".
Luego debe crear el "Platform Plugin SDK". Debe hacer referencia al directorio de instalación de Android Studio (En mi caso está instalado en /opt/android-studio2/android-studio
Va a preguntar que JDK va a usar. Debe seleccionar la versión 1.8
El JDK va a quedar algo así:
Luego entre en la pestaña Sourcepath -> + para agregar el path donde descomprimió los sources de Android Studio.
Saldrá este diálogo y debes darle click en "OK"
Quedaría algo así:
Presione OK e indicará lo siguiente: (debe darle click a Attach Annotations)
NOTA: ¿Puedo usar las fuentes de IDEA en vez las de Android Studio?
Si, si puedes. Pero solo aplica cuando no quieras hacer algo realmente avanzado que use el plugin de Android Support (como SQLScout). Los sources de Android Studio pesan 9.4 GB y son 160 mil ficheros, por lo que a veces por razones de arranque del proyecto o velocidad de internet imposibilita utilizarlos.
Si tu plugin solo modificará ficheros, crear directorios u otra cosa como esta, basta con los sources de IDEA. En esta entrada explico como descargarlos:
Parte 3: Creando un Plugin de prueba
En esta parte hacemos que el plugin abra un diálogo cuando se de click en Tools -> Snorlax
Crea un nuevo paquete y llamalo "snorlax". Dentro de el irán nuestras clases
Saldrá un dialogo para crear el nuevo action.
Debes llenar los campos de la siguiente forma:
- Action ID: Es el identificador único del action. Se recomienda colocar el nombre de sus paquetes contenedores concatenado al nombre de la clase.
- Class Name: Nombre de la clase del nuevo action
- Name: Nombre que mostrará en la UI
- Description: Texto de ayuda que se mostrará en un tooltip o en la statusbar cuando se seleccione la UI del action.
En la siguiente imagen se visualiza mejor cada uno de los campos
La acción anterior crea nuestro action
El fichero plugin.xml
En el fichero plugin.xml ubicado en el directorio META-INF podremos editar la configuración de nuestro plugin
En la sección <actions> podremos añadir nuevos actions. Por ejemplo para añadir una nueva entrada al MenuBar podemos escribir lo siguiente
<group id="com.instant.snorlax.Menu.SnorlaxMenu" text="Snorlax" description="Snorlax actions"> <add-to-group group-id="MainMenu" anchor="last" /> <action id="com.instant.snorlax.depmanager.view.actions.LibrariesManagerAction" class="com.instant.snorlax.depmanager.view.actions.LibrariesManagerAction" text="Project Libraries manager" description="Add libraries to your project using a GUI"> <add-to-group group-id="ToolsMenu" anchor="first"/> <keyboard-shortcut keymap="$default" first-keystroke="altGraph L"/> </action> </group>
y el resultado será el siguiente:
Parte 4: Corriendo nuestro proyecto
Para correr nuestro proyecto presionamos mayus + F10. Debe abrir una instancia de Android Studio con nuestro plugin instalado.
Lo que sigue es que continues leyendo la documentación oficial de JetBrains
otros links de interés:
sábado, 20 de agosto de 2016
Crear una Libreria para Android (Guia rápida)
Esta guia también pudiera titularse convertir un proyecto de android studio a un proyecto de libreria.
Primero debemos crear un proyecto en Android Studio (File -> New -> New Project )
Luego de eso colocamos el nombre, en mi caso "safisapi"
Abrir el fichero build.gradle del módulo y sustituir
apply plugin: 'com.android.application'
por
apply plugin: 'com.android.library'
eliminar la linea que dice applicationId
Con esto ya tienes tu librería creada.
Para importarla en un proyecto debes seguir los siguientes pasos:
Abrir la opción para agregar un nuevo módulo
Abrir la opción para agregar un nuevo módulo
sábado, 21 de mayo de 2016
Crear pendrive usb booteable de Windows 10 desde Linux (Fedora)
Para poder crear una imagen booteable de W10 desde Linux debemos seguir los siguientes pasos:
1- Formatear el pendrive como fat32 (para poder ""engañar"" a UNetbooting)
2- Abrir UNetbooting y seleccionar la iso y la ruta del pendrive
3- Formatear el pendrive como NTFS
4- Montar el pendrive
4- Abrir la ventana de UNetbooting del paso 2 y darle al boton aceptar
Explicación paso a paso:
Primero abrimos GParted y seleccionamos el dispositivo (en este caso un pendrive de 8 Gb) y lo formateamos como fat32
Luego de formatear debería tener la etiqueta boot (NO CERRAR GParted!)
Luego abrimos UNetbootin , chequeamos la opción DiscoImagen y buscamos la imagen .iso de W10
No presionemos aceptar ni calcelar!
Abrimos GParted y formateamos el pendrive como NTFS
Luego abrimos una terminal como root y escribimos:
mount /dev/sdX1 /mnt
NOTA: en mi caso el pendrive está mapeado como /dev/sdc debes substituir según el caso
Luego volvemos a abrir y le damos aceptar
Se va a empezar a crear la unidad. Cuando termine el proceso estará lista
La prueba se hizo en Fedora 23 x86_64
sábado, 9 de abril de 2016
Crear un USB Live Booteable de Xiaopan
Primero te bajas Xiaopan. Si la pag oficial va muy lenta aquí tengo un link de mega:
http://wannabe-programmer.blogspot.com/2016/04/descargar-xiaopan-mega-1-link.html
Luego instalas UNetBootin
Desde Fedora lo puedes hacen con
dnf install unetbootin
Esperas a que cargue y LISTO
Recordatorio:
No crees la unidad USB con el comando dd porque no funciona con esta distro
http://wannabe-programmer.blogspot.com/2016/04/descargar-xiaopan-mega-1-link.html
Luego instalas UNetBootin
Desde Fedora lo puedes hacen con
dnf install unetbootin
Seleccionas la unidad USB y le das aceptar.
Esperas a que cargue y LISTO
No crees la unidad USB con el comando dd porque no funciona con esta distro
miércoles, 2 de enero de 2013
Crear estructuras en Okteta
Síntesis rápida
Necesita crear dos ficheros en el directorio /home/NOMBREDEUSUARIO/.kde/share/apps/okteta/structures/NOMBRE_X
- Un NOMBRE_X.osd donde guardará toda la información de la estructura
- Un NOMBRE_X.desktop para la presentación visual (No es tan importante).
(NOMBRE_X Es cualquier nombre que usted le quiera dar)
Ejemplo de como puede ser la estructura del fichero NOMBRE_X.osd:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<struct name="NombreDeLaEstructura">
<primitive name="UnChar" type="Char"/>
<primitive name="UnEntero" type="Int32"/>
</struct>
</data>
La anterior es una estructura que tiene dos campos primitivos: un carácter y un entero, que en C/C++ equivaldría a algo así:
struct NombreDeLaEstructura{
char UnChar;
int UnEntero;
}
struct NombreDeLaEstructura{
char UnChar;
int UnEntero;
}
El fichero NOMBRE_X.desktop puede ser algo así:
[Desktop Entry]
Encoding=UTF-8
Icon=code-context
Type=Service
ServiceTypes=KPluginInfo
Name[es]=Prueba
X-KDE-PluginInfo-Author=Hector Oliveros
X-KDE-PluginInfo-Email=hector.oliveros.leon@gmail.com
X-KDE-PluginInfo-Name=Prueba
X-KDE-PluginInfo-Version=1.0
X-KDE-PluginInfo-Website=http://www.plugin.org/
X-KDE-PluginInfo-Category=structure
X-KDE-PluginInfo-License=LGPL
X-KDE-PluginInfo-EnabledByDefault=true
Luego lo guarda y ya puede agregar la estructura
Ejemplo:
Imaginemos que queremos analizar un fichero binario que contenga, internamente, varias de estas estructuras
struct BCP{ int idControl; int pid; pid_t ppid; int gradoDePrioridad; int consumoAcumuladoDeCPU; int rafagasDeEjecucion[20];
struct Bloqueo{ int idControlProceso; uint tiempoDeBloqueo; int idRecurso; } bloqueos[20];
int instanteDeLlegada; enum TipoDeProceso{ BATCH = 0, TIEMPO_REAL = 1, INTERACTIVOS = 2 } tipoDeProceso; };
En este caso el fichero .osd sería algo así:
<?xml version="1.0" encoding="UTF-8" ?> <data> <enumDef name="Tipo_De_Proceso" type="Int32"> <entry name="BATCH" value="0" /> <entry name="TIEMPO_REAL" value="1" /> <entry name="INTERACTIVOS" value="2" /> </enumDef> <struct name="BCP"> <primitive name="IDControl" type="Int32" /> <primitive name="PID" type="Int32" /> <primitive name="PPID" type="Int32" /> <primitive name="GradoDePrioridad" type="Int32" /> <primitive name="ConsumoAcumuladoDeCpu" type="Int32" /> <array name="RafagasDeEjecucion" length="20"> <primitive type="Int32" /> </array> <array name="Bloqueos" length="20"> <struct name="Bloqueo"> <primitive name="IDControl" type="Int32" /> <primitive name="TiempodeBloqueo" type="Int32" /> <primitive name="IDRecurso" type="Int32" /> </struct> </array> <primitive name="InstanteDeLlegada" type="Int32" /> <enum name="TipoDeProceso" enum="Tipo_De_Proceso" type="Int32" /> </struct> </data>
Aquí puede descargar este ejemplo completo.
Solo debe pegarlo en la ruta:
/home/NOMBREDEUSUARIO/.kde/share/apps/okteta/structures/
Este es otro ejemplo funcional.
Links recomendados:
http://docs.kde.org/stable/es/kdesdk/okteta/tools-structures.html
http://docs.kde.org/stable/es/kdesdk/okteta/okteta.pdf
Links recomendados:
http://docs.kde.org/stable/es/kdesdk/okteta/tools-structures.html
http://docs.kde.org/stable/es/kdesdk/okteta/okteta.pdf
Suscribirse a:
Entradas (Atom)












































