Posted on March 28, 2009 in Coding (PHP, C#,...) by Net-LordNo Comments »

Po dolgem času sem spet spisal nekaj (skoraj) uporabnega. Ker smo v šoli ravno pri linearni funkciji, sem na hitro skupaj vrgel aplikacijo za risanje grafov (ja, vem, da jih je že kar nekaj). Zaenkrat je zmožna zrisati grafe vseh funkcij, ki so napisane v C# kodi (funkcija se namreč “skompajla”) npr. "x * x" ali "x + 5". Dodana je tudi možnost uporabe kotnih funkcij in funkcije za absolutno vrednost (sin(x), abs(x),…).

Screenshot:
FGraph

Download:
- Aplikacija (.EXE)1
- Izvorna koda


  1. Za zagon potrebujete .NET 3.5 SP1 []
Posted on December 30, 2008 in Coding (PHP, C#,...) by Net-Lord1 Comment »

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 :P ) pomagal pri spoznavanju novega sistema.

Posted on December 28, 2008 in Internet by Net-LordNo Comments »

Jutri, 29.12. bo strežnik offline za nedoločen čas (upajmo da čim manj). Storil bom namreč nekaj, na kar pred letom dni ne bi niti pomislil. Vedno sem bil zagovornik odprte kode in podpiral operacijske sisteme bazirane na Linux-u. Tudi ko je Microsoft dokončno pokopal Linux OS na namiznih računalnikih sem vedno govoril “…saj nam ostanejo še strežniki - tu MS nima šans…”.

Časi pa se spreminjajo in spoznal sem, da prihodnosti v “klofanju” ukazov v terminal in uporabi grafičnih vmesnikov, kjer nikoli nisi prepričan ali se je dejanje izvedlo ali ne, enostavno ni. Jutri bom namreč z velikim veseljem pobrisal disk z nameščenim Ubuntu Server Edition-om in namestil “Windows Server 2008″. Tako je, bivši zagovornik in branilec odprte kode bo na svoj server namestil Microsoft-ov izdelek in na to sem ponosen.

Da pa ne bo vse izpadlo kot napad na pingvinčka, moram priznati, da mi je dosedaj zelo dobro in zanesljivo služil, a na žalost je rahlo zaostal v času, sam pa sem že pošteno potreben spremembe.

Posted on December 28, 2008 in Coding (PHP, C#,...) by Net-Lord1 Comment »

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:
Paint

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)

Posted on December 19, 2008 in Internet by Net-LordNo Comments »

Med raziskovanjem C# in .NET platforme sem se tokrat ustavil tudi pri eni izmed bolj zanimih novosti zadnjih mesecev - Silverlight 2.

Takoj ob splavitvi prve različice SL 1 so vsi na dolgo razglabljali o izdelku, ki naj bi konkuriral Flashu, a mu to nikakor ne uspeva. Takrat je to morda res držalo, a z drugo različico je Microsoft pokazal kaj zna.

Storili so eno po mojem mnenju najboljših možnih potez - integrirali so .NET Framework (rahlo okrnjen). S tem so omogočili uporabo obstoječe kode (C#) v Silverlight projektih in vso moč .NET platforme prenesli v brskalnik. Na področju animacij je kljub vsemu SL še vedno malce zadaj, a pri izdelavi spletnih aplikacij se pokaže vsa moč srebrne luči.

Seveda sem moral tudi sam preizkusiti to pogruntavščino in nastali sta dve aplikaciji. S prvo, ki je bila namenjena tekmovanju v hitrosti “Flash vs. Silverlight” sem potolkel prijateljevo Flash aplikacijo, pri čemer mi je na pomoč priskočila možnost multi-threadinga (kar je v Flashu skoraj nemogoče), takoj za tem pa sem se lotil izdelave znane igrice “Tic Tac Toe” (križci in krožci).

Slikica: 
Tic Tac Toe

Povezava:
http://stuff.net-lord.net/TicTacToe/

Update - 20.12:
- dodan prikaz križcev in krožcev
- izpiljen izgled

Posted on November 16, 2008 in Coding (PHP, C#,...) by Net-Lord1 Comment »

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:
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)

Posted on October 9, 2008 in Coding (PHP, C#,...) by Net-LordNo Comments »

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 <gl/freeglut.h>
#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:
3D Cube

Download:
OpenGL - cube

Posted on September 28, 2008 in Coding (PHP, C#,...), Life & Stuff by Net-LordNo Comments »

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)


  1. Zadevica malce premetava array-e, uporablja nekaj matematičnih funkcij in ustvarja ter bere DOM elemente []
Posted on September 14, 2008 in Coding (PHP, C#,...) by Net-LordNo Comments »

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.

Smiley

Link:
http://stuff.net-lord.net/smiley/

Posted on September 8, 2008 in Coding (PHP, C#,...) by Net-Lord1 Comment »

Č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:

http://stuff.net-lord.net/canvas/

Next Page »