ratkom.net: potraga za nepoznatim

bespuća oblačnog računarstva, prostor privremene singularnosti

Archive for the ‘programming’ Category

[ms] SQL v.NEXT na pragu.. I ima puno lipi stvari o kojima vrijedi pričati

leave a comment »

Tu i tamo me opale "stare ljubavi"… Iako ga danas ne vidim toliko (sad će biti od communitya), privržen mi je ostao SQL Server na kojem smo napisali cijeli niz pametnih i manje zanimljivih rješenja. Uglavnom "poslovnih" a time i "dosadnih".

Iako se toga možda ne bi sjetili na prvu, SQL Server je tehnologija na koju nekako "računate" i rekao bih da postoji i da se koristi u svim organizacijama i rješenjima. Ja obično pišem o "zanimljivijim" stvarima od SQL Servera, ali mi je novo izdanje postalo stvarno interesantno zbog nekoliko mogućnosti koje mogu na interesantan način promjeniti mogućnosti i percepcije rješenja i aplikacija koje ovise o SQL Serveru. Svatko od nas ima TOP X stvari koje su mu zanimljive, a ovo je nekako moj izbor (više kao i hommage mojim dobrim starim developerskim danima…).

Daklem, ako vas je fascinirala PowerPivot tehnologija koju je izbacio Microsoft, vjerojatno ste se pitali kako to možete iskoristiti u svojim aplikacijama. Do sada nikako, ali u Denali izdanju tehnologija vam je potpuno otvorena, kroz mogućnost koje se zove Column Store Index. Pregled što je Column Store Index i ideja oko toga (Eric Hanson): http://channel9.msdn.com/posts/SQLServerColumnStoreIndex. Oni koji su pratili nastanak mogućnosti sjetit će se da se projekt zvao "Apollo", dok je u CTP3 izdanju dobio i svoje službenoi ime. Zašto mislim da bi ovo morali provjeriti? Pogledajmo primjer:

clip_image001

Ovo smo napisali ne jednom, zar ne? Pogledajmo rezultate:

clip_image002

Ako vam netko tehnologijom može pomoći da se upit može izvršiti ne 2 ili 3 puta već 455 puta brže, rekao bih da je onda ovo stvar koja bi developerima i arhitektima morala pomoći u kreiranju najmanje bržih rješenja. Poslužitelj na kojem se primjer vrtio: 32-logical processor machine with 256GB of RAM.

Naravno, postoje i neka ograničenja, ali ako vas ovo zanima, ionako možete pronaći više informacija na web siteu projekta, gdje je i dokument iz kojeg sam izvukao gornje podatke.

Drugo, tu je tehnologija koja se pojavljivala pod nazivom "Crescent" (lab: Exploring Project Crescent) ili "a Web-based, highly interactive data visualization and presentation solution designed to enable business customers to quickly gain meaningful insights from data." Ovo je jedna od stvari koje je teže opisati i koje morate vidjeti i probati da bi razumjeli. Ali tamo gdje je uključen Amir Netz, očekujete samo najbolje… Za njega potpisujem bilo koji projekt kojeg on vodi.

clip_image003

Ako vas je zanimao jednostavni put u Business Intelligence, možda bi ovo mogao biti dobar početak, bez velike investicije u šumu raznih alata i rješenja.

Na kraju, zanimljiv mi je Juneau – Application Lifecycle Management za SQL Server, integriran u VS priču – tako da "po defaultu" imate code navigation, Intellisense, itd itd, što ste već navikli u razim drugim projektima koji se zasnivaju na VS okruženju.

clip_image004

Juneau se instalira u VS2010 prilikom instalacije CTP3 izdanja.

Kao dodatak, mada to i nije mala vijest, Microsoft Community organizira konferenciju vezanu samo uz SQL Server, s izrazitim fokusom na Denali izdanje. Konferencija se zove: SQL TUNE-IN, a više informacija možete pronaći na ovoj adresi.

Written by ratkom

30/08/2011 at 12:16

[cio] Kako upravljati aplikacijama: AVICode 5.X (odlično i besplatno)

leave a comment »

Iako baš ne pišem o ovakvim stvarima na svom blogu, nedavno je Microsoft kupio softver koji mi je ukazao na konačno rješenje starog problema: kako upravljati aplikacijama (nakon što ste ih već napisali, zar ne).

Problem je star koliko i softver: radite novi programski projekt (ovog puta je to upravo ta aplikacija koja neće imati niti jedan bug i radit će savršeno), utrošite na njega 155% planiranog vremena, nakon 204 poziva i prijetnje korisnika isporučite mu aplikaciju i … sad je to njegov problem. Korisnik se, naravno, pita: ok, možda sad ovo i radi, ali… kako ću ja nadgledati aplikaciju? Kako ću s njom upravljati? Kako ću znati da ona radi ispravno?

Pogled mu skreće ka sistem inženjerima i konzolama koje oni koriste, no, oni samo nemušto odmahuju glavom: “Mi pratimo rad servera i serverskih aplikacija, nemam pojma kako pratiti samu aplikaciju (a i da znam ne bih taknuo to developersko čudo, ipak sam ja sistem inženjer)”. Dakle, program se vrti, tu i tamo se nešto zaglavi ili raspadne, zove se proizvođač, naravno on nije kriv nego nešto što se ne može objasniti postojećim zakonima fizike i matematike ali i logike i razuma, potpisuje se ugovor o održavanju (uglavnom izlika proizvođača da se aplikacija može koliko toliko dovesti u red i probati u njemu ga i održati), i život ide dalje.

Slijedeći put, reče korisnik, napravit ćemo projekt koji će ovo riješiti jednom za svagda, na pravi način.

Evo, raspisao sam se malo jer mislim da ove priče i dalje žive, i to ne samo kao povijesne zgode nego i projekti koje i dan danas viđam, bez obzira da li se radilo o web aplikacijama, standalone aplikacijama ili bilo čemu drugome…

No vratimo se na objekt požude: Microsoft je nedavno akvizirao tvrtku AVICode, čiji je proizvod AviCode 5.X namijenjen praćenju .NET aplikacija unutar System Center Management konzole (sorry, inženjeri). I to radi automatski, nije potrebna nadogradnja korisničkog programa, a vi možete sami postavljati Alerte i Messages koji vas upozoravaju da nešto ne radi kako očekujete (odnosno, imate sve fore na koje ste naviknuli u System Center okruženju). Nije da to niste mogli i prije – ali onda ste morali razvijati posebne Management Packove za svoje aplikacije koji bi se dodali u System Center kako bi on razumio što pratiti.

Meni ovo ima smisla – instalirate aplikaciju i … ona postaje jedan od elemenata sustava – i time osiguravate dostupnost razumijevanja mission i business critical aplikacija. Davno sam radio softver koji je radio praćenje aplikacije i … to je projekt sam za sebe (dakle, Perpetuum Mobile)… Da je meni ovo bilo tada (ok, broj godina od tada je >10).

Najbolje od svega – za postojeće i buduće korisnike System Center okruženja – ovaj softver je potpuno BESPLATAN i možete da downloadati na službenim stranicama System Centra.

Written by ratkom

22/12/2010 at 22:50

Posted in programming

[edu] Small Basic na hrvatskom:kako klinci uče objektno programiranje…

leave a comment »

Da ne propustim: jedan projekt koji mi je drag srcu ugledao je svjetlo dana: završena je lokalizacija Small Basica, izvrsnog jezika za učenje programiranja, o čemu sam već pisao. No ovo puta prenosim samo našu objavu:

alt

Pozdrav svima,

Izuzetno mi je drago što Vas mogu obavijestiti kako smo završili sa procesom lokalizacije Small Basica – programskog jezika za programere početnike koji od danas nosi i titulu prvog alata za programiranje na Hrvatskom jeziku. Vijest je objavljena na službenom Small Basic blogu – http://blogs.msdn.com/b/smallbasic/archive/2010/11/17/small-basic-v0-91-is-more-international-than-ever.aspx

Pitate se – što je uopće Small Basic? Small Basic je programski jezik namijenjen programerima početnicima koji, zbog činjenice da je objektno orijentiran i objektno pisan, uvelike olakšava kasniji prijelaz na naprednije programske jezike. Kako programeri početnici preferiraju rezultat svoga rada vidjeti u vizualnom obliku, Small Basic ima izuzetno dobru podršku za grafiku te također sadrži i grafičara pomoćnika – kornjaču, dobro poznatu ljubiteljima programskog jezika Logo. Trenutno je u svojoj inačici 0.91 te posjeduje brojne gotove primjere prilagođene upravo za učenje programiranja.

Za sve Vas koji ste zainteresirani isprobati Small Basic ili ga preporučiti nekome od svojih (malih) ukućana/prijatelja resursi su sljedeći:

http://msdn.microsoft.com/en-us/ff384126.aspx – službena stranica Small Basica i mogućnost downloada

http://pogledkrozprozor.wordpress.com/2009/03/31/small-basic/ – tekst o Small Basicu u digitalnom časopisu Pogled

Small Basic Tutorial (hrvatski)

http://pogledkrozprozor.wordpress.com/2010/06/21/uvod-u-programiranje-microsoft-small-basic-1-dio/

http://pogledkrozprozor.wordpress.com/2010/06/21/rad-s-varijablama-i-grananja-programa-microsoft-small-basic-2-dio/

http://pogledkrozprozor.wordpress.com/2010/06/21/programske-petlje-i-potprogrami-microsoft-small-basic-3-dio/

http://pogledkrozprozor.wordpress.com/2010/06/21/graficki-prozor-i-kornjacina-grafika-microsoft-small-basic-4-dio/

http://pogledkrozprozor.wordpress.com/2010/06/21/nizovi-i-interaktivnost-microsoft-small-basic-5-dio/

Kako se budu pojavljivale nove inačice Small Basica, nastavit ćemo proces lokalizacije, tako da će svaka sljedeća inačica biti dostupna i na hrvatskom jeziku u vrijeme objave.

Eto. Bravo Tomislave, bravo Darko, bravo s ekipa nastavnika koja je odradila edukativni posao i nemam riječi za njihov entuzijazam: Lidija Kralj, Darko Rakić i razni drugi, neka se netko ne uvrijedi ako ne znam sve na pamet, još čekam listu zaslužnih od DarkaJ. A sada slijedi uporaba…

Written by ratkom

27/11/2010 at 17:00

Posted in programming

Tagged with

[cc] Google App Engine: daleko je sunce… obećano u PaaS modelu

leave a comment »

Ako ste pratili moja nastojanja u promoviranju Cloud Computinga, znate da sam poseban fan PaaS modela. Ne samo što programera koji se skriva u meni čini sretnim, nego i stvarno donosi drugačiji pogled na razvoj i mogućnosti aplikacija (nisam siguran oko neke nove paradigme, sorry Nevene). No, ujedno pratim i probleme koje imamo oko usvajanja PaaS modela, pa mi je zapeo za oko jedan post koji adresira probleme koje tvrtka ima u nastojanju usvajanja Google App Engine platforme…

imageZnam, hodam po opasnom teritoriju. Google App Engine (GAE) nam je konkurencija i svaki put kad se na neki način referenciram na iste (konkurencija = broj značajno veći od 1) riskiram komentare tipa “nisam objektivan…”. No, nisam niti napisao originalni post, pa prosudite sami. Dakle, Carlos Ble je programer u Španjolskoj. Zarađuje za kruh programirajući na naprednim tehnologijama, i očigledno je potrošio neko vrijeme pokušavajući napraviti ozbiljnu aplikaciju na Google App Engine PaaS modelu. Ne da nije išlo dobro, nije išlo nikako, pa je napisao ljuti mail kako bi pomogao drugima, ali i objasnio svoje razloge i poglede na model. Pročitajte dolje…

No, ovaj post ima i širi smisao: cilj mi je jednostavno ukazati vam na probleme koje nosi PaaS (Platform as a Service). Google ima GAE. Microsoft ima Azure. VMWare će uskoro imati … (nešto što uključuje SpringSource). Salesforce ima force.com nešto što glumi da je PaaS… ali svi imaju svoje detalje. Bitno je proučiti što piše u dokumentima (ali ponekad jednostavno niti ne piše, kao što je ekipa iskusila u dolje postavljenom Blog Postu). Ako se pitate kako tu stoji Microsoft Azure, dovoljno je bingati par ključnih riječi i priključiti im “problem”. No, rekao bih da se MS daleko ozbiljnije bavi svojom platformom no Google, a vi me probajte razuvjeriti…

BTW: komentari su isto tako zanimljivi kao i post. Ima ih za sada 168…

P.S. U međuvremenu je Carlos napisao dodatak postu, jer ga je “nazvala” ekipa iz Googlea. I pokušala objasniti neke stvari. Uglavnom ne pomaže, kao što i Microsoft uglavnom ne može objasniti svoja ograničenja iz EULAe.

Carlose, dobro si to zakuhao: http://www.carlosble.com/?p=719

Dodatak 27.11. A da imate što čitati i o Microsoft Azure platformi i njenoj budućnosti kao PaaS platformi misli i Gartner u članku “Windows Azure AppFabric: A Strategic Core of Microsoft Cloud Platform”.

Written by ratkom

26/11/2010 at 17:24

[cc] O programiranju u oblacima, javnim, privatnim i heterogenim i zanimljivim aplikacijama…

leave a comment »

Neki dan sam imao priliku držati predavanje na sve popularnijoj COMBIS konferenciji u Novom Vinodolskom na teum “Public vs. Private Cloud”. Dobro, ne baš tako, ali dotakli smo se općetitih modela izbora te pogledali što pojedini vodeći vendori rade po tom pitanju. Iako bi bilo logično zastupati jednu od strana, sve više se nameće potreba I scenarij u kojem se koriste OBA modela paralelno, u nekakvom heterogenom modelu. Niti scenarij traži samo javni oblak, niti se scenarij može realizirati samo u privatnom obliku. Naravno da se tu model komplicira I više nije tako elegantan kao kod javnog oblaka, ali… ako to zadovoljava vašu potrebu, čemu inzistirati na savršenosti?

Dobar primjer kombinacija su javni infrastrukturni oblaci, od kojih je najpoznatiji Amazon (odnosno Amazon Web Services). Iako je krenuo kao standardni IaaS model (znate: kreirate si račun, otvorite konzolu, instancirate server, spojite se na njega…) koji podržava mnoštvo infrastrukturnih kombinacija, većina ljudi I dalje misli da je to jedini način kako ga možete iskoristiti. Ne samo da je oblak prilično prilagodđen uporabi u raznim scenarijima (npr. Virtual Private Cloud), nego je i potpuno otvoren za vašu poslovnu I privatnu uporabu … koristeći programska rješenja koje sami kreirate ili ih kreiraju drugi ponuditelji rješenja.

Za one bolje upućene, Amazon ima jedno od najelegantnijih API sučelja, značajno smanjujući problematiku rada s resursima koji se nalaze u oblaku.

Oni koji rade s Microsoft platformom znaju da je Amazon izdao zanimljiv AWS SDK za .NET koji vam omogućuje programatsko korištenje Amazon resursa (Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon SimpleDB itd).

image

AWS se, kao i kod drugih SDKova za neki oblak jednostavno integrira u razvojni alat (na primjer, Microsoft AZURE funkcionira na isti način, pogledajte u Installed templates odrednicu Cloud), uključivo i lokalnu simulaciju javnog oblaka kako bi mogli testirati svoj uradak.

Iako na blogu rijetko pišem o programiranju, fascinira jednostavnost kojom, na primjer, možete isčitati svoje instance:

// Print the number of Amazon EC2 instances.
               AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client(
                   appConfig["AWSAccessKey"],
                   appConfig["AWSSecretKey"]
                   );
               DescribeInstancesRequest ec2Request = new DescribeInstancesRequest();

               try
               {
                   DescribeInstancesResponse ec2Response = ec2.DescribeInstances(ec2Request);
                   int numInstances = 0;
                   numInstances = ec2Response.DescribeInstancesResult.Reservation.Count;
                   sr.WriteLine("You have " + numInstances + " Amazon EC2 instance(s) running in the US-East (Northern Virginia) region.");
                   sr.WriteLine("<br />");
               }
Rekao bih da u ovakvom pristupu vidim cijeli niz zanimljivih javnih (ali I privatnih) aplikacija koje koristeći SDK koriste resurse koji su im dostupni (dakle, bilo da je to računalo, storage, baza podataka itd…). ovo bi rješilo naočigled jednostavne stvari kao što je recimo skaliranje aplikacija ili pohrana podataka na jeftiniji oblak…

Dobar primjer kojeg koristim je GladiNet, odnosno Gladinet Cloud Desktop, kojeg koristim kako bi se spojio na razne pružatelje cloud usluga na meni jednostavan I transparentan način – računalo vidi moje prostore u oblacima mapirane u file strukturu računala.

image

 

Na slici je mapiran moj Live Sky Drive kroz Gladinet Drive, odnosno, broj providera na koje se možete spojiti je priličan – Gladinet radi sva mapiranja za vas, a na vama je da odaberete gdje I kako ćete se spojiti…

image

Time vaš Desktop postaje koordinacijko sredstvo razmjene informacija (što god da imate u mapama) između raznih providera usluga na oblaku, te vode brigu o tome ako se što promjeni u sučelju API ili ako… što god.

Sinkronizacije mogu biti automatske, pa tako možete imati i automatski backup u oblak ili više njih. No ovdje me ne fascinira toliko funkcionalnost aplikacije koliko dokaz da na ovakav način možete jednostavno miješati javnu i privatnu infrastrukturu. Programeru bi bilo prilično jednostavno priključiti logiku koja skalira serversko rješenje kada vidi da se odziv aplikacije smanjuje ili nedostaje diska ili previše korisnika pristupa onpremise rješenju ili… smislite sami.

Gotovo da znam nekoliko aplikacija koje su se prošlih mjeseci vrtile po medijima jer su se srušile, bile nedostupne, bile spore,… a koje tu problematiku ne bi ni vidjele da su imale… male jednostave nadogradnje koje koriste resurse u oblaku. Jest, koštalo bi dodatnih 300 – 400 kn tjedno, ali, valjda se više popije kave na dan.

Dalje, sve ostalo je gotovo drag&drop :)

Written by ratkom

19/09/2010 at 11:17

[ms] Cloud Computing, Azure i moja malenkost na CROWDu…

with one comment

Kako je već počela priča o predavanju na CROWD (Hrvatska udruga Web Developera) sastanku 18.01.2010 u HGK-u, ja sam zadužen za malu priču o Azure/Cloud Computingu, pa evo predlažem samom sebi a i vama o čemu bi se dalo pričati na događanju. Imate jedinstvenu priliku utjecati na to gdje predavanje vodi i što sadrži, pa… komentirajte. Do tada, možete o CROWD-u više pronaći ovdje, prijaviti se ovdje, a i Netokracija brije o tome…

Mislim da za početak treba potrošiti malo riječi na postanak, postojanje i ekonomiju cloud computinga. Nije zgorega ponoviti poslovni model te kako ga različiti poslovni entiteti vide, odnosno kako ga mogu iskoristiti. No ne predugo, ipak je tema – Microsoft, pa prema tome, prilagođavam priču.

Prvo i osnovno, znate da je Azure Platform postao komercijalno dostupan. Što znači komercijalno? Kako ga tvrtke iz Hrvatske mogu koristiti i koliko ga morate plaćati (ako)? Koja je uporedba između Microsoft platforme i drugih (kako cjenovno tako i tehnički, po pitanjima mogućnosti). Naravno, pokazati ćemo koje su sve opcije (ne)dostupne, kada ih možemo očekivati i u kojem obliku.

image

Za one koji se prvi put upoznaju s Microsoft Azure platformom napravit ćemo i kratki 101 oko toga gdje je što. Ali ne planiram gubiti previše vremena na to, mislim da se to može prilično dobro savladati ili na webu ili na Azure Training Kitu (kojeg toplo preporučam za one koji se planiraju baviti ovim).

Dio priče o osnovim dijelovima Azure Platforme (Windows Azure, Windows Azure Storage, SQL Azure, AppFabric /zante ovaj dio pod “.NET Services”/), a ne mogu odoljeti da ne spomenem i Windows AppFabric… kad sam već na AF dijelu.

Za one koje će to zanimati, moramo malo porazgovarati i o monetizaciji, odnosno mogućnostima da naplatite svoj trud i muku – barem malo o PinPoint marketplaceu.

Za kraj, bit će tu riječi o “dodacima” na plafrormu. Prvi dodatak koji nas interesira je “Dallas”, projekt koji omogućuje da se podaci otvaraju na način da ga svi, koji to žele, mogu koristiti. Već sam nešto pisao prije o tome, ali ideja mi je da se malo biše zadubimo u primjenu i mogućnosti, a možda pokažemo i koji demo (mada mislim da će na CROWD-u biti više potencijalnih konzumenata, nego davatelja usluga isporuke podataka). Ali nema veze.

Dakle, ako mislite da se bez nečega ne može, ili da sam pretjerao s nečim – demokratski dajte prijedlog. Komentare ostavite ovdje dolje, pa ćemo o sadržaju slijedećih par dana.  A onda moram podvući crtu…

Written by ratkom

04/01/2010 at 21:01

[ms] SmallBasic v0.7 – još malo pa diploma

leave a comment »

Viyay i ekipa koja radi na Small Basic dogurali su do verzije 0.7, što govori da zadnja objava i nije tako daleko. Upravo prije godinu dana, Small Basic je pri put javno objavljen (i ja sam tada napisao post o tome, a s obzirom koliko mi je OK ovaj jezik za klince, repostao sam ga na novom blogu). Novu verziju, 0.7, možete downloadati ovdje.

Verzija 0.7 pojavljuje se ujedno na nekoliko drugih jezika, a mogu vas obavijestiti da će vrlo skoro (dakle već u pripremnim CTP izdanjima) jedan od jezika biti i hrvatski! Time smo osigurali da će završno izdanje zasigurno sadržavati i upute i sučelje na hrvatskom jeziku.

Druga zanimljiva činjenica je da je od ove verzije podržan i bitan “prijelazni” put. Što kada imate projekt napisan u Small Basicu i jednog dana ga zamislite kao veći i ozbiljniji projekt? Small Basic od ove verzije uključuje direktnu podršku za prebacivanje projetka u Visual Basic – i dobro došli među ozbiljne programere :) .

Interesantno, gumb na sučelju koji vam to omogućuje naziva se “Graduate”.

Ako ste nastavnik, profesor illi jednostavno roditelj koji ima budućeg informatičkog genijalca, i mislite da djeca trebaju na jednostavan način učiti moderne programske jezike, pogledajte Small Basic. Ne, stvarno, pogledajte… Blog tima koji radi projekt možete pronaći ovdje.

Written by ratkom

24/10/2009 at 10:00

Posted in programming

Tagged with

[ms] REPOST – Small Basic – kako danas napisati "10 PRINT "UNESI IME:" "20 INPUT A$ …"

leave a comment »

Kako danas napisati svoj prvi program? Narano, tu ne mislim da ste početnik koji ima recimo 18 godina i instalira si Visual Studio :) . Ovdje mislim na početke koje je imala moja generacija koja je većinu prvih programa pisala na ZX81 ili ZX Spectrumu. Ili oni koji su bili bolje sreće, jednog dana na PC računalu koristeći popularni QBASIC.


Programi bi uglavnom imali sintaksu kakva je navedena u naslovu. Jednostavno, efektno i odmah vas privuče za računalo. No, danas je malo drugačije. U principu je sve postalo objektno, QBASICa više nema (ili se varam), djeca, barem mi se čini, zbilja imaju problem u čemu učiti programiranje.
Evo odgovora iz Microsofta: Small Basic. Objektna varijanta, jednostavno sučelje, jednostavno programiranje, velike mogućnosti. Iako se čini jednostavan, u par linija koda možete napisat program koji mijenja desktop na vašem računalu. Small Basic pratim od njegovih početaka kada je bio interni projekt, a jučer je postao i službeni projekt Microsft DevLabsa.

Dakle, ako želite da vam klinac uči programiranje, ako se pitate kako da vaši učenici uđu u ovaj svijet, jednostavno ako vas zanima, pogledajte Small Basic. Instalacija je smiješna, sve je gotovo dok si rekao keks. Projekt živi i razvija se, mislim da će biti odlično rješenje na kraju. Imate i blog autora projekta, sve će vam biti jasno iz njegovih primjera.

Written by ratkom

24/10/2009 at 09:51

Posted in programming

Tagged with

Follow

Get every new post delivered to your Inbox.