Highlighted text is not replaced after typing new one in MS Word


Few days ago, I realized that once the text is selected cannot be replaced with new ones  typed in MS Word, and probably in other MS Office products. This is very annoying options. Then I realized that the option for that is unchecked. I am pretty sure I didn’t uncheck the option, so the other reason would be after update installation.

However, I wanted to back previous feature since I need that option, specially when you try to replace some text in Word Equation. So in order to return the previous option to replace the highlighted text with new one, you should go to:

File->Options->Advanced

Bihać Developers MeetUp počeo s radom


MeetUp društvena mreža

Prije 15 godina osnivači http://meetup.com društvene mreže imali su na umu nekoliko interesantnih razmišljanja koja su pobudila veliko interesovanje u svijetu. Osnovali su društvenu mrežu MeetUp, koja spaja ljude iz lokalne zajednice sličnih interesa. Naime, osnovna misija MeetUp društvene mreže jeste organizovanje lokalnih grupa i komunikacija kroz Meetup web site radi organiziranja sastanaka, razmjene iskustava, znanja iz određene oblasti i sl. Misija MeetUp društvene mreže predstavlja osnovni postulat svakog demokratskog društva:

MeetUp misija podrazumijeva revitalizaciju lokalne zajednice, pomoć i podrška ljudima cijelog svijeta za samo-organizovanje. MeetUp misija smatra da ljudi mogu mijenjati svoj lični svijet, ili cijeli svijet svojim samo-organiziranjem, koje postaje dovoljno snažno da ima snage da mijenja stvari oko nas. Vođena na ovoj ideji, na društvenoj mreži MeetUp organizovani su milioni ljudi iz raznih područja, društvenih i privrednih oblasti u pomoviranju znanja, u edukaciji, u promoviranju određenih tehnoloških rješenja i sl.

Koliko je ideja zapravo zdrava i snažna pokazuju brojke:

  • svakog mjeseca ovu društvenu mrežu posjeti približno 10 miliona ljudi,
  • broji 9.5 miliona korisnika
  • mjesečno se organizira 280.000 sastanaka
  • aktivnih lokalnih grupa 92.000
  • različitih meetup tema 90.000
  • lokalne grupe iz 45.000 gradova.

MeetUp spaja ljude sa posebnim interesima, koji mogu biti poslovni, edukacijski, socijalni, i bilo koji drugi interesi. MeetUp može okupljati Facebook prijatelje, ali isto tako i prijatelje koji nisu povezani na drugim društvenim mrežama. MeetUp je poseban još i u tome što on predstavlja jedinstvenu zajednicu koja spaja ljude kroz teme i probleme koje ljudi žele da nametnu i diskutuju licem u lice sa članovima. To je jedina društvena zajednica koja fizički spaja ljude.

Šta je Bihać Developers MeetUp grupa

Na ovom tragu grupa nekoliko entuzijasta, kompjuterskih freakova, zaljubljenika u softvare development, iz različitih platformi odlučila je da pokrene Bihać Developers Meetup grupu, čiji je osnovni zadatak razmjena iskustava i promocija razvoja softvera. Ovi ljudi pokušavaju da ljubav prema programiranju pokušaju prenijeti i na druge ljude jer smatraju da je to jedna blagodat koja čovjeka može učiniti prvenstveno sretnim, može mu obezbijediti poslovnu karijeru ili čovjerku biti lijep i interesantan hobi. Poziv “software developer” ili kako ga neki još uvijek zovu “programer” jedan od rijetkih poziva koji se započinje prvo iz znatiželje i ljubavi prema kompjuterima i programiranju, zatim rješavanju matematičkih i sličnih problema, a poslije se pravi karijera. Ono najvažnije, što je u bezbroj primjera i potvrđeno, je da nije nužno da budeš dobar student ili da studiraš kompjutersku nauku da bi bio dobar programer.

Neke od tema o kojima će se pričati na Meetup sastancima su:

  • razvoja softvera na različitim platformama desktop/web/cloud/mobile i različitim OS-ovima,
  • baze podataka, i ORM Framewors
  • cloud computing,
  • umjetna inteligencija, algoritmi mašinskog učenja
  • i druge srodne teme.

Prisustvo na sastancima je slobodno i potpuno besplatno, a svi oni koji žele da saznaju nešto o ovim temama o kojima želimo pričati su dobro došli. MeetUpi će se organizirati na Tehničkom fakultetu u Bihaću, uz podršku Univerziteta i drugih pravnih subjekata iz Bihaća i Unsko-sanskog kantona.

Kako postati član Bihać Developers MeetUp grupe

Bihać Developers prvenstveno cilja na mlade ljude koji tek žele da saznaju nešto oko razvoja softvera – programirnaja, ali i sve populacije od 7 do 77 godina. Prvenstveno se računa na:

  • studente tehničkih usmjerenja, kao i druge studente. ( Op. Neki moji prijatelji koji danas žive od razvoja softvera su završili filozoski odnosno pravni fakultet :))
  • srednjoškolce koji imaju interesa i smisla za programirnaje
  • mlade ljudi koji žele saznati o ovoj branši
  • zaljubljenike, freakove, geekove i ostale manjine,
  • i sve druge

Da bi postao član Bihać Developers MeetUp grupe poterebno je:

  1. Otvoriti račun sa svojim imena na http://meetup.com
  2. Postati član grupe tako što ćete se pridružiti Bihac Developers Meetup  grupi na web stranici: http://meetup.com/bihacdev
  3. sad kada ste postali član, smo je potrebno pratiti objave i najave predavanja i sastanaka te ukoliko imate vremena doći na Tehnički fakultet i prisustvovati sastanku.

Ko organizira sastanke Bihać Developers MeetUp grupe

Bihać Developers Meetup je nastavnak aktivnosti koje je do sada vodila Bihać .NET user grupa, a intencija je da se ova praksa proširi sa drugim temama i platformama. Ideja je podržana kako od Univerziteta u Bihaću i Tehničkog fakulteta, tako i privatnog sektora i softverske kompanije IDK studio i drugih pojedinaca koje možete pogledati na meetup stranici.

Ko sponzorira sastanke Bihać Developers MeetUp

Kako su sastanci i prisustvovanje potpuno besplatni, a Tehnički fakultet i Univerzitet u Bihaću logistički suport i sponzor, to je sada dovoljno da se predavanja i sastanci održavaju. Naravno, sponzori i zainteresirane kompanije koje žele podržati ovakav vid razmjene znanja i promovisanja visokih tehnologija dobro su došle i mogu nam se javiti da sponzorstvo.

Interesuje me kad se održava predavanje

Prvi sastanak Bihać Developers zakazan je 19. (četvrtak) oktobra 2017. godine u 17:00 na Tehnikom fakultetu. Za prvi put smo se odlučili da pričamo općenito o ovoj temi te da prisutnim ispričamo neke od karijara naših ljudi u gradu Bihaću kako su postali Softver Developeri. Već sljedeći sastanak koji planiramo za novembar biće tematski a predavanje pokriti jednu vrlo zanimljivu Web tehnologiju. Ali otom potom..

 

 

10 godina pisanja bloga


10-years-blog-aniversarryPrije deset godina objavio sam prvi blog post. Napisao sam nekoliko rečenica o sebi, i skromno najavio šta bi potencijalni posjetioci trebali naći i pročitati zanimljivo na blogu. Prvi blog postovi predstavljali su tekstove koje sam nešto ranije pripremio, a predstavljali su nastavak mojih aktivnosti pisanja članaka sa http://codeproject.com  stranice, na kojoj sam počeo pisati još daleke 2002 godine. Naime, moj prvi članak koji sam napisao za codeproject bio je, u stvari, jedan mali projekat iz 2001 godine, a kojeg sam trebao uraditi za aplikaciju za posao za jednu kompaniju koja se bavila razvojem game engina. Tada ni slutio nisam da bi se ova aktivnost mogla produžiti deset i više godina. U stvari, ovo je jedna od najdužih aktivnosti koje konstantno radim iz godinu u godinu, iz mjeseca u mjesec i još se nisam umorio niti mi je dosadilo. Kasnije zbog šire ciljane grupe članke sam počeo pisati na engleskom jeziku. Danas članke pišem na engleskom jeziku, dok u slučaju lokalnih tema članke pišem na bosanskom.

Pisanjem članaka na blogu pokušavam podijeliti znanje koje sam stekao, a samim tim i umnožiti znanje koje posjedujem. Jer po onoj staroj poslovici samo dijeljenjem znanja umnožavamo svoje sopstveno.

Svi blog postovi napisani u zadnjih deset godina, mogu se podijeliti na:

  • postove vezane za C++ i MFC projekte koje sam radio do 2007 godine,
  • postove vezane za .NET, C# projekte koje radim
  • razne postove vezane za projekte na kojima radim odnosno na kojim sam radio
    • GPdotNET – Artifical intelligence tool
    • Projekcti vezane za ostale numeričke metode
    • Project Euler portal
  • Postovi vezani za moje aktivnosti u Microsoft Community demo primjeri i prezentacijske datoteke
  • Članci vezani za teme iz matematike, numeričke metode i matematičko modeliranje.

Iz ove stranice nalazi se stotine napisanih članaka, stotine demo primjera, raznih rješenja, koje su koristili ljudi iz cijelog svijeta, na što sam posebno ponosan. Statistika bloga je takošer interesantna jer gotovo da ne postoji država na svijeti iz koje neko nije posjetio ovu web stranicu.

10-years-blog-aniversarry-stat

Kako se može vidjeti sa slike, u 2016. godini samo sa Grenlanda, nekoliko afričkih zemalja i otoka oko Indonezije nije bilo na ovoj stranici.

Jako puno je komentara koje su ljudi ostavljali na stranici, pitanja, kritka a najviše zahvala. Pored direktni mailova koje sam dobijao gdje su se ljudi zahvaljivali na pomoći, te komentara koje su ostavljaju najupečatljiviji blog post kojeg sam napisao, a koji je pomogao stotinama ljudi je jedna greška u MS Wordu pri kojoj se dokument ne može otvoriti te postaje beskorisan. Greška se pojavljuje kod dokumenata sa jako puno formula i slika, odnosno često u slučaju pisanja naučnih radova, magistarski i doktorskih radova. U narednim slikama prikazani su samo neki komentari koje se mogu pročitati na ovom linku.

aniver-comments

Nadam se da će i narednih 10 godina proći u istom ritmu te da će biti još mnogo korisnih članaka od koji će imati koristi šira društvena zajednica.

Vidimo se za narednu dvadesetogodišnjicu :).

 

Moj prvi program


Izvršavanje napisanog programa predstavlja vrlo jednostavan proces pri kojem program od korisnika zahtjeva ulazne podatke, a korisnik od programa očekuje da vrati rezultat odnosno da prikaže izlazne varijable kao traženi rezultat. Ovaj jednostavan proces izvršavanja programa nimalo nije sličan procesu njegovog nastajanja odnosno pisanja. Često program koji pišemo predstavlja dug, zamoran i frustrirajući proces implementacije, testiranja, debugiranja i korekcije. Između svake pobrojane stavke možete staviti litre popijene kafe ili čaja. Jednom kada naš program radi ispravno, svodi se na proces koji smo na početku opisali. Pisanje programa u bilo kojem programskom jeziku za mnoge a posebno developere predstavlja poseban izazov. Prije svega program predstavlja zapis određene količine znanja o nekom problemu. Ono je pohranjeno u elektronskom obliku kojeg možemo koristiti kad god želimo bez bojazni da će ono biti zaboravljeno.

Na primjer kada posmatramo program Kalkulator vidimo da on predstavlja skup određenog znanja iz područja algebre odnosno množenja, dijeljenja, logaritmiranja, trigonometrijskih i drugih transcedentnih funkcija. To je znanje trajno zapisano u digitalni oblik i kad god želimo da ga iskoristimo pokrenut ćemo program i obaviti određenu matematičku operaciju. Iz razloga što napisani program predstavlja akumuliranu količinu znanja, ono prije svega predstavlja neku posebnu vrstu ljudskog stvaranja, koju većinom koriste ljudi koji u opće nemaju to znanje. Kod primjera Kalkulator kojeg smo naveli, većina ljudi poznaje sabiranje, oduzimanje množenje, medjutim algebarske operacije mogu biti jako komplikovane za čovjeka ako koristimo velike brojeve, ili pak trigonometrijske ili logaritmaske funkcije manje poznatih uglova i brojeva.
U kontekstu korištenja programa jedan od najboljih primjera je igranje video igara. Opće je poznato da programiranje video igara predstvlja jedan od najkompleksnijih poslova softverskih inženjera. Da bi bili sposobni programirati video igrice ili razvijati engine za razvoj video igara potrebno je pored znanja razvoja softvera imati znanje iz matemtike posebno vektora, analitičke i diferencijalne geometrije i drugih područja matematike i sličnih nauka. Korisnici takvih kompleksnih softverskih proizvoda su uglavnom djeca od nekoliko godina do odraslih. Većina njih ni neposjeduje osnovne vještine razvoja softvera jer im to nije ni potrebno niti se u budućnosti žele s tim baviti. Upravo zbog ove činjenice programi predstavljaju poseban proizvod kod kojeg njegovi kreatori (developeri, razvojni inžinjeri, softverski arhitekti) imaju poseban odnos.

U ovom poglavlju biće prikazana tri jednostavna listinga u tri različita programska jezika, FORTRAN, C++ i C#. Intencija knjige je da općenito približi problematiku programiranja bez obzira kojim jezikom programer piše. Kroz cijeli tekst prikazat će se osnovne osobine svakog programskog jezika, i navesti ključne riječi koje su sasvim dovoljne da se čitalac upozna sa osobinama programskih jezika, te da u svakom od njih može pisati programe. Intencija ove knjige je da rješenje problema bude neovisno od programskog jezika, jer algoritam koji rješava problem predstavlja najvažniji korak u pisanju programa. Kada znamo algoritam rješenja problema, pisanje programa predstavlja samo jednu of faza pisanja programa. Dakle pri rješavanju problema akcenat će biti na algoritmu, dok će implementacija algoritma u specifičnom programskom jeziku biti u drugom planu. Nekada će program biti napisan u pseudo kodu, koji je lahak za razumijeti i prepisati u neki od postojećih programskih jezika. Kada implementacija određenog algoritma bude zahtijevala dodatna obrazloženja ona će biti navedena za svaki programski jezik ponaosob.
Naš prvi program neće imati nikakvih ulaznih podataka, a kad se pokrene kao rezultat prikazat će rečenicu “Moj prvi napisani program”. Napišimo zadatak za pri program.

Zadatak 1: Napisati program koji na konzolu (izlazna jedinica) ispisuje “Moj prvi napisani program”.

U FORTRAN jeziku jedno od rješenja zadatka 1 može biti:

! glavna ulazna funkcija  
program PrviProgram  
  
  implicit none  
  integer re_i  
 
  write(*,*) "Moj prvi napisani program!"  
  
  re_i = system("pause")  
  end

Listing 2.1 Rješenje zadatka 1 u FORTRAN jeziku

Kod FORTRAN jezika za ispis na konzolu koristi se ključnu riječ write koja je sastavni dio programskog jezika. Kod pisanja programa u FORTRAN jeziku potrebno da program započinje ključnom riječju program a zatim nazivom programa (Listing 2.1), dok završava ključnom riječju end, odnosno end program PrviProgram. Svaki program u ovom jeziku mora zadovoljavati ove uvjete. FORTRAN za razliku od C++ i C# nije osjetljiv na velika i mala slova, tako da svaka ključna riječ može se pisati malim ili velikim slovima ili miješanjem velikih i malih slova. Tako da ključna riječ program može biti napisana i PROGRAM ili pRoGrAm.
U C++ jeziku jedno od rješenja zadatka može biti:

#include <iostream>  
using namespace std;  
//glavna ulazna funkcija   
int main()  
{  
    cout << "Moj prvi napisani program!" <<endl;  
  
    system("Pause");  
    return 0;  
}

Listing 2.1 Rješenje zadatka 1 u C++ jeziku

Svaki program napisan u C++ mora imati započinjati sa ključnom riječju include s kojom naš program povezujemo sa eksternim bibliotekama koje su potrebne za pisanje programa. U naš zadatak povezali smo biblioteku iostream koja služi da bi koristili metode za ispis i čitanje sa konzole, odnosno da bi koristili klasu cout za ispis na konzolu. Uviđamo da C++ ne posjeduje ključnu riječ sličnu FORTRAN jeziku za ispis na konzolu, write. Pored uključivanja određenih biblioteka, svaki C++ program kao početnu tački odnosno metodu ima metodu koja se zove main. Ova metoda ima nekoliko varijanti u smislu da prihvata različit broj argumenata. Tako da main metoda ima slijedeće varijante:

int main( );
int main( int argc, const char** argv );

U slučaju kada main metoda prihvata argumenta, tada pri pokretanju programa je moguće postaviti vrijednosti za date argumente.
U C# jeziku jedno od rješenja zadatka 1 moze biti:

using System;  
  
namespace KnjigaCSharp  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
           Console.WriteLine("Moj prvi napisani program!") 
  
        }  
    }  
}

Listing 2.3 Rješenje zadatka 1 u C# jeziku

U koliko posmatamo C# verziju vidimo da smo koristili standardnu metodu WriteLine klase Console koja čini sastavni dio .NET frameworka koji predstvlja okolinu ili okvir u kojem radi C#. Izvan .NET Frameworka C# ne može da radi. Pri pisanju programa u C# potrebno je slično kao u C++, koristiti biblioteke iz .NET Frameworka, definisati prostor imena (en. namespace) i definisati klasu koja sadrži najmanje jednu metodu koja se zove main. Ralog zašto je u C# potrebno sve ovo deklarisati prije same implementacije main metoda jeste što C# predstavlja čisti objektno orijentisani programski jezik kod kojeg sve počinje sa klasama odnosno instancama klasa koje zovemo objekti.