TechLife devBlog

Listopad 2008

Rippowanie muzyki z Last.fm

Linux, ArchLinux, Software, Techblog 29 listopada 2008 11:57

Aktualnie w polskim prawie nie ma przepisu zabraniającego nagrywania audycji radiowych. Oznacza to, że całkowicie legalnie możemy wejść w posiadanie sporych zbiorów muzyki. Nie każde radio jednak gra to czego chcielibyśmy słuchać. I tu pojawia się Last.fm – radio, które zna nasz gust i gra to co lubimy. Tylko jak teraz dobrać się do tej muzyki?

Odpowiedzią jest program TheLastRipper. Małe ale skuteczne narzędzie, pożerające adresy typu lastfm://. Wystarczy wskazać mu katalog, do jakiego ma rippować muzykę oraz stację.

Rezultatem działania TheLastRippera będą utwory znajdujące się w ładnie nazwanych katalogach (wg. schematu wykonawca > album > utwór) oraz pobrane okładki albumów w trzech rozmiarach.

Trzy rozmiary okładek mogą przeszkadzać. Np. mój QuodLibet przy odtwarzaniu utworu wybiera akurat najmniejszą okładkę co nie wygląda najlepiej. Ale łatwo można temu zaradzić. Wystarczy w katalogu z muzyką utworzyć skrypt zawierający:

find ./ -type f \( -name "SmallCover.jpg" -o -name "MediumCover.jpg" \) -delete

który usunie małe i średnie okładki z wszystkich podkatalogów.

Użytkownicy Archa aby pobrać pogram mogą skorzystać z aktualnego PKGBUILDa, który zamieszczam poniżej, ponieważ ten obecnie znajdujący się w AUR jest przestarzały.

PKGBUILD for version 1.1.1
pkgname=thelastripper
pkgver=1.1.1
pkgrel=1
pkgdesc="A Last.FM Ripper"
arch=('i686')
url="http://thelastripper.com/"
license=('GPL')
depends=('gnome-desktop-sharp' 'gnome-icon-theme')
makedepends=('pkgconfig')
source=("http://thelastripper.googlecode.com/files/$pkgname-$pkgver.tar.gz")
md5sums=('9a8653cc0cf450077b599cb8988ba8a3')
build() {
export RSVG_SHARP_20_CFLAGS="/usr/share/rsvg2-sharp/2.0/rsvg2-api.xml"
export RSVG_SHARP_20_LIBS="/usr/lib/mono/rsvg2-sharp-2.0/rsvg2-sharp.dll"
cd $startdir/src/$pkgname-$pkgver
# Bypass GMCS and fakeroot bug
mkdir -p $startdir/src/$pkgname/.wabi
export MONO_SHARED_DIR="$startdir/src/$pkgname/"
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}

Załącznik 1 - lista adresów last.fm

  • lastfm://user/$username/personal
  • lastfm://user/$username/playlist
  • lastfm://artist/$artistname or lastfm://artist/$artistname/similarartists
  • lastfm://globaltags/$tag
  • lastfm://group/$groupname
  • lastfm://user/$username/neighbours
  • lastfm://user/$username/recommended/100
  • lastfm://play/tracks/$trackid,$trackid,$trackid

Kolorowanie terminala

Linux 28 listopada 2008 18:02

Jeżeli Twój terminal wygląda tak:

To raczej nie macie pojęcia gdzie kończy się jedna komenda a zaczyna następna. Ale jest na to prosty sposób. Wystarczy w katalogu domowy wyedytować plik .bashrc (o ile używacie tej powłoki) i zmienić (lub dopisać) linię:

PS1='[\[\033[32m\]\u@\h \[\033[33m\]\W\[\033[0m\]]\$ '

Rezultat:

Odpowiednio dla roota edytujemy /root/.bashrc

PS1='[\[\033[31m\]\u@\h \[\033[33m\]\W\[\033[0m\]]\$  '

Gdyby ktoś chciał poeksperymentować z kolorami to może zajrzeć w ten skrypt (wygrzebane na forum archa)

Nowe projekty: noku.pl

Internet, Portfolio, Projekty 15 listopada 2008 22:30

logo5

Nic ostatnio nie pisałem ponieważ cały wolny czas zabrał mi nowy projekt, a właściwie to praca magisterska ;-) Nowy twór to noku.pl, co w zamierzeniu ma być narzędziem do komunikacji student-student oraz student-wykładowca.

Cały pomysł opiera się na tym, żeby odgonić studentów od zakładania (w byle jakich miejscach) for/stron swoich „roków” i zgromadzić ich w jednym miejscu, dostarczając narzędzie skrojone na miarę i przystosowane do warunków studenckich. Następnie przyciągnąć w to miejsce nauczycieli akademickich, tak żeby mieli w jednym miejscu wszystkich swoich studentów, dzięki czemu wymiana materiałów czy informacja typu „nie ma mnie jutro na uczelni” trafiała natychmiastowo tam gdzie trzeba. Do tego dochodzą strony kół naukowych i mamy już małą e-uczelnię. Każdy wie co i gdzie piszczy.

Oczywiście co większe uczelnie mają już podobne systemy wymiany informacji/materiałów ale:
a) nie wszystkie, np. Politechnika Opolska nie ma i nie zanosi się żeby miała
b) inwigilacja studentów (w systemie hostowanym przez uczelnię) i tak sprawi, że do nieskrępowanej komunikacji pomiędzy sobą studenci założą gdzieś własne forum

Dlatego całym pomysłem na serwis jest:

  • wyprowadzenie systemu poza uczelnię
  • bezpieczna i zamknięta wymiana informacji/materiałów pomiędzy studentami
  • zapewnienie nauczycielom łatwego kontaktu ze studentami przez to, że będą mieli wszystkich w jednym miejscu

Od strony technicznej system jest przewidziany na N uczelni. Ograniczeni jesteśmy jedynie zasobami serwerowymi dlatego, póki co jesteśmy w stanie hostować tylko studentów z obszaru Politechniki Opolskiej.

Całość napisana jest w Django i działa na konfiguracji Ubuntu server, Nginx, PostgreSQL. Co najważniejsze kod serwisu jest dostępny na licencji AGPL !! Jesteśmy chyba jednym z niewielu polskich serwisów Django-wych, które zdecydowały się opublikować kod. Miejmy nadzieję, że wywołamy nową tendencję wśród aplikacji webowych dzięki czemu będziemy mogli się wzajemnie od siebie uczyć.

Linki:
noku.pl
blog.noku.pl (oczywiście jogger)
bugs.noku.pl (kod źródłowy oraz błędy)