Blog Michała Górnegoα

Sen o dziewczynie, która przedstawiła się mnie

Był jasny, choć praw­do­po­dob­nie dosyć chłodny dzień. Sta­łem na dosyć dziw­nym pero­nie. Choć dal­sze wyda­rze­nia suge­rują, iż musiał to być peron kole­jowy, to wyraź­nie pamię­tam, że z samego początku pod­cho­dzi­łem do sto­ją­cej na nim wiaty, zupeł­nie jak na przy­stanku tram­wa­jo­wym. Być może była tam rów­nież barierka, taka oddzie­la­jąca przy­sta­nek od jezdni.

W zasa­dzie to mia­łem już zato­pić się we wła­snych myślach i stra­cić kon­takt z rze­czy­wi­sto­ścią, kiedy nagle wyda­rzyło się coś nie­zwy­kłego. Nie wiem, czy to ona pode­szła do mnie, czy to ja do miej­sca, w któ­rym ona stała. Ode­zwała się do mnie, lecz nie dosły­sza­łem wszyst­kiego — być może dla­tego, że owy kon­takt z rze­czy­wi­sto­ścią mia­łem już tra­cić. Z całą pew­no­ścią poja­wiło się tam jed­nak nazwi­sko.

(…)

Apache jako proxy dla SSH

W prze­wa­ża­ją­cej licz­bie uczel­nie oraz inne insty­tu­cje, udo­stęp­nia­jące więk­szym gru­pom klien­tów dostęp do Sieci, mają skłon­ność do wpro­wa­dza­nia dosyć pry­mi­tyw­nych ogra­ni­czeń w korzy­sta­niu z niego — jak np. bez­myślne blo­ko­wa­nie połą­czeń wycho­dzą­cych na więk­szość por­tów. Jak­kol­wiek nale­ża­łoby je pochwa­lić za to, że wśród dozwo­lo­nych por­tów zna­lazł się uży­wany stan­dar­dowo przez SSH, to jed­nak we współ­pracy z typowo zabez­pie­czo­nym ser­we­rem na nie­wiele nam się zda.

Jed­nym bowiem ze sku­tecz­niej­szych, choć nie­zwy­kle pry­mi­tyw­nych, spo­so­bów zabez­pie­cze­nia ser­wera przed flo­odo­wa­niem za pomocą prób logo­wa­nia jest wyko­rzy­sta­nie nie­stan­dar­do­wego portu. Jak więc ukry­wać ser­wer SSH przed świa­tem, nie blo­ku­jąc jed­no­cze­śnie dostępu samemu sobie?

(…)

AutoUPnP — szybkie i uniwersalne przekierowywanie portów

Stan­dard UPnP IGD sta­nowi cał­kiem sym­pa­tyczne roz­wią­za­nie dla użyt­kow­ni­ków korzy­sta­ją­cych z NAT-owa­nego dostępu do Inter­netu. Można wręcz posu­nąć się do stwier­dze­nia, że w tego rodzaju sie­ciach uzu­peł­nia DHCP, umoż­li­wia­jąc wygodne i dyna­miczne zarzą­dza­nie wpi­sami DNAT (czyli popu­larne „prze­kie­ro­wy­wa­nie por­tów”).

Wbrew pozo­rom, roz­wią­za­nie takie spraw­dza się nie tylko w ama­tor­skich sie­ciach, gdzie admi­ni­stra­tor chce oszczę­dzić sobie wysiłku doda­wa­nia wpi­sów. Prze­kie­ro­wa­nia dyna­miczne spraw­dzają się rów­nież w sytu­acjach, gdy przyj­mo­wa­nie połą­czeń jest potrzebne jedy­nie przez krótką chwilę (np. aktywne FTP) czy ser­wer danej usługi „prze­miesz­cza się” (wraz z użyt­kow­ni­kiem) mię­dzy wie­loma kom­pu­te­rami.

(…)

<embed/>? <applet/>? <video/>?

Jed­nym z bar­dziej zawi­łych i nie­ja­snych zagad­nień zwią­za­nych z HTML-em jest osa­dza­nie zawar­to­ści mul­ti­me­dial­nej na stro­nach inter­ne­to­wych. Sto­pień nie­wie­dzy webma­ste­rów w tej kate­go­rii wręcz zaska­kuje; brak rze­tel­nych i kon­kret­nych infor­ma­cji — jesz­cze bar­dziej.

Nie ukry­wajmy, że typowy przy­pa­dek webma­stera, mając zamiar zamie­ścić na stro­nie inter­ne­to­wej film, naj­praw­do­podb­niej sko­rzy­sta z jed­nego z ogól­no­do­stęp­nych ser­wi­sów hostu­ją­cych takowe lub też wrzuci go wraz z jed­nym z odtwa­rza­czy we Fla­shu. Przy tym nie przej­mie się szcze­gól­nie spo­so­bem osa­dze­nia go — sko­rzy­sta z goto­wego, wyge­ne­ro­wa­nego kodu.

Dla­tego też posta­ram się dziś przyj­rzeć bli­żej poszcze­gól­nym aspek­tom i meto­dom osa­dza­nia zawar­to­ści, ich rela­cji ze stan­dar­dami i rze­czy­wi­sto­ścią, a także błęd­nymi prze­ko­na­niami cie­szą­cymi się nie­małą popu­lar­no­ścią.

(…)

fastconf — szybciej niż configure

Pod­czas swo­jej dłu­go­trwa­łej współ­pracy z Gen­too mia­łem przy­jem­ność (i nie­przy­jem­ność) pracy z wie­loma róż­nymi sys­te­mami budo­wa­nia. Pomimo znacz­nych róż­nic, zarówno w aspek­tach stricte tech­nicz­nych, jak i ogól­no­ide­olo­gicz­nych, wszyst­kie z nich łączyła pewne wspólna cecha — powolny wariant con­fi­gure.

Jak­kol­wiek i w tej kwe­stii można napo­tkać wyraźne róż­nice w wydaj­no­ści. Pomimo podej­mo­wa­nia róż­nych roz­wią­zań, mają­cych na celu (i uzy­sku­ją­cych) przy­spie­sze­nie wyko­ny­wa­nia tego pro­cesu, nadal nie wyko­rzy­stano wszyst­kich moż­li­wo­ści. Dla­tego też posta­no­wi­łem zająć się wła­snym roz­wią­za­niem w tej kwe­stii.

(…)

Wewnętrzna sprzeczność autotools

Sys­tem budo­wa­nia oparty o narzę­dzia GNU auto­to­ols cie­szy się znaczną popu­lar­no­ścią wśród wsze­la­kiego opro­gra­mo­wa­nia na sys­temy unik­so­po­dobne. Dostar­cza sporą garść metod, umoż­li­wia­ją­cych budo­wa­nie oraz insta­lo­wa­nie apli­ka­cji w spo­sób ade­kwatny do śro­do­wi­ska, a także znacz­nie uła­twia­ją­cych two­rze­nie prze­no­śnego kodu (cho­ciażby poprzez skrypty con­fi­gure).

Można wręcz powie­dzieć, że cała idea auto­to­ols kręci się wokół sze­roko rozu­mia­nej prze­no­śno­ści. Stąd też wynika inny pro­blem — koniecz­ność utrzy­ma­nia wewe­nętrz­nej prze­no­śno­ści kodu, a więc i korzy­sta­nia z ogra­ni­czo­nego zestawu narzę­dzi. Dla­tego też skrypty con­fi­gure to naj­prost­sze skrypty powłoki, a cały pro­ces budo­wa­nia wyko­rzy­stuje tylko make.

(…)

Uwierzytelnanie na stronach WWW, a bezpieczeństwo hasła

Słow­nik języka pol­skiego PWN defi­niuje cza­sow­nik uwie­rzy­tel­nić nastę­pu­jąco: uczy­nić coś wia­ry­god­nym; stwier­dzić auten­tycz­ność doku­mentu lub pod­pisu […]. W Inter­ne­cie, sieci otwar­tej prak­tycz­nie dla każ­dego, potrzeba uwie­rzy­tel­nia­nia jest wszech­obecna.

W prak­tyce naj­czę­ściej uwie­rzy­tel­nia­nie uprasz­cza się do stwier­dze­nia toż­sa­mo­ści, jako powią­za­nej z kon­kret­nym pro­fi­lem czy kon­tem, i upo­waż­nio­nej do zarzą­dza­nia nim. Może to być pro­sta skrzynka pocz­towa, dedy­ko­wane konto użyt­kow­nika na kom­pu­te­rze czy pro­sty pro­fil w obrę­bie ser­wisu WWW. Ja chciał­bym skon­cen­tro­wać się dziś na ostat­nim z tych aspek­tów.

(…)

mplayer — „system zarządzania kodekami”, 3:2

Od jakie­goś czasu na naszym pięk­nym IRC-u (#qwpx) prze­bywa zacie­kły fan­boj sys­te­mów z rodziny Win­dows, zwany x3nU. Jed­nym z jego pod­sta­wo­wych zarzu­tów wobec Linuksa jest to, iż nie posiada on jed­nego (wymu­szo­nego) sys­temu zarzą­dza­nia kode­kami jak Win­dows. Pomińmy jed­nak już zasad­ność jego argu­men­tów czy ich wewnętrzną sprzecz­ność (bo w końcu Direct­Show i VfW to dwie różne imple­men­ta­cje).

Posta­no­wi­łem posta­wić mu wyzwa­nie, mające udo­wod­nić, że kodeki dla Win­dows są w sta­nie zdzia­łać tyle samo, ile jeden, naj­zwy­klej­szy mplayer. Zasady cał­kiem pro­ste — on dostaje ode mnie trzy krót­kie fil­miki, zako­do­wane w róż­nych for­ma­tach, które mplayer jest w sta­nie odtwo­rzyć od ręki. Jego zada­nie polega na odtwo­rze­niu ich tylko i wyłącz­nie za pomocą kode­ków Direct­Show lub VfW (innymi słowy, mplayer czy VLC odpada).

(…)

Motolinuska z Linuskiem dogadać — czyli E6 na polu walki

Od dłuż­szego czasu jestem posia­da­czem tele­fonu Moto­rola ROKR E6, stan­dar­dowo wypo­sa­żo­nego w opro­gra­mo­wa­nie oparte o zmo­dy­fi­ko­waną wer­sję Linuksa 2.4. Wbrew pozo­rom, zasto­so­wa­nie takie­goż jądra na tele­fo­nie nie gwa­ran­tuje w pełni bez­pro­ble­mo­wej współ­pracy z sys­te­mami opar­tymi o stan­dar­dową wer­sję Linuksa 2.6. Dla­tego też dzi­siaj chciał­bym poru­szyć więk­szość zwią­za­nych ze współ­pracą tegoż tele­fonu z kom­pu­te­rem, a w szcze­gól­no­ści na kwe­stii udo­stęp­nie­nia tele­fo­nowi dostępu do Inter­netu (rów­nież za pośred­nic­twem Blu­eto­oth).

(…)

Czy swap może być przydatny?

Prze­strzeń wymiany powszech­nie rozu­miana jest jako swo­iste posze­rze­nie pamięci; zapa­sowy obszar na dysku, w któ­rym umiesz­czane są dane, które nie miesz­czą się w pamięci ope­ra­cyj­nej. W myśl tego, swap byłby wła­ści­wie uży­wany jedy­nie w przy­padku cał­ko­wi­tego zapcha­nia RAM-u, co na kom­pu­te­rze wypo­sa­żo­nym w 2 GiB pamięci ope­ra­cyj­nej nie wydaje się zja­wi­skiem osią­gal­nym w trak­cie nor­mal­nego użyt­ko­wa­nia. Stąd wielu użyt­kow­ni­ków docho­dzi do wnio­sku, że swap jest zupeł­nie zbędny. Czy słusz­nie?

(…)

Archiwum

2010
01
2009
12
08
07
06
05
04
03
02
01
2008
12
11
10
09
08
07
06
05
04
03
02
01
2007
12
11
10
09
08
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03

Kategorie

Wyszukiwanie

© 2009 Michał Górny, CC 3.0 BY-NC