Subget 1.4, wersja testowa dla Windows dostępna

Witam.

Od prawie roku zajmuję się rozwijaniem przenośnej aplikacji do pobierania napisów filmowych. W ciągu ostatnich kilku dni wydałem wersję 1.4 która wnosi dość pokaźną liczbę zmian dlatego zapraszam chętne osoby do testowania : )

Subget to wieloplatformowa aplikacja służąca do pobierania napisów filmowych, zbudowana w oparciu o przenośne biblioteki Pythona i GTK.
Od wersji 1.1 projekt skupił się na kompatybilności z innymi platformami systemowymi wspierając Linuksa, FreeBSD oraz od wersji 1.4 w fazie testowej system spod znaku okienek.

Funkcje programu:

  • Pobieranie napisów z ponad 9 serwerów w tym z napiprojekt.pl, opensubtitles.org, napisy.info czy napisy24.pl
  • Wielojęzyczność
  • Wieloplatformowość (Linux, FreeBSD, Windows)
  • Obsługę wtyczek (wewnętrzne API wciąż w rozbudowie, interfejs DBUS i wkrótce także COM)
  • Obsługę z poziomu shella
  • Funkcja szybkiego oglądania z napisami - Dwuklik na filmie pobiera i uruchamia odtwarzacz bez żadnych okienek dialogowych
  • Wewnętrzna konsola dla dewelopera

[Python] cz.4 | Podstawy podstaw, Typy danych

Zakładam, że między klawiaturą a Waszą osobowością znajduje się jakaś przestrzeń, weźcie kartkę, połóżcie na niej długopis, oraz kubek.

Do kubka nalejcie wodę, można prawda? Problem pojawia się wtedy kiedy do kartki spróbujecie nalać wody, jednak nie zmieści się i tylko narobi szkód. Podobnie jest w programowaniu.

W programowaniu mamy różne kontenery w których trzymamy dane, każdy z nich cechuje się czymś specjalnym - bo przecież z jakiegoś powodu je rozróżniamy.

Ciągi tekstowe

Najprostsze i najpowszechniej używane są właśnie ciągi, ciągiem tekstowym jest ten tekst przykładowo, może nim być także napis Hello world!

Ciągi zapisujemy objęte dwoma cudzysłowami, tak jakbyśmy kogoś cytowali, kto wie, może cytujemy siebie w naszym programie?

"Hello world" "Ciąg znaków"#!/usr/bin/env python ciag = "Hello world!" print(ciag)
Hello world!

Ciągi w pythonie łączymy przy pomocy znaku + oraz cudzysłowu.

[Python] cz.3 | Podstawy podstaw

Po dłuższej przerwie, po przygotowaniu edytora, środowiska i systemu przechodzimy w końcu do podstaw.

Python składnią nie przypomina raczej żadnego współczesnego popularnego języka programowania. W odróżnieniu od PHP, C, C++ czy Javy w Pythonie nie potrzeba stawiać średników, nie potrzeba także zamykać kodu w klamrach lecz należy pamiętać o wcięciach, są one bowiem w tym języku bardzo ważnym elementem składni.

Jak to bodajże sam twórca języka powiedział - odstępy o szerokości dwóch spacji zazwyczaj używane są w komercyjnym kodzie, zaś społeczność używa najczęściej czterech spacji, to taka ciekawostka.

#!/usr/bin/env python print("Hello world!") #!/usr/bin/python print "Hello world!"

Powyższe dwa listingi kodu to najprostsze programy "Hello world!", różnią się jakością kodu i tym samym kompatybilnością między różnymi wersjami Pythona oraz przenośnością kodu.

Nowy wygląd blogów dobrychprogramów

Witam.

Moim skromnym, subiektywnym zdaniem nowy wygląd blogów wygląda jak... Windows Phone 7, nie mam dokładnie pojęcia skąd to skojarzenie lecz jedno mi przychodzi na myśl - może przez te tytuły które wszędzie są takie duże. Estetyka zjechała na niższy poziom, przytłaczająca ilość tekstu a za mało jakichkolwiek obrazków, obramowań.

Bardzo fajnie, że zostały dodane tagi i został poprawiony edytor, lecz nie widzę tagu YouTube, gdzieś się zapodział.

Widzę, że została dodana galeria wpisu, trzeba to przetestować, a teraz test galerii.

http://www.2dayblog.com/images/2009/january/warbeast_wireless_guitar_1.jpg

Obrazków za nic nie potrafię dodać do tekstu :-)

Kliknięcie przycisku "Pomoc" pokazuje błąd 404. 

[Python] cz.2 | Instalacja i konfiguracja

Instalacja
Python dostępny jest dla Windows, Linux, *BSD, Haiku oraz MacOS X.

Niestety nie mam większej styczności z Haiku czy MacOS X dlatego proces instalacji pokażę tylko dla użytkowników systemów Linux, Windows oraz BSD.

Dla Windows gotowy jest instalator graficzny do pobrania ze strony python.org, zainstalowany interpreter domyślnie znajdzie się w C:\Python27 (gdzie 27=2.7 to wersja którą zainstalowaliśmy).

W dowolnym systemie opartym o Linuksa python powinien być już zainstalowany, a jeśli nie to można go zainstalować za pomocą menadżera pakietów.

Zazwyczaj w systemach Uniksowych jest dostępnych kilka wersji pythona np. python 2.5, python 2.6, python 2.7, python 3.1 czy python 3.2

Debian, Ubuntu, Linux Mint:
apt-get install python

Arch Linux:
pacman -S python2

Myślę, że dla Fedory czy Gentoo instrukcje są zbędne ponieważ ich menadżery pakietów yum oraz portage zostały napisane czysto w pythonie.

FreeBSD:

[Python] cz.1 | Czym jest Python?

Witam.

Zapewne mieliście już styczność z Pythonem, a jeśli jeszcze nie do końca wiecie do czego on służy i jakie ma możliwości to bardzo dobrze trafiliście aby się tego dowiedzieć.

Python

Jest interpretowanym, obiektowym językiem programowania najczęściej używanym w środowiskach Uniksowych z powodu większej ilości dostępnych bibliotek i integracji z systemami Uniksowymi.

Bardzo często używany jest do pisania mniejszych aplikacji desktopowych i serwerowych oraz stron internetowych.

Należy do jednych z łatwiejszych języków programowania które można nauczyć się w miarę szybkim czasie, pomimo to dysponuje bardzo dużymi możliwościami.

Podstawową zaletą Pythona jest to, że przy mniejszym nakładzie pracy można osiągnąć w przybliżeniu bardzo podobny efekt jak przy użyciu C/C++

Bo Wolność to szlachetna ideologia

Witam, dziś mam dla Was troszkę ideologiczny artykuł, mam nadzieję, że będzie się podobać :-)

UWAGA: Tekst kontrowersyjny, przestawiona poniżej postawa nie musi pasować wcale pasować do Was. Przedstawione postawy filozoficzne w zakresie różnych dziedzin nie muszą wszystkie iść razem w parze z liberalizmem. To tylko przykłady, nic więcej. Nic się nie musi zgadzać z Wami.

Bo Wolność to szlachetna ideologia

Linux, wolny i otwarty system operacyjny, lecz cóż on takiego posiada w sobie, że wszyscy o nim mówią?
Tak więc użytkownicy Linuksa dzielą się zazwyczaj na idealistów którzy doceniają ideę wolności a także w mniejszym stopniu na materialistów którzy widzą w tym dużo dobrego za całkiem niską cenę.

Atmosfera społeczności która podbudowuje ideologię wolności potrafi zrobić z człowieka w istocie liberała.

Migracja z Ubuntu na Debiana

Witam.

W rodzinie mam laptopa który służy głównie do przeglądania internetu, słuchania muzyki, oglądania filmów i kilku biurowych czynności.

Dawno, dawno temu zaraz po zakupie postanowiłem, iż postanie na nim Ubuntu wtedy jeszcze bodajże w wersji 9.10, wszystko było dobrze, jednak system po latach aktualizacji po prostu spowolnił - rodzina oczywiście zauważyła zbyt wolne uruchamianie systemu, głównie ekranu logowania oraz menadżera plików "Nautilus".

Ostatnio zabrałem się porządnie za zgłoszony do mnie problem i zainstalowałem Debiana w wersji stable.

Oczywiście wszystkie dane użytkowników wydzieliłem na osobną partycję specjalnie tak abym mógł to wszystko ładnie podpiąć pod nowy system.

Finalnie oddając komputer w ręce rodziny po kilku godzinach pracy zmiany w interfejsie były minimalne - układ interfejsu po zalogowaniu ten sam, ekran logowania niebieski zamiast ciemnego fioletu.

http://www.youtube.com/watch?v=JeI59mFRCPY

Chromium jako edytor HTML i Javascript, debugowanie kodu

Przeglądarka Chromium wygląda na bardzo ubogą w funkcjonalność przez co także i lekką przeglądarkę jednak pod maską tak na prawdę mieści bardzo dużo funkcjonalności. Jedną z nich jest wbudowany tryb do debugowania kodu HTML i Javascript.

Aby skorzystać z trybu edycji HTML w trybie rzeczywistym należy wybrać pozycję "Zbadaj element" z menu kontekstowego na dowolnym elemencie umieszczonym na stronie internetowej.

W dolnym okienku w zakładce "Elements" ("Elementy") powinna podświetlić się linia z wybranym do zbadania elemencie, można rozwinąć jej znaczniki, edytować atrybuty, wartości czy po prostu usunąć ze strony - efekt pojawi się natychmiast.

Z menu kontekstowego w dolnym okienku należy dwukrotnie kliknąć na treści umieszczonej w znaczniku aby edytować tytuł przycisku bądź linku.

Wybranie pozycji "Edit as HTML" pozwala na edycję całego znacznika razem z zagnieżdżonymi w nim znacznikami.

Proste sortowanie tablic według wielu kolumn metodą priorytetów

Tablice w programowaniu są nośnikiem danych zdołającym przechować wszelkiego typu dane w jednym wymiarze lub w wielu wymiarach.

Metoda sortowania według priorytetu pozwala tylko i wyłącznie na sortowanie już wcześniej znanych elementów i o to właśnie nam chodzi.

W przykładzie utworzymy sobie tabelkę z listą dostępnych napisów filmowych.

Etap pierwszy

Skupimy się na sortowaniu tabelki według języka oraz serwisu hostującego napisy.
Najważniejszy będzie dla nas język ponieważ możemy oglądać film z niezsynchronizowanymi napisami mając dostępną funkcję dopasowywania napisów "w locie" (SMPlayer). Serwis hostujący będzie sprawą drugorzędną ponieważ jedne dopasowywują napisy do filmów po treści (algorytm skrótu) a drugie po prostu po nazwach gdzie jak można się domyślić te pierwsze są bardziej trafne.

Nadajemy elementom języka priorytet

Język:
pl - 1
en - 2
es - 3

Ten sam krok należy powtórzyć w przypadku drugiej kolumny - "serwis"

Serwis:
napiprojekt.pl - 1
opensubtitles.org - 2