Archiwalia dla 08.2006

GNOME Main Menu (SLAB) w PLD

Znane dobrze użytkownikom SUSE menu, opracowane przez specjalistów użyteczności Novella, trafiło dziś do PLD. Dodałem dziś plik SPEC dla apletu i stosownego patcha dla pakietu gnome-desktop, który dodaje obsługę ostatnio używanych aplikacji.

GNOME Main Menu (SLAB) - Favorite Apps

Górną część menu zajmuje pasek wyszukiwania Beagle, który pozwala w łatwy sposób dotrzeć do plików, bez potrzeby majstrowania w systemie plików. Wpisanie tam dowolnego ciągu i wciśnięcie Enter uruchamia aplikację beagle-search. Prawa część to typowe zadania i stan komputera — połączenie sieciowe i dostępne miejsce na dyskach. Środkową zaś część okupuje standardowo lista ulubionych aplikacji, lista ta ma jednak trzy możliwe funkcje, za pomocą przełącznika można zmienić ją w listę ostatnio otwieranych dokumentów albo w listę ostatnio uruchamianych aplikacji:

GNOME Main Menu (SLAB) - Recently Used Apps

Pod listą znajduje się dodatkowy przycisk, uruchamiający wyszukiwarkę aplikacji zainstalowanych na komputerze:

GNOME Main Menu (SLAB) - Application Browser

Sprawuje się bardzo wygodnie i choć nie zastąpi raczej standardowego menu GNOME, jest bardzo miłym do niego dodatkiem.

Technorati Tags: , , , , , ,

The Daily WTF, part 5

Jeden z klientów zapytał nas, czy możemy zbudować dla niego system, który pozwoli wybrać poszczególne sekcje z broszury informacyjnej, a następnie wygeneruje dla użytkownika jeden plik PDF z całą wybraną treścią.

Jako przykład podał nam brytyjskiego usługodawcę, który podobne systemiki sprzedaje ich anglojęzycznym kolegom. A strona jego wprawiła nas w zachwyt niemały, a radości pomniejszym i większym końca nie było. Zwłaszcza, kiedy oglądaliśmy źródła ichnich skryptów ASP.

Wystarczyło bowiem zajrzeć w kod HTML, żeby znaleźć taki oto fragment:

<input type=button value="  DOWNLOAD NOW  "
onclick="javascript:test('C:/webroot/LocalUser/br4589/Website/files/34/userfiles/brochure_197866219.pdf');" >

Piękne, zwłaszcza, kiedy nieco niżej, bo u dołu dokumentu znaleźliśmy to cudeńko:

function test(atch){
	window.location.href="download.asp?file="+atch+"";
	}

Ciekawskim od razu odpowiadam, że tak, można w ten sposób pobrać boot.ini, pliki z katalogu z Windowsem oraz kod całego serwisu. Pogratulować pomysłowości autorom.

Technorati Tags: , , ,

Tango dla Gajima

Zbudowałem dzisiaj na szybko zestaw ikon bazowanych na projekcie Tango. Brakuje jeszcze rozmiaru 32×32.

Tango icons for Gajim

Do pobrania zestaw ikon, licencja taka sama, jak Tango. Wystarczy wypakować do katalogu data/iconsets/. Zgłosiłem też prośbę o dołączenie do samego Gajima.

Update: dodałem ikonki w rozmiarze 32×32. Link bez zmian.

Technorati Tags: , ,

MS Phishing Explorer

Taka drobna ciekawostka dla fanów Domyślnej Przeglądarki. Znaleziona w raporcie dotyczącym błędu z 2005. roku. Okazuje się, że to, co pojawia się w pasku stanu IE, nie ma nic wspólnego z tym, dokąd trafisz po kliknięciu odnośnika.

Prosty przykład:

<form action="http://7thguard.net/" method="get">
	<a href="http://google.com/"><input type="image" src="http://www.google.com/intl/en/images/logo.gif" alt="google.com" /></a>
</form>

Do pobawienia się przykład phishingu w IE. Tak, działa z każdym Service Packiem.

Technorati Tags: , , ,

Linux: ripowanie do mp3

Tym razem bez skryptu.

Wymagania

  • gnome-media
  • gstreamer-lame
  • sound-juicer

Konfiguracja

  1. odpalamy Sound Juicera
  2. wybieramy Preferencje, Modyfikuj profile…
  3. w nowootwartym okienku wbyieramy Nowy
  4. wybieramy nazwę dla profilu, na przykład MP3
  5. zaznaczamy nowy profil i klikamy Edycja
  6. w pole Potok GStreamer wpisujemy audio/x-raw-int,rate=44100,channels=2 ! lame name=enc
  7. w pole Rozszerzenie pliku wpisujemy mp3
  8. zaznaczamy Aktywny?
  9. klikamy OK, zamykamy preferencje i cieszymy się obsługą mp3

Technorati Tags: , , , , , ,

O tym, jak TePsa robiła ludzi w balona

Gdy spółka o2.pl zdecydowała się skorzystać z usług zagranicznego operatora trzeciego (Telia Sonera) by tym sposobem, przy dużym ruchu, oszczędzić kilkaset tysięcy złotych miesięcznie, TP zdegradowała ruch internetowy między abonentami TP a urządzeniami o2.pl, co spółka wykazała w postępowaniu. Degradacja ta oznacza, że obsługiwany przez o2.pl portal otwierany przez abonentów TP działał znacznie wolniej od innych konkurencyjnych stron internetowych, a tym samym korzystanie z usług oferowanych przez o2.pl na rzecz abonentów TP było bardzo utrudnione lub niemożliwe.

TP zmuszona odpuścić polskim operatorom, Internet Standard

Linux: iPod detection

Kolejny raz prosty skrypt, tym razem z prośbą o przetestowanie. Chodzi o automatyczne wykrywanie podłączonego iPoda. Zależy mi dodaniu automatycznej obsługi tych urządzeń do programów, które w tej chwili wymagają ręcznego podania nazwy urządzenia i punktu montowania (gtkpod, Quod Libet z wtyczką do iPoda). W tym celu muszę się upewnić, że wykrywanie działa prawidłowo.

Wymagania

  • dbus
  • hal
  • python
  • python-dbus

Skrypt

#!/usr/bin/python
import dbus

class IPodSeek (object):
	def findPod(self):
		bus = dbus.SystemBus()
		try:
			hal_manager_obj = bus.get_object('org.freedesktop.Hal',
				'/org/freedesktop/Hal/Manager')
			hal_manager = dbus.Interface(hal_manager_obj,
				'org.freedesktop.Hal.Manager')
			dev_udi_list = hal_manager.FindDeviceStringMatch ('portable_audio_player.type', 'ipod')
			for udi in dev_udi_list:
				vol_udi_list = hal_manager.FindDeviceStringMatch ('info.parent', udi)

				for vol_udi in vol_udi_list:
					vol_obj = bus.get_object ('org.freedesktop.Hal', vol_udi)
					vol = dbus.Interface (vol_obj, 'org.freedesktop.Hal.Device')

					if not vol.GetProperty('volume.is_mounted'):
						continue;

					return (vol.GetProperty('block.device'), vol.GetProperty('volume.mount_point'))
		except None:
			print 'HAL is down.'

		return ('', '')

	def __init__(self):
		(dev, mount) = self.findPod()
		print 'dev = %s; mount = %s' % (dev, mount)

IPodSeek()

Instrukcja obsługi

Wystarczy zapisać plik jako ipodseek.py i nadać mu prawa do wykonania (chmod +x ipodseek.py).

Prosiłbym o podanie w komentarzach, czy skrypt działa prawidłowo (iPod musi być zamontowany), konkretnego modelu iPoda i dystrybucji użytej do testowania. Jeśli wszystko pójdzie zgodnie z planem, przygotuję patche na źródła programów. Zgodnie z filozofią Apple, chciałbym żeby iPod po prostu działał.

Sprawdzone urządzenia

  • iPod Nano (PLD 3.0; Gentoo — Maciej Tas Litwiniuk)
  • iPod Shuffle (Ubuntu Dapper 6.06 — Maciej byte Chojnacki)

Implementacja

Na początek, przygotowałem patch dla wtyczki do Quod Libeta, jest do pobrania na stronie z wtyczką.

iPod detection actually works

Autor wtyczki poinformował mnie przy okazji, że planowane jest jej włączenie do podstawowego kodu Quod Libet.

Technorati Tags: , , , , ,

Hosting, szczerość i zadowoleni klienci

W ciągu ostatniego miesiąca DreamHost przeżywał trudny okres. Zdarzały się momenty, kiedy nie działało absolutnie nic. Niemniej jednak, uważam ich za najlepszą firmę hostingową, z jaką przyszło mi współpracować w roli klienta.

Dlaczego? Właściciele polskich hostingów powinni się od nich uczyć. Nie tego, jak zbudować panel hostingowy. Nie tego, jak powinna wyglądać strona takiej firmy. Nie tego, jak powinna kształtować się oferta (na polskie warunki nierealna zupełnie). Powinni się uczyć, jak się prowadzi dialog z klientami.

Zapraszam do lektury anatomii (trwającej) katastrofy.

DreamHost, I love you guys.

Technorati Tags: , ,