wtorek, 26 stycznia 2010

Mszana Dolna - "Wizyta Mistrzów Sportów Zimowych"

Zdjęcia mają charakter bardziej pamiątkowy niż artystyczny, bo 4 dni w Mszanie to więcej niż majówka z bohaterką gry Tomb Rider ;)


Dziesięć lat temu przebiegłbym po tym ,dziś zaciskałem zęby żeby nie skąpać tyłka w lodowatej wodzie, na zdjęciu widać mistrza łamania kry przeprawiającego się po oblodzonych stopniach.



Nie często jest okazja przejść 6km w temperaturze sięgającej -20 stopni spacerkiem , przysłuchując się jednocześnie przygodom gdzieś z dalkeiego świata...

Pełny kejpax!




Gdybyśmy weszli do tej knajpy bez Piotrka pewnie Górale zrobili by z nas sałatke mazowiecką. Piotrek tuż przed wyjściem zostawił nad nami niewidzialną tarcze z napisem "Te świry są ze mną ;) "



hmmmm tyle myśli, tyle miejsc, jedno życie, trzeba działać!



Tutaj Piotrek pokazywał nam (bo wcześniej słyszelismy tylko z opowieści) jak zjada płat lodu wielkości głowy w ciągu 1 minuty...

żarcik ;)


To miejsce tak jak i wczesną wiosną tak i zimą zaskoczyło mnie swoim pięknem. Mało turystów, piękne góry, dużo śniegu, gdzie oko poleci tam bezkresna biel wypunktowana drzewami opadającymi ze wzgórz.

środa, 20 stycznia 2010

Belleville Shoe - test butów

...no cóż , ostatnie buty Rambo rozleciały się...




Tak więc przyszedł czas na nowy sprzęt wyprawowy, padło na buty marki Belleville






Pierwszy test wypadł całkiem nieźle, razem z Danielem wyszliśmy o 00:00 z punktu Ratusz Bemowo, o 01:20 byliśmy na bankowym, to był piątek kiedy była styczniowa śnieżyca zapowiadana w pogodzie, fakt nieźle wiało i sypało, brneliśmy często w śniego po 20cm, tak więc mała symulacja trudnych warunków się udała, a buty sprawdziły się idealnie!

W sumie przeszliśmy w 5h ok 20km.

Wymarsz skończył się po 5h, z niewielkimi stratami w postaci zmarzniętych nosów i lekkiego bólu w niektórych partiach mięśni. Faktem jest, że nie było tak łatwo jak rok wcześniej kiedy z Sebastianem przeszliśmy 45km w 9h, też zimą ale za dnia i bez śniegu pod nogami.

Klawy w imprezie nie uczestniczył z jasnych powodów, powiedział że on to ... takie imprezy i zostaje w domu ;)




Poniżej trasa , którą zrobiliśmy.





Oraz zdjęcie obok Zamku na starym mieście.

Karl Von Clausewitz

"War is not an independent phenomenon, but the continuation of politics by different means."

...i wiele innych ciekawych myśli można wyczytać w książce Karla Von Clausewitza. Książke postanowiłem odszukać po zobaczeniu filmu



Książka mówi generalnie o wojnie, o każdym małym jej elemencie, czy to od strony duchowej czy fizycznej, autor rozkłada każdy krok na części pierwsze i pokazuje co jest a co nie jest istotne by zwycieżyć, nie ważne na jakim polu.

Kilka myśli autora:

"Tylko jedno zwycięstwo jest decydujące - ostatnie."

"Podobnie bowiem, jak pewne rośliny wydają owoce tylko wtedy, gdy nie wybujaja zbyt wysoko , tak i w dzialanosci praktycznej nie nalezy pozwalac lisciom i kwiatom teorii zbytnio wyrastac, przeciwnie, rczaej trzymac je w sferze doswiadczenia, ktore jest gruntem im wlasciwym"

"Chcąc zatem w walce wytrwać dłużej niż przeciwnik , musimy się zadowolić celami możliwie małymi, z natury rzeczy bowiem daleko idący zamiar wymaga większego wysiłku niż mały"




piątek, 15 stycznia 2010

XMLHttpRequest w 5 minut

Kod który najlepiej wstawić do pliku js i podpiąć do strony:
var xmlHttp;
function ExecuteCall(url) {
try { xmlHttp = GetXmlHttpObject(CallbackMethod); SendXmlHttpRequest(xmlHttp, url); }
catch (e) { }
}





function GetXmlHttpObject(handler) {
var objXmlHttp = null;
if (!window.XMLHttpRequest) {
// Microsoft

objXmlHttp = GetMSXmlHttp();
if (objXmlHttp != null) {
objXmlHttp.onreadystatechange = handler;
}
} else {
// Mozilla | Netscape | Safari

objXmlHttp = new XMLHttpRequest();
if (objXmlHttp != null) {
objXmlHttp.onload = handler;
objXmlHttp.onerror = handler;
}
} return objXmlHttp;
}
function GetMSXmlHttp() {
var xmlHttp = null;
var clsids = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP.2.6", "Microsoft.XMLHTTP.1.0", "Microsoft.XMLHTTP.1", "Microsoft.XMLHTTP"];
for (var i = 0; i < clsids.length && xmlHttp == null; i++) {
xmlHttp = CreateXmlHttp(clsids[i]);
}
return xmlHttp;
}

function CreateXmlHttp(clsid) {
var xmlHttp = null;
try {
xmlHttp = new ActiveXObject(clsid);
lastclsid = clsid;
return xmlHttp;
}
catch (e) { }
}




function SendXmlHttpRequest(xmlhttp, url) { xmlhttp.open('GET', url, true); xmlhttp.send(null); }




//metoda odbierajaca
function CallbackMethod() {
try {

if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
var response = xmlHttp.responseText; if (response.length > 0) {
//update page

document.getElementById("result").innerHTML = response;
}
}
}
catch (e) { }
}

Tym wywołujemy:
ExecuteCall('http://www.MUCHSOFT.pl/strona.aspx?par=test');

strona.aspx - ta strona generujemy tresc jaka chcemy podstawic, nalezy pamietac o wycieciu calej tresci z pliku aspx i pozostawieniu tylko pierwszego wiersza tj:
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Web.home" %>


W poważniejszych rozwiązaniach zamiast strona.aspx stosuje się handlery , ale to grubszy temat.

poniedziałek, 11 stycznia 2010

Iframe i 100% wysokości

Jeśli używasz iframa, i zechcesz ustawić jego właściwość wysokości na 100% uzyskasz jedynie ok 200px.

Poniżej znajduje się rozwiązanie problemu:

js:

function resize_iframe()
{

var height=window.innerWidth;
if (document.body.clientHeight)
{
height=document.body.clientHeight;
}

document.getElementById("okno").style.height=parseInt(height-
document.getElementById("okno").offsetTop-8)+"px";
}


window.onresize=resize_iframe;



Oraz kod dla samego iframa zdarzenia onload:


iframe: id="okno" width="100%" onload="resize_iframe()"



finito

środa, 6 stycznia 2010

Jak zainstalować SharePoint na stacji roboczej

Jeśli instalujsze Visual Studio 2008 Extension for SharePoint na stacji roboczej najprawdopodbniej dostaniesz komunikat

"this product can only be installed if windows sharepoint services 3.0 has been installed first"

Wszystko da się obejść ;)

Odpalamy rejestr i dodajemy wpis:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0]

Sharepoint z wartoscia Installed

finito ;)

wtorek, 5 stycznia 2010

Przydatne funkcje w JS

iFRAME
Mamy strone w niej dwie ramki , chcemy wykonać przekierowanie ramki b z ramki a, rozwiązanie:

window.parent.document.getElementById('').src = '';


Ciasteczka

function Set_Cookie( name, value, expires, path, domain, secure )
{

var today = new Date();
today.setTime( today.getTime() );


if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}


function Get_Cookie( name ) {

var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}




Pokazywanie / ukrywanie diva

function DynamicDiv_NormalShow(div)
{
document.getElementById(div).style.visibility = 'visible';
}


function DynamicDiv_Hide(div)
{
document.getElementById(div).style.visibility = 'hidden';
}


Zbieranie wartośći z n textboxow

tbxName - prefix textboxa
indexStart - poczatkowy index
counter - ilosc kontrolek
function getValuesfromTexBox(tbxName, indexStart, counter)
{
var result = '';
for ( i = indexStart ; i < indexStart + counter ; i++ )
{
var tbx = document.getElementById(tbxName + '_' + i)
result = result + tbx.value + '~';
}
return result;
}


Pobranie wybranych wartosci z radio button list
function getSelectedValueFromRBL(radioList, counter)
{
var result = '';
for ( i = 0 ; i < counter ; i++ )
{
var cbx = document.getElementById(radioList + '_' + i)

if ( cbx.checked == true )
{
result = result + '1~';
}
else
{
result = result + '0~';
}

}
return result;
}



Dynamiczne odkrywanie i chowanie diva
function SetHeightUp(div, h)
{
if ( document.getElementById(div).style.height.replace("px","") < h )
{
document.getElementById(div).style.height = parseInt(document.getElementById(div).style.height.replace("px","")) + 10 + 'px';
var meth = "SetHeightUp('" + div +"'," + h +")";
t=setTimeout(meth,10)
}
//document.getElementById(div).style.display = 'block';
}

function SetHeightDown(div, h)
{
if ( document.getElementById(div).style.height.replace("px","") > h )
{
document.getElementById(div).style.height = parseInt(document.getElementById(div).style.height.replace("px","")) - 10 + 'px';
var meth = "SetHeightDown('" + div +"'," + h +")";
t=setTimeout(meth,5)
}
// document.getElementById(div).style.display = 'none' ;
}







Yes / NO

function GetYesOrNo(question){
var returnval=confirm(question)
return returnval;
}




Validacja adresu email:

function Validators_CheckEmail(str) {

var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at,(lat+1))!=-1){
alert("Invalid E-mail ID")
return false
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot,(lat+2))==-1){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(" ")!=-1){
alert("Invalid E-mail ID")
return false
}

return true
}

sobota, 2 stycznia 2010

Włącz swój 42' telewiozor i posłuchaj o złych ludziach na końcu świata

Necrobusiness - co wiesz na ten temat ?

No właśnie, nie wiele możesz wiedzieć tak jak i ja nic nie wiedziałem. Okazuje się, że powstał bardzo ciekawy film o tym co działo ( dzieje się? ) też w naszym kraju.

Tyle tylko, że ten film zgodnie z umową producenta nigy nie trafi na polski rynek, ups.

Film można znaleźć pod adresem:

http://rapidsharefilms.net/1547/rapidshare-necrobusiness-2008-dvdrip-xvid/