Stari projekti

Na tej strani so objavljeni stari projekti, ki jih ne podpiram več. To so programi, ki sem jih pisal ko še nisem vedel veliko o programiranju in sem jih nehal razvijati naprej, ker se mi je tako pač zazdelo. Datum ob projektu pomeni, kdaj sem nazadnje delal na njem.

PS: Stran lahko ima nekaj slovničnih napak, saj sem besedilo pisal iz glave oz. po navdihu 😝.

NikiOS – 28. 7. 2018

NikiOS je bil program, ki je “zamenjal” trenutno verzijo operacijskega sistema z NikiOS. Omogoča večina osnovnih nalog in je preprost za osnovne uporabnike. Naredil sem tudi, da se je lahko NikiOS naložil na pravi računalnik in zagnal brez Windows namestitve. To sem naredil tako, da sem uporabil Windows PE in ga prilagodil tako, da se NikiOS zažene samodejno. Prav tako sem naredil setup, podoben kot je pri namestitvi Windows.

Meni start in namizje

Če ga še želite preizkusti, ga lahko prenesete tukaj. Če ga pa želite zagnati v virtualnem računalniku ali pa na prave računalniku, pritisnite tukaj. Jah, to ni namestitev, ker je gospod pametni izbrisal pravo ISO datoteko. To ISO datoteko je potrebno naložiti na ključek, saj mora NikiOS nekam zapisati svoje podatke.

Začel sem pisati tudi novo verzijo, ki je bila multi-thread (več procesov) zato, da bi program deloval veliko bolj stabilno in varno. Prav tako sem naredil trgovino z aplikacijami, kjer bi lahko izbrali aplikacije, ki jih želite prenesti in namestiti.

Projekt sem opustil, ker sem preprosto povedano obupal. Ni se mi zdelo vredno mojega časa, saj enostavno ne bi bil uporaben v resničnem življenju. Je pa res, da sem se tem projektom dolgo ukvarjal in naredil veliko različnih verzij. Mogoče pa se ga kdaj lotim ponovno 😉

Locker – 26. 7. 2018

Locker je bil program, ki je omogočal upravljanje računalnika na daljavo s pomočjo Android aplikacije. Omogočal je oddaljen zaklep računalnika, ponovni zagon, ustavitev sistema, zagon predefiniranih programov itd. Na program sem bil precej ponosen, saj je deloval precej dobro. Po pravici povedano se ne spomnim, zakaj sem ga opustil. Spomnim se le to, da mi ni bil všeč sistem, da je moral program na Windows računalniku večkrat na minuto vprašati podatkovno bazo, ali mora narediti kaj (izklop, ponovni zagon, zagon programov itd.). Težavo bi lahko rešil z uporabo stateless protocol, vendar še nisem našel primera, ki bi ga razumel.

Izgled

Program ne deluje več, ker je eden izjemno inteligenten človek izbrisal podatkovno bazo in vse PHP datoteke, ki so uporabljale z Lockerjem. 🤦 Program je sedaj praktično neuporaben.

Ko bom razumel stateless protocol in našel ustrzno implementacijo bom program vsekakor naredil na novo. Ker se mi zdi precej dobra ideja.

Linker – 20. 5. 2020

Prva verzija Linkerja je delovala na operacijskih sistemih Windows tako, da se je povezovala preko FTP povezave na strežnik in ročno izdelovala kratke linke. To se je izkazalo za ne precej uporabno zadevo, zato sem naredil novo verzijo. Ta je bila narejena samo s PHP in MySQL podatkovno bazo. Na program sem bil precej ponosen, saj je dejansko linke skrajšal in omogočal pregled obiskovalcev linka: IP gosta, operacijski sistem, od kod je dobil link itd. Servis je bil uporabjen marsikje, saj je bil moj in deloval je odlično. Kasneje sem dodal tudi možnost, da uporabnik sam izbere skrajšano povezavo. Če sem našel neko spletno stran, ki mi je bila všeč in sem jo potreboval za šolo, sem samo link skrajšal in si štirimestno kodo zapisal v zvezek.

Stran za izdelovanje linkov

Vendar na žalost, je Linker prišel v roke nesramnih ljudi in botov. Začeli so skrajševati zlonamerne povezave, linke do pornografije, lažnih spletnih strani za krajo podatkov itd.

To še ne bi bil velik problem, vendar sem Linker zasnoval tako, da avtomatsko preusmeri brskalnik na povezavo ki je bila skrajšana, brez pošiljanja kakšnih ukazov, da je bila preusmeritev. To pa je zavedlo sisteme za preverjanje zlonamernih povezav. In sem dobil precej prijav zlonamernih linkov na svojo e-pošto od Googla.

Potem sem implementiral, da lahko linke onemogočim, vendar tudi to ni pomagalo…

V program sem dodal tudi Googlovo reCAPTCHA vendar zadeve še vedno ni rešila. Zadno idejo, ki sem se jo spomnil je bila implementacija Google SafeSearch sistema, ki preveri, ali je link zlonameren. Vendar na žalost je sistem napisano tako butasto (ali pa samo jaz ne razumem) in je implementacija zelo čudna. Tudi to ni rešilo zadeve. Zato sem sklenil, da moram projekt opustiti.

Skrajšane povezave še vedno delujejo in tudi še bodo. Linker še vedno deluje, vendar je zaprt za javnost. Če bi ga pa želeli uporabljati, ker želite slovenski skrajševalnik linkov mi pa le napišite e-mail 😉 .

Obveščanje o izpadih električne energije Elektra Celje – 22. 8. 2020

To je bil moj prvi projekt kakorkoli povezan z umetno inteligenco. Za backend sem uporabil PHP in wit.ai. PHP koda se požene vsak dan ob 12.00 in iz spletne strni Elektra Celje iz vsake XML datoteke, ki vsebuje informacije o izklopih pridobi obvestila. Ta obvestila se potem posredujejo na wit.ai strežnik, ki vrne podatke, ki se potrebujejo. Če se je kdo izmed uporabnikov naročil na določen kraj in bo ta kraj imel izpad električne energije mu sistem pošlje SMS.

Primer izluščevanja podatkov iz obvestila

Na naročanje se lahko uporabnik naroči tukaj. Projekta ne posodabljam več in ni več objavljen v meniju (ker ga, kot po navadi nihče ne uporablja) bo pa še vedno deloval kot bi moral. Sam ga še vedno uporabljam.

Zelo toplo priporočam spletno orodje wit.ai. z njim se da narediti veliko uporabnih stvari, in celo podpira slovenščino!

Če bi želel kdo narediti kaj podobnega z wit.ai lahko tukaj prenese moje podatke. Kot vhodni podatek mora biti obvestilo od “transformatorskih postaj:” in do konca.

Virtualni asistent – 28. 5. 2018

Precej let nazaj sem v VB:NET (moj prvi programski jezik) naredil program Virtualni asistent. Takrat še sploh nisem vedel za Siri, Cortana (sploh ni obstajala), Alexa… Ampak sem si vedno želel narediti nekaj takega. Program sem naredil tako, da uporabnik v okno vpiše vprašanje virtualni asistent pa mu odgovori s slovenskom glasom (Amebis eBralec – dali so mi nekaj brezplačnih licenc). S programom sem bil zelo zadovoljen, saj smo s prijatelji njegovo bazo skupaj dopolnjevali. Nekdo je podal vprašanje, potem pa je vsak od nas podal odgovor na to vprašanje (tako smo dali asistentu več različnih odgovorov, med katerimi je lahko izbiral). Napisali smo precej veliko vprašanj in odgovorov in smo bili precej zadovoljni. Za podatkovno bazo je uporabljal Access datoteko.

Okno virtualnega asistenta
Ko še nisem imel pojma o poljih, Regex, .replace() metodi itd.. 🤦 Ampak, nekje je treba začeti…

Zapomnil si je uporabnikovo ime, napovedal vreme, iskal po Googlu, itd. Nekaj mesec kasneje sem se odločil narediti novo verzijo virtualnega asistenta, ki bi imela podatkovno bazo na oddaljenem strežniku, tako bi vsaka inštalacija imela najnovejšo bazo. To sem uspešno naredil, vendar takšen kot sem, sem bazo veliko let nazaj izbrisal. Prav tako vso PHP kodo, ki je bla odgovorna za povezavo…

Pred kratkim pa sem verzijo z lokalno bazo nadgradil tako, da namesto Amebis eBralca uporabi sintetizator, ki je bil narejen v okviru raziskovalne naloge. Tako bi lahko sedaj program uporabljal kdorkoli. Zastonj.

Zelo si želim nadaljevati kakšen tak projekt. Vendar je zadeva zelo sofisticirana. Takšen virtualni asistent je zgrajen iz treh glavnih gradnikov:

  • Govor v besedilo
  • Vhodno besedilo -> procesiranje -> odgovor
  • Besedilo v govor

Zadnja točka je sedaj že narejena, ostali dve pa je potrebno še narediti in vse skupaj povezati.

Program klepet – 24. 11. 2017

Program klepet sem napisal v prvem letniku srednje šole v VB:NET programskem jeziku. Omogočal je skupinski klepet, pošiljanje datotek, profili in zasebni klepet s “počutim se” emoji ikonami. Tako je vsak uporabnik lahko izbral emoji, ki je opisoval njegovo počutje.

Okna programa

Za delovanje je uporabljal FTP povezavo. Za skupinski klepet pa datoteko klepet.txt. Brez podatkovne baze. Vse je delovalo preko file systema in FTP povezave. In če danes pogledam programsko kodo, se vidi, da nisem vedel prav veliko o tem. Zasebni klepet je deloval tako, da se je naredila datoteka “uporabniško+uporabniško.txt”, ki je vsebovala zaseben pogovor.

Program seveda ni nihče uporabljal. Sem ga pa pokazal nekaj sošolcem, ki so bili nad njim precej pozitivno presenečeni.

Program je še vedno dostopen in deluje. Tukaj ga pa lahko prenesete. Razširite .zip datoteko v novo mapo in zaženite Klepet kot administrator. Nato se lahko registrirate.

Nikigre brskalnik – 21. 10. 2016

Moj prvi delujoči program, ki sem ga kadarkoli naredil je bil brskalnik. Poimenoval sem ga Nikigre brskalnik. Imel je priročno okno za zapiske, kasneje tudi zavihke, bližnjice in kasneje tudi Chrominum brskalnik za hitrejše in boljše brskanje. Verjamete ali ne, ta brskalnik sem tudi kar nekaj časa uporabljal kot svoj primarni brskalnik.

Ena izmed verzij, ki sem jih našel (Deluje na IE)

Projekt sem opustil. Ne vem zakaj…

Prensete ga lahko tukaj.

Ugani in zadeni – program za iskanje rešitve – 14. 3. 2018

14. 3. 2018 je na radio Antena potekala nagradna igra “Ugani in zadeni”. Med 0 in 1500 je bilo treba uganiti številko ki ustreza kriterijem:

  • V sebi nima 6 in 9
  • Je večja kot 300
  • Ima več kot 4 števke
  • Mora biti sodo število
  • Vsota števk je 10

Ti namigi so prihajali postopoma in proti koncu je bilo na koncu samo 10 možnosti. Program pa je to sam izračunal in prikazal. Če bi poslal kakšno svojo številko, ki jo je program izračunal, bi verjetno lahko zmagal… Ampak nisem. Zakaj nisem, ne vem.

Program

Program lahko prenesete tukaj.

Ebralec – 18. 4. 2018

Ukradeno ime. I know. 🤦 Zaradi bolezni v družini, je oseba začela zelo težko govoriti. Ta osebe ni znala angleščine. Zato sem se odločil, da bom naredil program podoben programu, kot bi ga lahko uporabljala, vendar v slovenščini. Programa nisem nikoli dokončal ali nekaj veliko nadgrajval, saj mi je uspelo originalni sistem v angleščini nekako prilagoditi slovenščini in olajšati uporabo tej osebi.

Začetno okno

Uporabnik se lahko postavi z miško (ali pogleda) navaden gumb. To bo prebralo besedilo, ki je napisano na gumbu. Če pa se postavi na temno moder gumb, pa bo program odprl podmeni z dodatnimi stavki.

Staro verzijo programa sem sedaj posodobil tako, da ne uporablja več Amebisovega sintetizatorja eBralca, ampak sintetizator Govornik. Za delovanje programa, potrebujete internetno povezavo. Prenesete ga lahko tukaj.

Posredniški (proxy) strežnik – 20. 5. 2019

Posredniški strežnik je strežnik, ki uporabnikovo zahtevo za neko spletno stran sam posreduje naprej v svoje imenu. S tem na enostaven način skrije, kdo je dejansko poslal to zahtevo. Precej uporaben je za hitro menjavo IP naslova pred spletno stranjo.

prva stran

Sam sem imel več verzij proxy strežnikov, postavljenih na tem gostovanju. Vendar kot sem že menil pri Linkerju je veliko ljudi/botov ugotovilo, da gostim proxy strežnik in ga začeli uporabljati za zlonamerne namene. Ker je povzročal veliko porabo omrežja in procesorskega časa, sem ga onemogočil.

Computer control – 17. 9. 2019

Computer control je komplet programov za nadzorovanje skupine računalnikov v neki ustanovi. Programski paket je sestavljen iz treh paketov:

  • Computer Control Admin (CCA) – Program za nadzorovanje računalnikov.
  • Computer Control Client (CCC) – Program, ki je nameščen na uporabnikovem računalniku.
  • Computer Control Config (CCa) – Program, ki konfigurira CCC na uporabnikovem računalniku.

Na desni strani CCA je seznam prostorov, v katerih so računalniki, ki jih nadzorujete. Z dvoklikom odprete nadstropja, prostore in potem dejanske računalnike. Program omogoča veliko načinov upravljanja z oddaljenimi računalniki. Kot so:

  • Izklop računalnika
  • Ponovni zagon računalnika
  • prikaz obvestila uporabniku
  • Prikaz HTML obvestila uporabniku
  • Zaklep računalnika
  • Odpreti program/spletno stran uporabniku
  • Namestiti .msi programe
  • Nastaviti nedovoljene programe (katerih uporabnik ne more zagnati)
  • Prenos datotek
  • Prikaz trenutno delujočih programov
  • Pogled na monitor v živo. (vmes sem tudi želel dodati oddaljen nadzor, ki je do neke mere deloval)

Marsi katero funkcijo od tega pa lahko tudi ukažete skupini računalnikov. Programski paket ima prav tako svojo wiki stran tukaj.

Pregled izbranega računalnika

Program sem napisal dvakrat. Prvič je bil narejen na principu spletnega strežnika, ki je pisal datoteke na spletni strežnik, ki so povedale clientom, kaj je potrebno narediti (datoteke so bile v drevesni strukturi glede na nadstropja, učilnice). potem sem program napisal popolnoma na novo tako, da je program uporabljal bazo na oddaljenem strežniku, kar je odprlo veliko novih možnosti in uporabnosti. Profesorju, ki me je imel praktične predmete v srednji šoli je bil nad projektom zelo navdušen, saj kot je rekel deluje precej dobro in ima veliko funkcionalnosti in bi bil res dober za v učilnico. Prav tako so vsi računalniki pisali log na bazo, tako ste lahko preko CCA videli, če se je izvedlo, prišlo do napake itd. Kasneje pa sem tudi dopisal program, ki je kontroliral, če CCC deluje. In če ne, ga zažene. Prav tako pa CCC kontrolira če ta program, ki pazi nanj deluje. Tako sem zagotovil, da CCC vedno deluje (Mogoče so kakšni triki,, da bi se ga dalo izklopiti ampak bi se to v CCA videlo). Prav tako sem napisal CCCs (Computer Control Client Service), ki je bila narejena tako, da se je ni dalo izklopiti. Vedar servisi na novejših Windowsih nimajo pravic dostopati do uporabnikovih podatkov (zagnani programi, slika zaslona, prikaz obvestil…), kar je onemogočilo večino funkcionalnosti CCC. Lahko bi napisal program, ki ne bi bil servis, ki bi sporočal te podatke le tej, ampak tako daleč nisem šel…

Največja slabost programa po mojem pa je ta, da so clienti imeli timer in so na vsake X sekund (prevzeto 8 s) povprašali bazo, če mora kaj narediti. Sedaj si pa predstavljajmo veliko računalnikov, ki vsake 8 sekund vsak teži glavnemu strežniku, če mora kaj narediti… Mislim, da bi bilo omrežje preveč obremenjeno… Rešitev bi bila verjetno kakšen stateles protocol, ki bi vedno držal povezavo med clientom in serverjem odprto. Tako bi samo server rekel: “Prikaži obvestilo”. Ne pa da mora client vsake 8 s vprašati strežnik, ali je kaj za narediti.

Projekt še vedno deluje in se ga da namestiti in uporabiti. Odprite wiki stran o tem projektu in preberite kako.

Zakaj sem ga opustil? Izgubil sem interes. Tisti, ki pa me osebno poznajo, pa vedo zakaj sem ga izgubil in kdo je za to kriv. 🤦‍♂️😝

Za konec

Če ste prebrali vse do sem… waw. Kar lahko rečem, je samo hvala! 😊 Nisem vedel, da koga dejansko zanima kaj o mojih projektih. Vedno sem si želel napisati nekaj takega, da bom lahko čez nekaj let pogledal na svoje začetke programiranja in svoje projekte, na katere sem bil res ponosen.

No, sedaj mi pa že počasi zmanjkuje besed. Ne vem več kaj naj napišem… Hvala še enkrat in imejte prekrasen dan/večer/jutro ali karkoli 😉.