Tradución ó galego de Framadate

Framadate é un aplicativo para facer enquisas entre os membros de grupos, por exemplo para quedadas. Algo similar a doodle (privativo), dudle, nuages...

Hoxe enviei a tradución ao galego a traveso de github. En total foron algo máis de 300 cadeas.

Ferramenta de planificación de encontros/actividades

Unha das mais coñecidas é doodle, máis o que buscaba era algo de código aberto para instalar no meu servidor.

Dudle

Este foi o primeiro de código aberto que atopei, no sitio oficial pode verse o funcionamento. Aquí hai unhas instrucións de como instalar máis no meu caso, non fun quen de botalo a andar, penso que polas cousas que xa teño instaladas, supoño que se partise dunha instalación limpa si que iría.

Nuages

Nuages está desenvolvido en Django, descarteino porque xa teño un web2py e non quería mesturalo co Django.

OpenSondage

Baseado en STUdS, o proxecto foi renomeado a framadate

Framadate

Está case todo en Francés. Framadate está feito en php o cal me permite unha boa integración no meu caso.

Para a instalación seguín estas instrucións, están en francés pero entendese ben.

Sobre o descrito na instalación, realicei os seguintes cambios, no canto de empregar o usuario e grupo framadate para o código empreguei www-data.

Logo tiña outro problema, unha vez creada a enquisa non podía acceder á mesma, saía o erro "... /admin was not found on this server. ", aquí indican como resolvelo.

No meu caso vai sobre un cartafol (no vai na raíz do sitio).

Combinar ficheiro de son cun ficheiro de video

Precisaba xuntar (superpoñendo) un ficheiro de son cun de vídeo, neste caso eran dous ficheiros mp4, para elo empreguei desde a terminal a orde:

ffmpeg -i ficheiro_fonte_video.mp4 -i ficheiro_fonte_son.mp4 -c:v /
copy -c:a aac -strict experimental saida.mp4

Copiar ficheiros longos con rsync

Precisaba copiar uns catafoles dun vello disco a outro, quería conservar os permisos e propietarios polo que optei por empregar rsync.

A orde que enpreguei en concreto foi:

#rsync -a cartafol_orixe /cartafol/destino/

Nota: cartafol orixe remata sen barra e cartafol_destino si, de este xeito dentro de cartafol_destino crease un cartafol chamado como o orixe e mete dentro del todo o que haxa.

Outra opcion é empregar cp. O parámetro -u indica que só copia cando o ficheiro da fonte é máis novo que o destino ou cando non existe no destino. O parámetro -a (arquivo) fai que sexa recursivo, non recopia ficheiros.

# cp -au source dest

Fonte: serverfault.com

Emprego de virtualenv con Eclipse

Emprego Eclipse con engadido PyDev. Pois ben, este permite escoller o interprete python para cada proxecto.

No momento de configurar o proxecto (e unha vez creado tamén), pode seleccionarse o interprete.

Os interpretes poden xestionarse en Window->Preferences->PyDev->Interpreters->Python Interpreter. Desde aquí para engadir unha contorna virtual (virtualenv) no momento se seleccionar o executable, selecciono o da contorna virtual por exemplo: /home/usuario/.virtualenvs/envpy34/bin/

Un detalle é que o Eclipse vai tratar de avisar para engadir tamén as rutas fora da contorna as cales desmarquei.

Fonte: stackoverflow.com

Implantación (deployment) de wheezy.web con apache

Wheezy.web tal como indica a páxina do proxecto é lixeiro, de alto rendemento, infraestrutura web WSGI de alta competencia cos principais recursos para construír unha web moderna.

Partindo de cero comecei polo que indican en wheezy.web, instalar mediante o:
# easy_install wheezy.web

Instalando a versión wheezy.web 0.1.485 sobre python2.7. A versión do SO é un Debian Jessie instalado ad hoc para facer probas con esta infraestrutura web.

Logo puxen no cartafol /home/www-data/probaweb2/ os ficheiros wsgihandler.py e o hello.py

Nesta entrada Empregar wsgi en modo demo xa comentei como configurar o apache.

O wsgihandler.py contén:

import os
import sys

home = '/home/www-data/'
sys.path.append(home + 'probaweb2')
os.chdir(home + 'probaweb2')

from hello import main

def application(environ, start_response):
    environ['SCRIPT_NAME'] = ''
    return main(environ, start_response)

E o hello.py é o Hello world de wheezy.web:

""" Minimal helloworld application.
"""

from wheezy.http import HTTPResponse
from wheezy.http import WSGIApplication
from wheezy.routing import url
from wheezy.web.handlers import BaseHandler
from wheezy.web.middleware import bootstrap_defaults
from wheezy.web.middleware import path_routing_middleware_factory


class WelcomeHandler(BaseHandler):

    def get(self):
        response = HTTPResponse()
        response.write('Hello World!')
        return response


def welcome(request):
    response = HTTPResponse()
    response.write('Hello World!')
    return response


all_urls = [
    url('', WelcomeHandler, name='default'),
    url('welcome', welcome, name='welcome')
]


options = {}
main = WSGIApplication(
    middleware=[
        bootstrap_defaults(url_mapping=all_urls),
        path_routing_middleware_factory
    ],
    options=options
)


if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    try:
        print('Visit http://localhost:8080/')
        make_server('', 8080, main).serve_forever()
    except KeyboardInterrupt:
        pass
    print('\nThanks!')

Logo tocou reiniciar o apache:

# service apache2 restart

E no navegador ir á ip do servidor seguido de /proba, por exemplo: http://localhost/proba

Empregar wsgi en modo demo

Neste artigo explican como empregar o mod_wsgi en modo demo e cun número fixo de fíos. Polo que entendo o número fixo de fíos fai que a xestión dos mesmo sexa fixo evitando que sexa apache quen os xestione o que fará que se aforre uso de CPU.

No ficheiro do sites-enable engadín dentro do :

        WSGIDaemonProcess proba user=www-data group=www-data \
	 	 processes=2 threads=15 display-name=%{GROUP}
        WSGIProcessGroup proba
        WSGIScriptAlias /proba /home/www-data/probaweb/wsgihandler.py
        WSGIPassAuthorization On
        <Directory "/home/www-data/probaweb">
          AllowOverride None #isto non teño claro que sexa necesario
          <Files wsgihandler.py>
            Require all granted
          </Files>
        </Directory>

No ficheiro /home/www-data/probaweb/wsgihandler.py puxen:

# -*- coding: utf-8 *-*

import os, sys

sys.path.append('/home/proba/probaweb')

def application(environ, start_response):

    output = "Hello world!"
    start_response('200 OK',
                   [('Content-Type',
                     'text/html; charset=utf-8')])

    return output

Extraer audio dun video desde debian

Tiña un vídeo ó cal quería extraerlle o son. Sobre todo para que me ocupase menos para elo, primeiro instalei o ffmpeg:

# apt-get install ffmpeg

Tendo en conta que o ficheiro a converter se chamaba video_a_extraer_audio.mp4, logo executei a orde:

$ ffmpeg -i  video_a_extraer_audio.mp4 audio_extraido.mp3

Con isto pasoume o son ó ficheiro chamado audio_extraido.mp3 o cal puiden reproducir sen problema algún.

mysqltuner tuneando mysql/mariadb!

Instalación, como usuario root executamos:

# cd /usr/local/bin
# wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
# cd /usr/local/bin
# wget http://mysqltuner.pl/mysqltuner.pl
# chmod +x mysqltuner.pl

Execución:

# /usr/local/bin/mysqltuner.pl

VirtualBox 4.3.32

Despois de actualizar o Debian de Wheezy a Jessie deixaron de funcionar os controladores USB polo que non podía conectar nada ó sistema operativo convidado.

Resulta que o problema estaba en que no Jessie a versión do VirtualBox é a 4.3.32, máis as guest additions que están dispoñibles son as 4.3.18 a versión que lle corresponde non está polo menos eu no a atopei.

Buscando logrei atopar un sitio para a súa descarga, o iso está aquí:

http://download.virtualbox.org/virtualbox/4.3.32/

Instaleinas e novamente volveu funcionar a detección de dispositivos USB!!

Amosando 31 a 40 de 329