December 2008 - Posts

Excel Add-In for export to unicode encoded .csv file
Wednesday, December 31, 2008 1:37 AM

Here you can download code and binaries. After the installation Add-In will appear on Data tab, in Export Data group.

Capture

Pre jedno mesec dana bilo mi je potrebno da neke podatke učitam iz Excel-a u program radi obrade. Postoji naravno N načina da se to učini OpenXML biblioteke, ODBC driver …

No ja sam hteo nešto skroz liteweight. Npr .csv fajl. Skroz jednostavno, dobiješ textualni fajl jednostavnog formata i radiš sa njim šta hoces. But … Tako dobijeni textualni fajl je uvek ASCII i ne mere drugačije, što je za moj slučaj značilo da moram da primenim neku od ovih drugih metoda smile_confused.

No ja sam bio istrajan da ostanem pri svojoj prvobitnoj zamisli i napravio sam add-in koji vrši željeni export smile_regular.

do čitanja,

ZBL

by zmajcek | with no comments
Filed under:
Programming > > > Computer Science
Friday, December 26, 2008 10:29 PM

Stick out tonguePre nešto više od pet godina sa nekoliko drugara otvorio sam školu računara i oo tada se vikendom u njoj drže kursevi programiranja namenjeni deci koja idu u osnovnu i srednju školu. Uče razne stvari, između ostalih i C#, algoritme, windows aplikacije …

I klinci postižu lepe rezultate kako na domaćim tako i međunarodnim takmičenjima (Imagine Cup). I to je cool, reći ćete vi. Ali šta je poenta?

Pa poenta je što je programiranje valjda jedina inžinjerska profesija koju i deca donekle mogu da razumeju. Mogu da razumeju nisam rekao mogu da profesionalno rade smile_nerd. Npr kao kontrast ne mogu da razumeju kako mama ili tata projektuju električne ili mašinske instalacije, proračunavaju konstrukciju … I da naravno programiranje je zabavno smile_regular, i da vidiš odma rezultat svoga rada smile_regularsmile_regular i možeš to odma nekom da prodaš smile_tongue ili pokloniš heartsmile_nerd.

Onda tu dolazimo i do onog poslovičnog klinca iz komšiluka koga svi angažuju za male pare (na mesto pravih profesionalaca) i koji tu stalno pravi neke probleme smile_teeth. Ja kao građevinski inžinjer i moj drugar (porodica takoreći smile_party) antropolog smo karakteristični, značči karakterističčni, primer toga smile_embaressed (off the record moj drugar antropolog dobija velike pare smile_teeth). Ljudi, realno, imperativno programiranje, pa čak i na objektima bazirano nije computer science.

Ali programiranje postaje computer science. Čak i u mainstream jezik poput C#-a uvedeni su kompleksni featuri, a dalji razvoj predstoji.

Na velika vrata ulazi F#, funkcionalni programski jezik sa izuzetno moćnim type inference mehanizmom, funkcijama kao objektima prvog reda, komponovanjem funkcija konceptima poput computation expressions, function currying, forward pipe operators, pattern matching (switch statement on (a lot of) steroids)…

Ono što napred nije pomenuto je (almost) imutable state. No funkcionalni programski jezici su tu od praistorije računarstva, nastali uporedo sa imperativnim te je logično zapitati se šta je sad tu odjednom tako važno što IT industrija u poslednjih 50 godina nije primetila? Imutable state u kombinaciji sa deklarativnom prirodom jezika (pomislite samo na SQL) sa sobom nosi potencijal automatske ili približno automatske paralelizacije koda od strane kompajlera, što je danas, kada svaki novi PC ima procesor sa minimum dva jezgra, poprilično važno.

F# ima snažan community i na F# forumu su dosta jake teme. To ni malo ne čudi obzirom da je funkcionalno programiranje kao paradigma dugo i puno prisutno u akademskoj zajednici, a da F# nudi pored featura jezika izuzetne performanse kao i korišćenje svih .NET biblioteka klasa.

Na temu F# vodio sam jednu chalk & talk sesiju na msforge user grupi. Održao sam i predavanje na PMF-u gde sam prezentovao funkcionalne aspekte ovog jezika (ops zaboravih da kažem da F# sadrži i imperativne kao i objektne koncepte smile_embaressed). Ovde možete naći primere i slajdove.

do čitanja,

ZBL

by zmajcek | with no comments
Windows Azure
Sunday, December 14, 2008 9:10 PM

Ovogodišnji PDC doneo je mnoge novine. Sudeći prema anketama na posetioce je najveći utisak ostavio Windows 7 . Moj lični favorit je ipak Azure Services Platform.

Šta je osnovni motiv te priče?

Plasiranje aplikacija kao servisa putem Web-a je značajan ako ne i jedini biznis vodećih softverskih kompanija kao što su Google i Microsoft. Većina social-networking platformi poput Facebook-a takođe je zasnovana na tom modelu. Priča se širi i na područje video igara poput Travian-a. Stvar je prosta, ako imate veliku posetu možete da zaradite veliki novac.

Zašto onda i vi sa svojim timom ne biste ušli u taj biznis?

Možete ali je cost of entry velik. U biznisu sa servisima bitan je kvalitet servisa, što ne podrazumeva samo kvalitet sadržaja servisa već i kvalitet njegovog hostinga. Za kvalitetan hosting vam je potreban bandwidth, potreban vam je hardver i pre svega tehnička podrška koja će da održava servis 24/7. Imate dobru ideju i tim ljudi koji će napraviti sa stanovišta razvoja softvera kvalitetan servis, ali kako ćete obezbediti kvalitetan hosting ako nemate novca da napravite i održavate mali data centar za vaš startup?

Šta vam nudi Windows Azure Services Platform?

Nudi vam softversku platformu (framework) za razvoj servisnih distribuiranih aplikacija, kao i uslugu hostinga razvijene servisne aplikacije koja se plaća per-use.

Ako želite da saznate više...

Ukoliko vas ova priča interesuje možete pogledati video materijale na http://channel9.msdn.com/tags/pdc2008.azure/. Ja sam napravio jednu kompilaciju prezentacija na osnovu koje sam držao predavanje u okviru OpenIT eventa na FON-u i u okviru Sinergija@University turneje. Na pomenutom predavanju prikazao sam i demo (WindowsAzureCode.zip) jednostavne web aplikacije za obradu slike koju transformišem od klasične web aplakacije u skalabilnu Windows Azure Web aplikaciju.

do čitanja,

ZBL

zmajcek |> parallel
Thursday, December 11, 2008 12:02 AM

 

U poslednje vreme bavim se paralelnom obradom podataka, što je svakako bolje nego da vodim paralelne živote Big Smile. Naime, firma u kojoj radim bavi se skeniranjem, mikrofilmovanjem i obradom dokumenata. Pisanje aplikacija za obradu dokumenata (OCR, barcode recognition, ...) u funkcionalnom smislu nije velika mudrost pošto koristimo engine vodećih vendora iz te oblasti. Mudrost je postići obim od 300000+ dokumenata dnevno Geeked.

Serveri sa po dva quad core Intel Xeon procesora čine nas poprilično mudrima, by default Big Smile. No tu procesorsku snagu treba iskoristiti. To možete učiniti na dva načina. Prvi način je da napišete (znači Cool) klasičnu aplikaciju, a onda pokrenete osam takvih aplikacija nad osam setova podataka Indifferent. To je naravno skroz lame. Drugi način je da napišete aplikaciju koja tu snagu zaista koristi. Što je skroz kulj Smile.

Tu dolazimo pred dveri paralelnog programiranja. Microsoft se dosta bavi ovom temom, i podrška za paralelno programiranje biće uključena u VS2010. O tome se možete više informisati u Parallel Computing Developer Centr-u. Naše Visočanstvo Angel se takođe bavilo ovom temom na ovogodišnjoj Sinergiji, konkretno TPL-om i PLINQ-om (dowload).

Ukoliko vas ova tema interesuje proučite linkovan sajt i materijale. Priča na datu temu sledi ...

do skorog čitanja

ZBL

by zmajcek | with no comments