Uspelo je! Na strežniku sedaj prvič po nekaj letih teče komercialen operacijski sistem. Namestitev je potekala brez težav, hitro in v nekaj klikih sem usposobil tako Apache kot IIS7. Sistem je presenetljivo hiter za mojo staro “kišto” in občutek imam da deluje skoraj hitreje kot prej. Sedaj bom lahko v prihodnosti okusil še ASP.NET, saj imam končno stabilno platformo za preizkušanje.
Zahvalil pa bi se tudi prijatelju Marku, ki mi je (in bo
) pomagal pri spoznavanju novega sistema.
Vsebina
Kategorije
- Coding (PHP, C#,…) (20)
- Internet (15)
- Life & Stuff (10)
- Razno (2)
- Software (2)
Blogroll
Zadnje objave
Zadnji komentarji
Arhiv
RSS
Po dolgem času so spet prišle počitnice in uspelo mi je najti nekaj časa za programiranje. Po naključju sem na google-u našel še en zanimiv delček WPF - InkCanvas. Gre za neke vrste risalno površino, ki sicer obstaja v različici za WinForms, a je tu malce izpopolnjena.
Da ne bi predolgo govoril o vseh zmožnostih in enostavni uporabi, sem spisal “light” različico slikarja, ki premore osnovne funkcije za risanje, za delovanje pa načeloma potrebuje .NET 3.0 SP1 (preizkušeno deluje na .NET 3.5 SP1).
ScreenShot:

Na kratko:
- shranjevanje v “lasten” .ink format (in odpiranje)
- shranjevanje v JPG, GIF ali PNG
- risanje v 5 barvah, 2 vrsti radirke
- ikone izhajajo iz odprtokodnega “Tango-Project”
Prihodnost…
- odpiranje obstoječih bitnih slik
- nekaj osnovnih učinkov
- boljši izbirnik barv
- …
DOWNLOAD (za izvorno kodo sem dosegljiv na e-mailu)
Spominjam se časov, ko mi sem uspešno skompajlal svoj prvi “Hello World” program. Bil sem presrečen, da mi je uspelo, po drugi strani pa žalosten iz enega razloga - delovanje znotraj ukazne vrstice. Ideja o kreiranju grafičnega vmesnika, ki bi bil uporabniku prijazen in ne bi zahteval ur in ur sedenja pred nerazumljivimi vrsticami kode se mi je zdela nemogoča.
Pred kratkim pa mi je prijatelj Tadej pokazal zelo zanimivo zadevico - WPF (Windows Presentation Foundation). Gre za “pisanje” vmesnika v nekakšni XML kodi (XAML), ki se jo kasneje zelo enostavno poveže z npr. C# in brez posebnega truda dobimo moderen, enostaven in po naši željah oblikovan vmesnik. Visual Studio 2008 ima vgrajen tudi grafični (WYSIWYG) vmesnik za urejanje XAML, ki je precej dober, obstaja pa tudi še boljše orodje, ki ima to v “krvi” - Microsoft Expression Blend 2.
Urejanje v Expression® Blend 2:

Tudi sam sem preizkusil C# ter XAML in spisal aplikacijo za računanje z ulomki. Aplikacija omogoča krajšanje, seštevanje ter množenje ulomkov. Pri krajšanju je na voljo možnost uporabe Evklidovega algoritma, ki čas potreben za krajšanje večjih ulomkov precej zmanjša.
Deluje na sistemu Windows Vista z nameščenim .NET Framework 3.5.
Download:
- Program (.exe)
- Izvorna koda (VS 08 project)
Kot sem obljubil, je tu moj prvi C++ programček, ki je preko knjižice “freeglut” povezan z OpenGL. Stvarca nariše vrtečo 3D kocko. V ukazni vrstici se izpisuje tudi število sličic na sekundo, za katerega pa dvomim, da je natančno (čeprav bi načeloma moral biti).
Izvorna koda:
#include <windows.h>
#include <iostream>
#include <time.h>
int fps = -1;
int speed = 0;
time_t ts;
time_t te;
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glRotatef(0.08, 0.7, 3, 1);
glBegin(GL_QUADS);
glColor3f(0,0,1);
glVertex3f(-0.5, -0.5, -0.5);
glVertex3f(-0.5, -0.5, 0.5);
glVertex3f(0.5, -0.5, 0.5);
glVertex3f(0.5, -0.5, -0.5);
glColor3f(0,1,0);
glVertex3f(-0.5, 0.5, -0.5);
glVertex3f(-0.5, 0.5, 0.5);
glVertex3f(0.5, 0.5, 0.5);
glVertex3f(0.5, 0.5, -0.5);
glColor3f(1,0,0);
glVertex3f(0.5, 0.5, -0.5);
glVertex3f(0.5, 0.5, 0.5);
glVertex3f(0.5, -0.5, 0.5);
glVertex3f(0.5, -0.5, -0.5);
glColor3f(0.5,0,0.5);
glVertex3f(-0.5, 0.5, -0.5);
glVertex3f(-0.5, 0.5, 0.5);
glVertex3f(-0.5, -0.5, 0.5);
glVertex3f(-0.5, -0.5, -0.5);
glColor3f(0.5,0.5,0);
glVertex3f(0.5, 0.5, 0.5);
glVertex3f(0.5, -0.5, 0.5);
glVertex3f(-0.5, -0.5, 0.5);
glVertex3f(-0.5, 0.5, 0.5);
glColor3f(0,0.5,0.5);
glVertex3f(0.5, 0.5, -0.5);
glVertex3f(0.5, -0.5, -0.5);
glVertex3f(-0.5, -0.5, -0.5);
glVertex3f(-0.5, 0.5, -0.5);
glEnd();
te = time (NULL);
if (te - ts >= 1.0 || fps == -1) {
ts = time (NULL);
std::cout << "\rFPS: " << fps;
fps = 0;
}
fps++;
//Sleep(10);
glFlush();
glutPostRedisplay();
}
int main(int argc, char* argv[])
{
ts = time (NULL);
glutInit(&argc,argv);
glutCreateWindow("Net-Lord 3D");
glutInitWindowSize(600,600);
glutInitWindowPosition(10,50);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA|GLUT_DEPTH);
glEnable(GL_DEPTH_TEST);
glutDisplayFunc(display);
std::cout << "Ustvarjam...OK\n\n";
std::cout << "(fps stevec naj bi bil realen)\n\n";
std::cout << "\rFPS: ";
glutMainLoop();
return 0;
}
ScreenShot:

Download:
OpenGL - cube
Ta teden je bil zelo zanimiv in poln raznih dogodivščin. S šolo smo v tem času imeli prvi športni dan, ki se ni odvijal ravno po načrtih, saj je bila končna točka mišljena vse prej kot na mestu, kjer je več kot polovica skupin končala pot. Na koncu se je, kljub vsemu, vse srečno končalo in ob 10.15 smo bili že prosti.
V petek in soboto je bilo tudi pestro. S prijatelji smo namreč preživeli dva dni v Münchenu in njegovi okolici. Obiskali smo tehnični muzej, rudnik soli in mnoge druge zanimive kraje. V enem izmed muzejev nam je uspelo sprožiti alarm (nekdo od nas se ni držal izven ograjenih prostorov
), a na srečo ni bilo posledic. Ker je seveda brez interneta težko preživeti dva dni, sva se prijateljem uspela povezati tudi na eduroam bližnje univerze in preveriti zadnje novice.
Spodaj vam prilagam še dva linka do JavaScript aplikacij, ki so nastale v tem tednu:
- <canvas> “Bounce”
- JavaScript benchmark1
Ukvarjati sem se začel tudi z OpenGL preko C++ (GLUT) in moram reči, da stvar raztura. (kmalu lahko pričakujete kakšnen progy)
- Zadevica malce premetava array-e, uporablja nekaj matematičnih funkcij in ustvarja ter bere DOM elemente [↩]
V tej objavi vam predstavljam novo <canvas> animacijo. Tokrat je zadeva bolj napredna in ni več sestavljena le iz osnovnih oblik. Ob ustvarjanju smiley-a sem namreč spoznal še risanje enostavnejših krivulj in bolj podrobno spoznal način delovanja poti (paths).
Zahvalil bi se tudi prijatelju andr3ju, ki mi je priskočil na pomoč pri kotnih funkcijah (za vrtenje oči), saj na žalost tistih res uporabnih stvari v šoli ne spoznamo ravno zgodaj.
Animacija seveda deluje v vseh modernejših brskalnikih (kar izključuje IE), še posebej lepo pa v Google Chrome.

Link:
http://stuff.net-lord.net/smiley/
Čez vikend sem imel malo preveč časa, kar mi je omogočilo, da sem si malce pogledal element <canvas> in risanje vanj. Moram priznati, da je stvar zelo prisrčna in morda celo uporabna. Seveda je podpora s strani brskalnikov malce slabša, saj tisti “ta glavni” tega ne podpira (IE).
Med samim preizkušanjem, pa sem prišel še do spoznanja, da je v tem trenutku Google Chrome na področju izvajanja JavaScript-a daleč pred vsemi. Risanje v <canvas> in hitrost le-tega je namreč močno odvisna od hitrosti JavaScript pogona, kjer blestita predvsem GC in Safari (kmalu se bo pridružil še FF s TraceMonkey-em).
Spisal sem tudi preprosto “animacijo” in prišel do sledečih ugotovitev:
- MAX fps v Firefox: cca. 65
- MAX fps v Operi: cca. 69
- MAX fps v Safari: cca. 100
- MAX fps v Google Chrome: cca. 1000 (resničen maksimum glede na mojo JS kodo)
- MAX fps v IE 7: cca. 4 (VML ActiveX)
Pa še linkec:
Včeraj me je Notepad++ malce ujezil in odločil sem se, da malce pogooglam za kakšen PHP & HTML urejevalnik. Med iskanjem nečesa majhnega in preprostega pa sem naletel na pravo “mašinco” - Aptana Studio1.
Zadevica me je popolnoma presenetila, saj ima praktično vse kar sem si lahko kadarkoli želel. Podpira sprotno preverjanje sintakse za PHP, HTML, CSS, JavaScript ter “code tips” za vse 4 jezike. Podpira tudi pomoč pri pisanju kode s pomočjo knjižic kot so jQuery, ext2 in podobne.
Morda edina slabost je poraba sistemskih sredstev, ki pa je zaradi temeljev na Javi precej velika.
Še ScreenShot:

- Community edition je OpenSource [↩]
Torej, kaj ima to dvoje skupnega? - prav nič. Že nekaj časa sem imel namen malce potipati JSON, saj sem potreboval nekaj takega za nadomestitev XML-a ali pa pretiranega števila requestov na server v kateri od mojih aplikacij. Nažalost pa spet nisem našel ideje kje bi zadevo preizkusil.
Danes pa je ideja prišla iz mesta, kjer bi najmanj pričakoval. Pri matematiki namreč ravno obravnavamo prizme in danes je moj učitelj med uro izjavil “…zakaj bi bilo enostavno, če je lahko zapleteno?”. In takrat sem dobil idejo - ustvari fizikalno-matematični kalkulator s preprostim dodajanjem formul (kar je rešeno z nepotrebno nesnago, a je bil to tudi moj namen).
In tako je nastala aplikacija, ki preko PHPja izpljune podatke v JSON obliki, jQuery pa jih nato še prežveči in izriše gumbke ter text v uporabniški vmesnik.
Zadevica je zelo enostavna za razširjanje (core/settings.php).
Zaenkrat se do različnih načinov/formul dostopa na način:
index.php?mode=n (n -> število, trenutno sta možnosti samo 1 ali 2)
Source -> .ZIP
Link -> http://stuff.net-lord.net/fizika/
Danes sem dokončal namestitev nove Viste Ultimate (SP1 vključen) in vseh dodatnih programov, ki jih potrebujem. Moram priznati, da je kar nekaj razlike med sedajšnjo uporabo in tisto prej, ko sem imel naloženo različico Home Premium.
Pritegnil me je predvsem zanimiv dodatek DreamScene, ki omogoča predvajanje videa za ozadje namizja in pa nekaj kar sem v HP precej pogrešal - Remote Desktop (server). Všeč mi je tudi izboljšana hitrost v SP1 in tisti drobceni, a uporabni popravki (izbira diska za defragmentacijo,…). ![]()
Rad pa bi se še zahvalil GimTeam-u, ki so mi podarili legalen Vista plošček. Pa hvala Markotu za hitrejši MySQL server na katerem se sedaj nahaja baza mojega bloga.

