Marek Wywiał

software architect at i-dotcom

Telewizja N (nc+) i python

by Marek Wywiał

Aby się przeklikać przez program na http://n.pl/ i jeszcze znaleźć interesujący program, to jest ponad moje siły.

Napisałem więc na szybko narzędzie działające w shellu, które pozwala przeglądać oraz przeszukiwać program ze strony n.pl https://github.com/onjin/ntv/.

Instalacja

Program napisany jest w Pythonie i dystrybuowany jako egg

$ pip install ntv
$ ntv-cli --help

Kanały

Lista wszystkich kanałów nadających dzisiaj:

  • ntv-cli channels

Lista kanałów zawierających w nazie 'filmbox' (obojętne czy małe czy duże litery):

  • ntv-cli channels filmbox

Wyszukanie kanałów na wybrany dzień:

  • ntv-cli channels -d 2013-10-13
  • ntv-cli channels filmbox -d 2013-10-13

Programy

Lista wszystkich programów nadawanych dzisiaj:

  • ntv-cli movies

Lista programów nadawanych na kanałach mający w nazie 'polsat':

  • ntv-cli movies polsat

Lista programów nadawanych na kanałach 'polsta' zawierająca w nazie słowo 'mecz':

  • ntv-cli movies polsat -t mecz

Wyszukanie programów na inny dzień:

  • ntv-cli movies polsat -t mecz -d 2013-10-13

Fast sentry instance using docker

by Marek Wywiał

You need docker and postgresql database

If you have docker installed and postgres database created you can:

# pull sentry image
docker pull onjin/sentry

# install sentry database
docker run  -e SENTRY_DBHOST=your.db.address -e SENTRY_DBNAME=sentrydbname -e SENTRY_DBUSER=dbuser -e SENTRY_DBPASS=dbpass -p :7365 onjin/sentry upgrade

# run sentry instance
docker run -d -e SENTRY_DBHOST=your.db.address -e SENTRY_DBNAME=sentrydbname -e SENTRY_DBUSER=dbuser -e SENTRY_DBPASS=dbpass -p :7365 onjin/sentry start

and open browser at address:

Python SOAP server (flask) + wsdl generation

by Marek Wywiał

Install

$ pip install Flask-Enterprise

file: soap.py

 1 from time import ctime
 2 from flask import Flask
 3 from flaskext.enterprise import Enterprise
 4 
 5 app = Flask(__name__)
 6 
 7 enterprise = Enterprise(app)
 8 
 9 
10 class DemoService(enterprise.SOAPService):
11     __soap_server_address__ = '/soap'
12     __soap_target_namespace__ = 'ns'
13 
14     @enterprise.soap(_returns=enterprise._sp.String)
15     def get_time(self):
16         return ctime()
17 
18 if __name__ == '__main__':
19     app.run(host='127.0.0.1', port=5555)

Run service

$ python soap.py

file: client.py

1 from suds.client import Client
2 
3 c = Client('http://127.0.0.1:5555/soap?wsdl')
4 print c.service.get_time()

Run test

$ python client.py
Tue Aug 13 19:49:53 2013

quiet please !! disable audio bell in gvim

by Marek Wywiał
    More posts about:  
  • vim

I don't want to hear it any more, so I've put this into .vimrc

" quiet pleeeeeease

if has('autocmd')
autocmd GUIEnter * set visualbell t_vb=
endif

Rescan SCSI bus (no reboot)

by Marek Wywiał

Just self memo. How to attach new SCSI disk without reboot (debian):

# check what hosts do you have
ls /sys/class/scsi_host
host0 host1 host2 host3

# change 'host0' to 'host1' or any next number that you need
echo "- - -" > /sys/class/scsi_host/host0/scan

# and done

fdisk -l

extend lvm2 filesystem

by Marek Wywiał

Just self memo

# Added new physical partition /dev/sda3
# create a physical volume out of it
$ pvcreate /dev/sda3


# Now, add it to the volume group
#that my logical volume is on
$ vgextend VolGroup00 /dev/sda3


# Now that the volume group has more
# disk space, the logical volume can grow
$ lvextend -L+11G /dev/VolGroup00/LogVol00


# Ok, last of all, I want to filesystem to
# recognize that more space is available
$ fsadm resize /dev/VolGroup00/LogVol00

# sweet, I have more space now
$ df -h

vim + vundle plugin manager + programming

by Marek Wywiał

Kilku znajomych chciało zacząć używać vim'a. Ale konfigurowanie go na starcie, dobieranie pluginów, instalowanie ich, gdy się jeszcze nic nie wie tylko chce się spróbować zazwyczaj powodowało przełożenie tej próby na 'kiedy indziej'.

Niedawno poznałem i zacząłem używać plugin manager'a https://github.com/gmarik/vundle i sam potrzebowałem szybko przenieść konfigurację na drugi komputer i na laptopa. Zazwyczaj używałem dropbox'a i podlinkowanego pliku .vimrc oraz całego katalogu .vim ze wszystkimi pluginami.

Jednak używając plugin managera, którego konfiguracja znajduje się w .vimrc pozwala teraz posługiwać się jedynie plikiem .vimrc. Zgodnie z programistyczną zasadą 'jak masz coś zrobić więcej niż 2 razy, napisz program' powstał mały skrypt + podstawowy .vimrc pozwalający szybko uruchomić vim'a skonfigurowanego pod programowanie w ciągu kilku minut.

Jak na razie przydało się mi i kilku innym osobom :) . Plik .vimrc jest oczywiście przykładowy i jak już sobie poużywasz vim'a i zdecydujesz się go poznać lepiej wtedy po kolei skonfigurujesz go pod siebie.

Useful Collection of Cheat-Sheet Desktop Wallpaper for Web Designers

by Marek Wywiał
    More posts about:  
  • onjin

Grooveshark currentSong.txt + gajim status

by Marek Wywiał

Przy okazji szukania API do grooveshark'a odkryłem plik currentSong.txt, który jest tworzony przez Grooveshark Desktop.

Kilka minut z vim'em i mamy skrypt napisany w python'ie, który odczytuje w/w plik i wrzuca informację o aktualnie odtwarzanym utworze jako status wybranego konta w gajim'a.

Skrypt umożliwia także uruchomienie go w trybie monitorowania w/w pliku (wymana pyinotify). Wtedy nasz status będzie zmieniany w chwili (chwilę potem :) ) zmiany utworu w Grooveshark Desktop.

Całość można dowolnie używać/modyfikować, a pobrać można z serwiu github.com:

Do działania wystarczy nam plik grov2gajim.py. Umieszczamy go gdzieś na dysku i możemy używać.

thc/marijuana detox kits.

vim snippetsemu i liquibase

by Marek Wywiał

W ostatnim wpisie pisałem o snippetsEmu dla vim'a, a dziś załączam zestaw snippetów, których używam przy pracy z liquibase.

Liquibase to całkiem miłe narzędzie napisane w Javie do śledzenia, zarządzania i wprowadzania zmian w bazach danych. Zmiany opisuje się w pliku (plikach) xml i wpisywanie oraz pamiętanie tej składni można sobie uprościć przy pomocy vim'a i snippetów.

Snippet umieszczamy razem z pozostałymi, najczęściej w .vim/after/ftplugin/. Najprościej zacząć otwierając np. migration.xml, wpisując lhelp i wcisnąć TAB. Otrzymamy małą pomoc i możemy zaczynać wpisywać kolejną migrację :)

 » xml_snippets.vim.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT dx s: a C+++$ U>$ P+ L++$ !E-(+) W++$ N+ !o K--? !w !O !M !V PS PE !Y PGP !t !5 X++ R tv+ b+++ DI D G e+++(++++) h--- r y+++
------END GEEK CODE BLOCK------