poniedziałek, 19 września 2011

vimdiff on directories

Jedyną rzeczą której mi brakowało w gedit/rubymine było porównywanie katalogów, prawde mówiąc był to jedyny powód dla którego korzystałem od czasu do czasu z Eclipse/Aptana gdzie to działało rewelacyjnie.
Do teraz, bo właśnie znalazłem plugin DirDiff:

http://www.vim.org/scripts/script.php?script_id=102

wystarczy wpisać:

:DirDiff katalog1 katalog2

a oto efekt:

niedziela, 24 lipca 2011

XBMC match movie title based on filename

Bardzo często zdarzało mi się że XBMC przydzielał niepoprawny film z imdb na podstawie dziwnej nazwy pliku np: "rx-hl-720p-dtshd.mkv"
Z poziomu interfejsu XBMC znalezienie takich nieprawidłowości było niemożliwe.

Większość moich filmów ma poprawne nazwy katalogów więc pomyślełem że mogę użyć nazwy katalogu do weryfikcaji tego co XBMC przypisał do danego pliku na dysku.

XBMC składuje swoje dane w sqlite i ma ładny opis co gdzie leży. W związku z tym napisałem króciutki programik do weryfikacji mapowań XBMC:


require 'rubygems'
require 'sqlite3'

STOPWORDS = [ "the", "ii", "iii", "iv", "v", "vi", "3d"]
WHITELIST = YAML.load_file(ENV['HOME'] + '/bin/xbmc-verify.yml')

def detect_movie(title, path)
words = title.downcase.gsub(/[^a-z0-9]+/, " ").gsub(/ +/, " ").split(" ")
words.delete_if { |w| STOPWORDS.include? w }
dir = path.downcase
included = words.collect { |w| dir.include?(w) ? true : nil }.compact
included.length == words.length
end

db = SQLite3::Database.new ENV['HOME'] + "/.xbmc/userdata/Database/MyVideos34.db"

db.execute("select c00, c16, strPath from movieview" ) do |row|
next if WHITELIST.include? File.basename(row[2])
unless detect_movie(row[0], row[2]) or detect_movie(row[1], row[2])
movie_title = row[1]
movie_title << " (#{row[0]})" if row[0] != row[1]
puts "!!! #{movie_title} - #{row[2]}"
end
end

sobota, 28 maja 2011

Windows 7

Ponieważ w najbliższej przyszłości czeka mnie (o zgrozo!) naprawa dwóch windowso napędzanych pecetów które rodzinka i znajomi chcą mi podrzucić, postanowiłem przećwiczyć instalacje nowej odsłony okienek na własnym komputerze aby uniknąć problemów na w/w zestawach.

Korzystając z opisu Kevina stworzyłem z obrazu płyty instalacyjnen bootujący dysk USB i uruchomiłem system z niego, na czarnym ekranie mignęło coś ala "ładowanie windows", więc czekam...

Wow, po kilku minutach ujrzałem tapetę nowego windowsa i kursor myszki (nawet reagował na ruch gryzonia!) i to by było na tyle, więcej nic sie nie dzieje, dysk z którego uruchomiłem system nie pracuje - pomyślałem że już udało mu sie zawisnąć.

Ale dostał szansę, w tap defence na telefonie włączyłem kolejne kilka plansz więc dostał gdzieś z 10 minut spokoju. Okazało się że to mu bardzo pomogło bo po ~15 minutach nareszcie pokazał coś do klikania na ekranie.
A więc standardowa akceptacja regulaminu, czy robie upgrade czy instaluje od nowa etc.
Wybrałem nową instalację i moim oczom ukazała się następująca plansza:



Gwoli wyjaśnienia, mam w komputerze 9 dysków - system uruchamiam z WD Raptora 74GB,
na którym mam ubuntu i windowsa viste - domyśliłem się że to dysk 4.

Pytanie która partycja to Vista a która Ubuntu?

"Drogi" microsofcie - czy tak trudno było w polu nazwa dać nazwę producenta i model, a w typie wyświetlić typ partycji (ntfs, linux, etc) ?

Cóż - zagadka pozostanie niewyjaśniona bo szkoda mi stracić swoje dane, ja mam już dosyć, eksperymentował dalej będę na dostarczonych pctach.

niedziela, 15 maja 2011

ubuntu 11.04 so which tab is active?


Obok laptopa mam monitor, każdy z ekranów jest inaczej ustawiony i aby zobaczyć aktywną zakładkę muszę patrzeć na ekran pod odpowiednim kontem - okazało się że nie tylko ja mam taki problem, rozwiązaniem jest ostylowanie aktywnej zakładki w poniższy sposów:

lowang@lowang-laptop:~$ cat .gtkrc-2.0 
style "gnome_terminal_notebook"
{
fg[NORMAL] = "#00ff00"
}

widget "*TerminalWindow.*.GtkNotebook*" style "gnome_terminal_notebook"


po tym tylko restart aplikacji i zmiana powinna być widoczna.

na podstawie:

http://askubuntu.com/questions/40332/how-to-make-selected-tab-in-terminal-more-prominent

Ubuntu 11.04 Natty Narwhal

Od wersji 10.04 Ubuntu zaczęło być dla mnie na tyle dopracowane, że nie śpieszyłem sie z kolejnymi upgrejdami do nowszych wersji. Natomiast zawsze z niecierpliwościa obserwowałem co tym razem zostanie dodane/zmienione w tej wyśmienitej dystrybucji. Tym razem miał być to nowy interfejs więc zaraz po pojawieniu się wersji 'stabilnej' zrobiłem 2 upgrejdy - na kompuerze domowym i na laptopie. Pierwsze wrażenie - WOW, jak to teraz wygląda, nowy luncher ala osx, i ... zwis. Wróciłem do starego kernela na desktopie (Asus P5K Pro) i zniknęły problemy ze stabilnością. Przynajmniej tak mi się wtedy wydawało ;-) Co do samego nowego lunchera - jest świetny, uwielbiam jak ikonka epiphany (chat klient) podskakuje sobie po otrzymaniu nowej wiadomości - coś czego zawsze zazdrościłem osxowi (Adium) teraz mam w ubuntu.

Ok, teraz trochę o wadach - do tej pory nie wiem jak edytować programy w nowym luncherze, próżno szukać opcji edytuj pod prawym przyciskiem myski. Gdzieś na forach czają się opisy jak to zrobić ale nie wygląda to na trywialną operację.
Kolejna sprawa to po kilku dniach używania (robię sleep na noc w desktopie, laptop chodzi cały czas) zauważyłem że gdzieś mi pamięć znika. Winowajcą okazał się compiz - potrafi 3G pamięci zjeść przez kilka dni, magiczne Alt-F2 i compiz --replace rozwiązują chwilowo problem ale trzeba pamiętac aby raz na dzień to zrobić.

Podsumowując jestem zadowolony ze zmiany, Ubuntu to darmowe oprogramowanie i nie ma co od niego wymagać aby było perfekcyjne od dnia wydania, z czasem wszystkie niedogodności które napotkałem zostaną rozwiązane i dzięki automatycznym aktualizacją pojawią się na moich komputerach, lecz na przyszłość postaram się pamiętać aby nowy system instalować z kilkutygodniowym opóźnieniem.