2010. október 29., péntek

2010. október 7., csütörtök

Nincs cím

Re!
Nem mostanában volt, hogy írtam. Hogy miért is? Talán mert nem programozom. Illetve... programozom, de nem olyan publikus dolgokat, amit meg lehetne osztani.
Meló helyen XSL-ben nyomulok, néha már majdnem átlátom a dolgokat :) Aztán kell még MsSQL-ben is programozgatni. Érdekes, csak picit szokatlan, de a héten már kurzorokkal is bíbelődtem, mit bíbelődtem, ágyaztam őket egymásba :D

Hétvégén szakdogát kell csinálni menthetetlenül. Nincs vele sok meló. Kicsit szenezni a térkép megjelenítésen, meg feltölteni adatokkal. De ahogy magam ismerem, majd a pár órás robot munkát megtoldom pár óra + még 3 programozással, h aztán a gép magától vigye be az adatokat :p

Van ilyen, hogy Cpp gyakorlat, hálózati alkalmazás fejlesztés. Befejezem itt a posztolást, akkor sztem elkezdek levelet írni a két csapattagnak, és nekifogunk megtervezni az egészet.

Holnap reggel 8-tól angol, gyúrok a nyelvvizsgára :)

Ennyi...

ui.: jó volna ma korán hazamenni és AAAAAAAAAALUDNI :D

2010. augusztus 21., szombat

Mókolás

Re!
Nem sokat írok mostanában, dolgozom. Igaz programozom ott is, de nem olyan nagyon érdekes dolgokat és még kevésbé publikusokat :)
Héten intéztem albérletbe netet. 50/25-ös kábel lesz. Havi 3500-ért nem is sok. Mivel nem akarom a gépet járatni folyamatosan gondoltam összerakok valamit a közelben fellelhető cuccokból aztán azt fogom használni. Egyrészt szeretnék torrentezni ("az dobja rám az első követ, aki még nem vétkezett") másrészt jó lenne, ha a munkahelyen a saját zenéim tudnám hallgatni.
A gép megvan talán. Füles kolléga felajánlott egy P3-as lapos klienst, aminek ráadásul passzív a proci hűtője, így csak takarítani kell és mehet be az ágy alá. Egész halk lesz valószínűleg. Aztán megy majd rá egy jó adag linux. Valószínűleg XUbuntu 9.04 kerül rá, bár igazából mindegy volna. Megpróbálom úgy megcsinálni, hogy ne legyen rajta semmilyen grafikus cucc. Monitor, bill, egér nem kell, majd puttyal ügyeskedem rajta :)
Megy rá egy cTorrent meg valami jóféle audió streamer akármi, amivel a zenéim tudom on-line hallgatni. Aztán még meglátjuk, lehet mást is pakolok fel :)
Hm... még routert is kéne beszerezni, de bakker... messze a szept eleje :D

2010. augusztus 8., vasárnap

Kocka poén

Re!
Mielőtt aki nem ismer azt hinné, hogy nincs humorérzékem, a hét legszebb gyöngyszeme:




Innen származik

2010. augusztus 6., péntek

Heti oktatás

Re!
Hát nem semmi hetem volt. Nem tudom a Modulo kinek mit mond, de a lényege, hogy egy elektronikus ügyintéző rendszer. A héten ennek a rendszernek a működésével ismerkedtem. Meg kell hagyni nagyon érdekes volt. Megtanultam XSL-ben utasításokat adni, kicsit programoztam JavaScriptben is. Mondjuk elég siralmasan ment, de hát mint mindenbe ebbe is bele kell jönni. Amúgy nagyon érdekes és a legjobb, hogy jövő héten már teljesen új projekten dolgozhatom ebben :)

2010. július 24., szombat

Szakdolgozat - pont - szakasz távolság

Re!
Ismét egy jó eredmény :) Pár napja szórakozok azzal, hogy ha már megvan egy útvonal megállókkal és az azokat összekötő szakaszokkal, akkor valahogyan ki tudjak jelölni ne csak pontot, hanem szakaszt is.
Nem tudom eddig miért nem kezdtem el kutakodni a prog.hu-n, mert ott általában mindenre van megoldás :) Találtam egy algoritmust, amit ott ugyan 3d-s pontokra és szakaszra írtak le, de azt 2d-be átírni semmiség. Nyah mindegy, a lényeg, hogy most már a szakaszok kiválasztása is működik, már csak a róla lévő információkat kellene kitalálni, hogy mégis, hogy jelenítsem meg.

2010. július 23., péntek

Szakdolgozat

Re!
Tegnap sikerült elfogadható állapotra hozni a pontok megjelenítését. Okozott egy kis bosszúságot, de végül is megoldottam. Most a vonalak megjelenítését fogom megcsinálni, ami persze megint egy sor agyalást jelent...
Hm... nem is olyan egyszerű az IGO-t lemásolni :D

2010. július 19., hétfő

Zenevezérlő

Re!
Délután megint eszembe jutott a régi ötletem, miszerint jó lenne, ha a telefonról nem csak kapcsolgatni tudnám a zenét, hanem kapnék némi információt is a zenékről. Ma este megint elkezdtem ezzel komolyabban foglalkozni. Miután rájöttem, hogy még mindig nem lett egyszerűbb a FooBar2k-ba plugint írni elkezdtem turkálni. Találtam is egy ControllServer nevű kiegészítőt. A lényege, hogy beinstallálva a lejátszóba a számítógép adott portján (alap: 3333) küld és fogad a lejátszóról/ra való infókat. Számcímeket írja, de lehet listát választani, számot léptetni, egyesével és többesével is.
Tehát kikerült a megkötésből, hogy C++-ban kelljen programozni. Ami most következik, hogy írok egy C#-ban egy progit, amivel egy a 3333-as portot a telefonon lévő Java-s, BT-s progival. Hm... annyira nem is hangzik veszélyesen :)
Azt hiszem C#-al indítok majd, aztán jöhet a Java :)

Persze szakdogával is igyexem haladni majd. Holnap ha hazaértem az útvonal kijelölést minden képen be kell fejeznem.

Szakdolgozat

Re
A hetem a szakdolgozatnak szentelem. MM projektet kicsit hanyagolom.
Tanár Úr javasolta, hogy valami sematikus térképet lehetne készíteni a gépben lévő koordináták alapján. Ennek kezdtem neki ma.
Kezdés képen csak kísérletezgetem. Az alkalmazás nagyon egyszerű, van egy Panel vezérlő és egy csúszka. A Panelen rajzolódik ki a "térkép" a csúszka a zoomolást állítja. A pontokat véletlen szerűen generálom, ahogy a köztük lévő kapcsolatokat is.
Amire szükségem volt egy osztály, amiben tört koordinátájú pontok is tudok tárolni - ilyen a CF-ben nincs kéznél (PointD lett a neve). Ezeknek az összeadás, szorzás, osztás műveleteit túlterheltem (érdekes magyar terminológia).
Egy koordináta egy osztály, amiben van egy PointD típusú változó, ami a helyét jelöli, egy string, ami a nevét, egy Point, amiben a képernyőn lévő aktuális helyét tárolom valamint egy lista amiben a szomszédai találhatóak.
A TerkepMegjelenito osztályom a konstruktorában kapott Panel Paint() metódusához ad hozzá egy saját függvényt ami a rajzolást végzi. Kezdés képen a vonalakat rajzolom ki a koordináták szomszédai alapján. Utána a koordináták jönnek, amiket egy X-el jelölöm meg a kijelzőn.
A Panel egér kezelő metódusait is kibővítettem, így a tollal bökve és húzva lehet a térképen mozogni. Valamint ha egy pontra bökünk (pontosabban a közelébe) akkor kiírja annak nevét.
Jelen pillanatban még azon dolgozom, hogy ha vonalakra bökök, akkor is tudjak információt megjeleníteni róla, kiszínezni vagy ilyesmi. Ehhez első ránézésre minden információm megvan, második ránézésre kiderül, hogy nem a legjobb struktúrában tárolom az adatokat, így ezt még át kell variálni, majd átgondolni, hogy egy pont mikor van egy adott szakaszon (hiába régen voltam már 11-es :D )
Ha ez megvan akkor kezdem az elejéről, de már a meglévő alkalmazásba beépítve, a megállók koordinátáit bevíve a rendszerbe.
Körülbelül ez a terv a hétre.

Holnap irány Szeged, albi nézés és állás megbeszélés :)

2010. július 18., vasárnap

Idézet

Re!
Ez nagyon tetszik (egy fórumozó aláírásában találtam):
Címzési típusok a 2. vh-ban:
unicast - sniper
multicast - shotgun
anycast - taposóakna
broadcast - szőnyegbombázá

2010. július 16., péntek

Munka

Re!
A hét állásinterjúkkal telt. Hétfőn Pesten voltam fenn a Telekom gyakornoki programjával kapcsolatosan. Minden simán ment, tök érdekes meló lenne. Springben kellene programozni java nyelven. A fizu nem túl sok bruttó 75 + kafetéria heti 20 óra munkáért (2,5 nap = 3). Ami leginkább visszatart az az, hogy Pesten van, és az azt jelenti, hogy Szegedről kellene feljárnom Pestre. Ami körülbelül heti 14-15 óra utazás. Csütörtökön szóltak, hogy felvettek. Sajnos vissza kell mondanom...
Kedden telefonos interjúm volt. Igazából már az első körben headshutot adtam magamnak, mert az angolom az semmilyen :( Ezen minden képen csiszolni kell majd. Ők 2-3 héten belül értesítenek. Banki szofvereket író cégnél kellett volna 8 órában dolgozni.
Szerdán Szegeden voltam egy állás interjún, ahova Gergő ajánlott be (nagyon köszi, meg fogom hálálni). Igazából hétfőn mondta h van ilyen, küldjem el az önéletrajzomat, szerdán felhívtak, h csütörtökön megbeszélés. Csütörtökön úgy jöttem el, hogy gondoljam át, és ha benne vagyok akkor mehetek dolgozni :) Jah azt nem mondtam, hogy az egyetem HSZI-jén kell dolgozni. Ma visszahívtam őket, hogy mennék. Majd kedden lesz egy újabb megbeszélés. Aztán augusztus első hetében egy képzés Pesten aztán meló Szegeden. Nagyon örülök neki!
Hogy mi is lesz a dolgom még nem 100%-ig világos. Amit tudok, hogy a Modulo rendszerbe (egyetemistáknak nem kell bemutatni szerintem, kívülállóknak: egyetemen belüli elektronikus ügyintéző rendszer) kell majd űrlapokat beleprogramoznom. Nagyon érdekes munkának tűnik, mert a Modulo nagyon szoros kapcsolatban áll az ETR-el, a HSZI és a karok rendszereivel, így azokba is nyerek betekintést. Az egy hét oktatás alatt egyébként ebbe vezetnek be minket, az ETR és a Modulo működése.
"Suttogtak" olyant, hogy a HSZI meglévő rendszereit kellene a netre kijuttatni, de igazán erről senki nem tud semmit, szóval ilyen ötlet szerűen lehet. Viszont az is szintén érdekes téma.
Jah a fizu itt, ahogy mondták a diákoknak adható maximum, nettó 75. Ami nem hiszem h sokkal kevesebb, mint a Telekomnál lenne. De Szegeden van és egy nagy előny, valamint ha nem is mutat olyan jól a referenciáknál, mint a Telekom, de sztem mutatós lesz ez is!
Most albérleteket keresek éppen. Két hetem van rá, bár ha ne adj isten nem jönne össze, Marcsinak köszönhetően valószínűleg akkor sem kell a Bertalan híd alatt aludnom :)

2010. június 29., kedd

Nyári bejelentkezés

Nyár van, nincs semmi érdekesebb, azt hittem, hogy majd mennyit, fogok programozni, de nem nagyon. Jó mondjuk nem teljesen igaz, az MM projektet csinálgatom, de arról itt nem írhatok :) Csak annyit, hogy J6SE + EJB3.0 + sok sok szívás...

2010. június 17., csütörtök

Szünet

Re!
Végeztem a vizsgákkal. Meglett a logikám is, amitől annyira féltem és amire annyit tanultam. Jó tételeket kaptunk szerencsére :)
Most még a vizsga időszak végéig még a szakdolgozatom kell befejezni. Már nincs sok dolog vele, igazából csak az adatok feltöltését kellene megcsinálni. A probléma az, hogy lusta vagyok, ezért ezt is programból próbálom megcsinálni. Azzal vacakolok még, nagyon sok esetre jól működik, de néhány mindig megakasztja a futását. (1100-ból 70-80 problémás eset van :S)
Ha ez kész, akkor elkezdtem fejleszteni a MakoMotorikás projektet. Van egy csomó új ötletem :)

2010. június 11., péntek

XBox Pong

Re

Az IT Factory tanfolyamot és versenyt hirdetett XBox-ra való programozás témájában.
Mivel C#-ban lehet programozni a dologt gondoltam kipróbálom. Leszedtem a hozzávaló dolgokat és alkottam. Nem sok mindent, viszont a már meglévő pályaműveknél többet. Azért a skinek kicserélésével nem elégedtem volna meg. Beletettem középen van egy tégla, amit ha eltalál az ember különböző funkciókkal gazdagodhat. Növkedhet, vagy csökkenhet a mérete, vagy akár az ellenfélé. A labda gyorsulhat és lassulhat, illetve plusz pontot is kaphat érte. Tehettem volna be több ilyen téglát is, nem lett volna nehezebb akkor sem, de mivel annak megvalósítása már robot munka, nem volt hozzá kedvem :)
Ilyesmi lett (IT Factory csinálta a videót róla):





2010. június 8., kedd

Rajzolás WM5-ön

Re!
Szakdolgozat kapcsán Tanár úr felvetette, hogy mi lenne, ha egy sematikus térképet jelenítenék meg a megállókról. Mivel erre nincs kész komponens nekem kéne megírni rá grafikusan.
Gyakorlás képen kicsit játszottam, és írtam egy "rajzprogramot". Persze a teljesség igénye nélkül, inkább csak kipróbálni, hogy hogy is müxik a dolog.
Az elve és a működése viszonylag egyszerű:
  1. Figyelem az egér mozgást és érintést. Az egér itt természetesen a ceruza.
  2. Ha az a rajzterületen belül van az azt jelenti, hogy érdemes vele foglalkozni, ezért tovább küldöm feldolgozásra
  3. Vezetek egy listát a már megjeleníteni kívánt pontokról. Ha az újonnan érkezett pontok még nincsenek benne, akkor kérek kérek egy rajzolást.
  4. A rajzolás nem csinál mást, mint végigmegy a pontok listáján és minden pont helyére tesz egy előre beállított ármérűjű kitöltött kört.
  5. Meghívja a rajzterület belső kirajzoló metódusát, ami frissíti a képet és már meg is jelentek a pontok a kijelzőn
  6. 1. ponttól megy újra az egész
A dolog egészen jól és folyamatosan működik amíg csak néhány pont van a tárban, viszont a megjelenítés elkezd akadozni már néhány száz pontnál is és előjön a villódzás. Hogy ezt megszüntessem betettem egy Timert az egész rendszerbe. Ez nem csinál mást, mint amikor a rajzterület belső rajzoló metódusát hívják számol 300 ms-ot. Ha sikerül végigszámolnia akkor meghívja a kirajzolást. Viszont, ha új pont kerül be a számlálás megszakad és újra 300-tól megy. Így amíg új pontok kerülnek be addig nincs kirajzolás, csak ha már abbahagytuk. A villódzás megszünt.

Most még azon gondolkozom, hogy ha túl gyorsan rajzolunk a vonal szakadozik. Kipróbálom, hogy megoldható-e, hogy amikor pontot kell felvenni a program két részre szakad. Az egyik visszatért figyelni a következő pontot, a másik fele pedig a tárolást és az rajzolást végzi. Magyarán szálakat alkalmazni. Igazából nem tudom mi várható. Lehetséges, hogy a szálak nyitása és zárása miatt a program még lomhább lesz és még lasabban kell neki a pontokat bevinni.
A progi valahogy így néz ki most:


A sárga felületre lehet rajzolni. A csúszka állítja a toll vastagságot, a bal oldali szövegmezőben a berajzolt pontok száma látszik, a jobb oldaliban az utoljára berajzolt pont koordinátája.

Itt lehet beállítani a toll színét RGB szerint. Az alsó rész csak amolyan minta.

2010. május 30., vasárnap

Word + Access

Re!

Vizsgák miatt nem nagyon csinálok érdemi programozgatást így ide se pötyögök. Tegnap este azonban volt kis időm, így elkezdtem agyalni a Józsi által javasolt ötleten.
Az előző bejegyzésben már leírtam mi az alap ötlet és írtam, hogy majd nyáron megcsinálom. Nem is kellett addig várni :) Kicsit fura volt VB-ben kezelni az Access fájlt, de azért nem lehetetlne. A keresés nem lett túl szép, mert kódból csinálom, de azért megteszi. Nem tudtam rájönni, hogy hogy lehet szűrést készíteni. Még lehet próbálkozom vele.
Ha azt is sikerül megcsinálni akkor lehet feltöltöm ide a programocskát és meg lehet nézni :)

2010. május 22., szombat

Microsoft Word & VB

Re
Csak egy rövid szösszenet. Ismerős megkért, hogy csináljak neki valamit, amivel papírokat tud gyorsan kitölteni. Ne kelljen neki kézzel beírogatni az ügyfelek adatait.
Wordben csináltam neki. Kevés Visual Basic kellett csak hozzá. Ahogy megnyitja a dokumentumot, az feldob egy beviteli ablakot. Beviszi az értékeket, és az ürlapok kitöltődnek a megfelelő helyeken. Ez még nem nehéz. A következő lépés talán az lesz, hogy egy adatbázisban el is menti a már bevitteket és vissza lehet keresni. Egy MS Access fájlt kell hozzákötni a beviteli mezőhöz. Nem lenne túl nehéz, hanem VB-ben kellene. Ez talán majd nyáron megírom neki.
Nem tetszik a VB!

2010. május 17., hétfő

Vizsga

Re!
Megvolt az "első" vizsga idén, de nem első sajnos Logikából. Valszeg pékáró lesz :S
Voltam tanár úrnál a szakdogával kapcsolatban. Igazából nem túl sok érdemi változás került a progiba, az adatok bepakolása még mindig várat magára. Egy hónap múlva megyek kb újra és akkor bemutatom a progi közel végleges verzióját készítek valami grafikus cuccot is. Nyáron és szeptemberben még lehet programozgatni, de szeptember végétől el kell kezdeni megírni a szakdogát. Sallangok nélkül 30 oldalt kérnek. November végén, legkésőbb december első hetében beadom tanár úrhoz, és kijavítja. Második hétre átírom és mehet bekötni :)
Szép menet lesz még idáig.

2010. május 14., péntek

Szavazás teszt

Re!
Felmetült a kérdés, hogy hogyan lehet szavazást pakolni a blogba. Ez a módszer úgy lászik működő képes. Bárki tud ilyent csinálni a http://szavazo.net/ oldalon! :)


2010. május 12., szerda

Friss hír

Most kaptam az információt miszerint nem is 50 pont a minimum, hanem 40 Mikrovezérlőkből :D

Siker?!

Re!
Hát ma volt a nagy bemutatók napja. 11-től mutattam be, a mikrovezérlők kötprogot. 50 pont lett, ami a minimum. Igazából nem is vártam többet. Az ASM magában nem könnyű, de egész értelmes progikat is meg lehet benne csinálni, ha kicsit mélyebre ás az ember. Viszont a 8051-es ASM még a hagyományos ASM-nél is puritánabb. 255 utasítás... Nem baj, nem buktam meg :)
Az AAR se lett rossz. Mondjuk java részt Zolin múlik. Utobbi két napban olyan szintre hozta a GUI-t, hogy le a kalappal. Sokkal szebb lett volna az egész, ha időben elkezdi - ő mondta -. Végül is célnak megfelel. 10 pont a minimum 20 a max. Árpi, Zoli 15-öt kapott. Árpi maximálisan elégedett volt, 10 elég lett volna neki. Zoli... hát sztem beletörődött, én 20-at kaptam. Nem tudom, igazságos v. sem ennyi. Minden esetre jó, hogy vége.
Hétfőre szakdogát kéne feltölteni adatokkal, plusz logikát tanulni mert vizsga.
Kedden este állás interjú. Telefonon :) Kíváncsi leszek, hogy mit lehet kihozni belőle :) Nem lenne rossz egy távmunkát megcsípni :)
Vizsgákra fel!

2010. május 11., kedd

Fáradság

Re!
Hát kicsit megkésett a beszámoló, már nem tom miről akartam az ide utazás előtt írni még.
Azt tudom, hogy tegnap marha korán keltem egy teszt kedvéért. Reggel 8-ra kellett Pesten lennem (helyesebben Budán) lenni a telekom gyakornoki programjából kifolyólag. Két tesztet irattak: egy szövegértésit, ez nem is volt olyan gáz 32 satirozni való 18 perc alatt. A második matekos volt, kimutatásokból kellett különböző értékeket kiszámolni. Igazából nem lett volna nehéz, hanem 20 feladatra kapunk 20 percet. Persze megértem, valahogy a 600 főből ki kell szúrni a legjobb 40-et. Tapasztalat szerzésnek jó volt, de nem hiszem, hogy szakmailag előrébb fogok ezáltal kerülni, bár ne legyen igazam! :)
Lassan vége a félévnek. a két beadandót szerdán mutatom/mutatjuk be. Aztán már csak vizsgák. Logikát elsőre! :D

2010. május 9., vasárnap

Minden féle

Re!
Már pár napja írni akarok, de mindig mikor eszembe jut mást csinálok, utána meg elfelejtem. Mit is csináltam a napokban...
Mikrovezérlők kötprogit írtam. Elég gáz lett, nem is működik, de bízom tanár úr jóindulatában és legalább a minimum összejön. Különben nem tudom, néha úgy rámjött, hogy milyen jó ez az ASM és hogy tök jókat lehet benne csinálni. Amit meg kellett csinálnom, az a 8 bites rendszeren 16 bites szorzás. Tök érdekes, csak ha már át kell paraméterezni, borul az egész. Mindig tanítják, hogy alapos tervezés. Ez itt fokozottan igaz, mert egy kód kitalálása se 5 perc, a javítása meg sokkal sokkal több.
Szakdogával is haladtam. 4 kitűzött cél volt.
- naptári ünnepek figyelembe vétele a menetrend tervezésénél - KÉSZ
- keresési beállítások mentése - KÉSZ
- keresési algoritmus kijavítása - KÉSZ, bár nincs tesztelve
- valós adatok feltöltése - 50%
Ez utobbi sajnos nem úgy megy mint képzeltem. Megírtam egy adat összeállító programot, ami már meglévő adatokból generálja a menetrendet, de még nem az igazi. Több járatot készít mint kéne. Jövő héten beszerzek valami!
Folyt Szegedről!

2010. április 28., szerda

Bejelentkezés

Re!
Mostanában inkább a sulival foglalkozom, mint a programozással.
Tegnap például egyés este a Mechatronika c. tárgyamra készítettünk kötelező programot. A feladatot korábban már leírtam. Az a szomorú, hogy hiba van immár 4 kidolgozott feladat a kezemben, gyakorlatilag rosszak. A feladat lényegi része nincs benne a dokumentiációban. Egyszer valaki okos megcsinálta, aztán azóta mindenki az övét másolja. Hiába. Nem tanítják olyan szinten ezt, hogy esélyünk legyen megcsinálni (kicsit durvának tartom, hogy sehol nem beszéltek mélyebben az arcus-os szögföggvényekről). Így mi sem tudunk jobbat csinálni, próbáljuk másolni az elődöket. Este ismét összeülünk, remélhetőleg sikerül befejezni az egészet.
Héten be kell fejeznem az AutoCAD kötprogimat, mert vasárnap lejár a leadási határidő. Akárcsak a digitális képfeldolgozásnak. Hál' Istennek utobbival már nincs sok baj, csak a leírásnak megfelelően be kell csomagolni. Két hét van még a suliból ezen kívül, de elég húzósnak ígérkezik :s
Szakdolgozattal egész jól állok. Pár új kényelmi funkciót kell még belevennem meg adatokkal feltölteni. Lehet hétvégén ezt csinálom, bár nagyon szeretném, hogy ne legyen rá időm! [ ;-) ]
Tanár Úr azt mondta nyáron ugyan nem kötelező csinálni a szakdolgozatot, de akár új funkcióként beletehetnék egy sematikus térképet. Igazából nagyon érdekel a dolog, mert grafikusan kellene programozgatni, másrészt nem tűnik túl könnyű feladatnak, szóval még nem tudom mi lesz belőle :)
2-től AAR zh... szerencsére nem sok pont kell. Abból is, hogy mi lesz :s Huh nem tudom, a kötprog sehogy nem áll. Ami gáz, hogy az adatbázis része se, tehát ha osztottan kapjuk a pontokat akkro se biztos h megütöm a lécet :s Minden esetre azért: bizakodjunk! :)

2010. április 24., szombat

Assembly, szakdolgozat, és a többi

Re
Koliban nem nagyon tudok alkotni, de itthon azért igyexem :) Tegnap délután összedobtam egy ismerősnek egy asm kötprogit. A progi nem túl bonyolult. A felhasználótól 3 számot kell bekérni. Első szám a számrendszert jelöli, amiben a 2. szám van. Persze figyelni kell rá, hogy csak olyan karaktereket írhasson be a felhasználó, amik érvényesek abban a számrendszerben. A 3. szám ismét egy szám ismét egy számrendszert jelöl, hogy melyikbe váltsuk át. Végül ki kell írni az átváltást. A hatványok tárolásával volt pici bajom, de aztán megoldottam, mert inkább eltároltam szövegként - mint egy korábbi feladatban is. Ha gyakvezér megadta a megfelelő pontokat a feladatra, felteszem a forráskódot.
Szakdolgozattal foglalkoztam ma (elég korán keltem szombathoz képest). A 3 fő hiányosságot amit tanár úr mondott úgy gondolom, hogy belevittem a progiba. Most még egy youtube néző cuccot telepítek a Mio-ra (mert hát az fontos :D) Aztán lassan hozzáfogok az adatbázis alapú rendszerekhez.
Tegnap CAD-eztem is. Lassan kész a beadandó, ami nekem egy Simson S50 főtengely, hajtókarral. Amint kész mutatok képeket, hogy hogy sikerült.
Pár napja befejeztem, a digitális képfeldolgozás kötprogit is. Nem erőltettem meg magam, egy tükrözéses feladatot választottam. Nem túl látványos, de arra jó, hogy teljesítsem a tárgyat.
Ennyi :)

2010. április 17., szombat

Assembly, szakdolgozat

Re
Mai napom suli dolgokkal ment el. Délelőtt a szakdolgozatom irogattam, csináltam a progiba pár súgó feliratot, tovább új beállítások is belekerültek. Dél körül valami elromlott, lehet holnap kijavítom és még fejlesztem majd.
A délután teljes egészében elment az assemblyvel. Egy kötelező programot írtam meg - persze nem magamnak, csak úgy magam miatt. Assembly elég távol áll tőlem, viszont valahogy elkezdtem csinálni és szinte már élveztem (lehet h mazoista vagyok?). Ma este végül si 90%-osan elkészült a program. A specifikációja úgy szól, hogy olyan progit kell írni, ami számokat vár, és azokat adja össze, vagy vonja ki. Két számra működik a program, most már csak az kell, hogy egymás után lehessen bevinni a számokat. Remélem a megkötések nem túl szigorúak...

2010. április 13., kedd

Köridő mérő

Re
A mai szabad estét arra szántam, hogy megpróbálok egy mobil alkalmazást összerakni, de most nem Windows Mobile-ra, hanem Java-s telefonra. Annál is inkább, mert szeretném majd a szakdolgozatomat később átírni rá.
Hát... A WM után pici macerás, nincs mit szépíteni. Előszőr is szükségem volt egy Sony Ericsson SDK-ra, mivel a W880-asomra terveztem fejleszteni. Mivel a Netbeans egy pufibb verzióját tettem fel, már benne volt a mobil fejlesztéshez szükséges plug-in. Kisebb nehézségek árán sikerült az SDK-t is bele tenni. Most már tudtam dolgozni, fordítani, de azt sajnos nem sikerült elérnem, hogy az SDK-n keresztül összekötött telefonomon egyből fusson, így kénytelen voltam minden fordítás után átküldeni. Két kattintás, nem arról van szó, csak mégis kényelmesebb, ha fordítás után fut automatikusan.
A Netbeansben még nem csináltam ilyesmit, és érdekes így egy este után. A szerkesztő ablaknak 4 nézete van. Elsőben a forráskód böngészhető, bár ahogy megszokhattuk/juk a Netbeans elég sok mindent elzár tőlünk. Amit elzár, azt a Design oldalon lehet állítgatni. Itt látjuk a formunkat, ide tehetjük be a palattáról a gombokat, szöveg dobozokat és hasonlókat valamint a komponensek tulajdonságait is itt állíthatjuk be. A harmadik fül a Flow, itt egy folyamat ábrát készíthetünk, hogy az egyes akciókra milyen formok jöjjenek elő, mik tünjenek el. Ha ez kész, utána a program le is generálja nekünk a szükséges kódot. Nagyon kultúrált. A 4. fül bizonyos Analizer, nem látom még hasznát, de biztosan van :)
Meglátjuk mi sül ki belőle :)
Csak még azt nem mondtam mire gondoltam :) Kezdés képen egy köridő mérő programot. Gomb nyomástól gombnyomásig méri az időt tárolja. Átlagot számol, szélsőségeket, körök számát. Következő lépésben beállítható, hogy mekkora a körpálya hossza. Idő és távolság, és már meg is kaptuk az átlag sebességet és az összesen megtett távolságot - jöhet az edzés program :D Az átlagokból lehet tudok majd saccolni pillanatnyi távot is, persze ez pontatlan, de poénnak nem rossz :)
Szép lenne ha fájlban tudná menteni a progi az eredményeket és az asztalon meg lehetne nézni.
Ez már azért nem egyszerű, meg nekem felesleges is, szóval valószínűleg nem lesz meg.

2010. április 11., vasárnap

Prog1, Cantata

Re
Egy ismerős megkért segítsek neki megírni egy kötelező programot Programozás 1-ből. A játék amit el kellett készíteni egy dáma játékhoz hasonló, nem tudom ki ismeri. A neve Centúriók csatája.
A lényege, hogy van két csapat 16+1 bábúval. A játék első felében a két játékos elhelyezi a bábúit a táblán, ezután jön a harc. Felváltva mehetnek a katonáikkal előre, hátra és oldalra, 1-1. Az ellenfél katonáját úgy lehet levenni (mert hát ez a játék célja), ha két saját egységgel közre fogjuk. A centuriók nem sokban különböznek a katonáktól, csak annyiban, hogy ők a tirgis ügyességével képesek átugrani az ellenfél bábúját. A játék végetér ha elfogy valakinek az összes bábúja (v. egy marad, mert azért 1 babúval közrefogni akárkit elég nehéz :D) vagy ha valamelyik játékos mozgásképtelen lesz.
A megvalósítás nem tartott túl sokáig, bár biztosan lesz benne pár hiba. Ha lezárult a beadási határidő, felteszem a játékot ide is. Ki lehet próbálni :)

Időközben eszembe jutott, hogy a Cantata kötprogim blokrajzát ígértem, hogy felteszem. Aki nem emlékezne egy háttér elé kellett egy pálmagát betenni. Íme:

Mit is csinál? A felső User defined dobozba kerül be a háttér kép, az alsóba a pálma. Kezdés képen a pálmafás képet kibővítem akkorára mint háttér, és a helynek megfelelően eltolom. Ezután maszkot kell készíteni, de ezt csak szinenként tudom, ezért mind a két képet szétbontom a színcsatornáira (R, G, B). Vágással (bizonyos érték alatti rész 0, az fölötti 1-es) elkészítem a maszkokat, amit ráhelyezek a háttérre (ahol a fa van ott 0 értéket kap) és a pálmára is (ahol nincs fa ott 0). Az így elkészített maszkolt képeket összeadom, majd a Join dobozzal egyesítem a 3 csatornát és kész is. Egyszerű, nem? :)

2010. április 9., péntek

Mechatronika és a többi

Re
Ahogy vártam a szünetet, hogy majd mennyi mindenre lesz időm úgy csalódtam, hogy bár időm lenne kedvem valahogy nincs. Folyamatosan bennem az érzés, hogy "van még idő".
Semmivel nem haladok igazán.
Tegnap nekifogtam a Mechatronika kötproginak. Egy mobil robotot kell irányítani. A kerekeit tudjuk forgatni, és el kell kerülni egy akadályt vele, és eljutni a célig. Ehhez fuzzy irányítást kell alkalmazni.
Ha tanítottak volna rendesen ilyent semmi gond nem lenn, de hát így azt kell használni ami van, jelen esetben korábban leadott kötprogokat. Megtehetném, hogy lemásolom teljesen, és el is fogadnák, de azt túl egyszerű és valahogy szeretném magam megcsinálni. A képletek adottak és adott a blokkvázlat is. Sajnos a kettő nincs összhangban :) Döntsem el, h melyik a hiteles... Szép lesz...

2010. április 2., péntek

MP

Re
Utálom, utálom, utálom! A mikrovezérlő kötprogit nem fogom assembly-ben megírni. Lehetetlen nekem, túl boynolúlt és túl körülményes, nem vagyok én ehhez szokva.
Megpróbáltam C-ben. Abban se jobb a helyzet, de legalább valamennyire ismerem a nyelv lehetőségeit. Milyen kár h annó nem voltunk az ASM-re rákényszerítve :S

Hatékonyabb munka

Re
Sűrűn lesznek a postok, de ez hasznos így leírom.
Az egész onnan indult, hogy egy időben használtam egy StarDock nevű progit, amivel a képernyő széleire lehetett pakolni ikonokat, amik előjöttek, ha fölé húztuk az egeret. A fizetős verziója képet a startmenüt 100%-ig helyettesíteni. Mivel átlátszóság és hasonló dolgokat használt, a ritkábban használt menük elég lassan jöttek elő. Animáció miatt lassú is volt picit és gondoltam kéne gyorsítani rajta.
Picit más: kutatások igazolták, hogy jelentősen meg lehet növelni a hatékonyságot, ha ismerünk és használunk billentyű kombinációkat. Vannak nagyszerű makrózó programok, amikkel billentyű parancsokhoz lehet rendelni programokat. Ezzel több probléma is van, például a kicsit ritkábban használt kombinációkat elfeljti az ember, azon kívül a windwos és más programok is használnak ilyenekt, így összeakadhatnak. Tehát nekem ez se tűnik a legnyerőbbnek. Ami viszont bejött és használom az a következő.
A Windows+R (windows gomb amivel a start menü jön elő ha megnyomjuk) gombbal elő lehet hozni a Futtatást, ahova a beírt parancsok elindulnak. Van egy bizonyos PATH változó a windowson belül (azt nem mondtam, hogy én most windows alatt Windows XP-t értek, de valószínűleg régebbi és újabbakkal is hasonlóan működik), amiben útvonalak vannak és ha valamit rövidítve írunk be, ezeken az útvonalakon keresi meg és próbálja indítani. Egy példa: futatásba ha beírjuk: calc akkor előjön a számológép. A calc.exe valahol a windows belső bugyraiban van, de a mappája a PATH-ban szerepel így elindul.
A módszer egyszerű: egy mappába gyűjtsük össze a gyakran használt programok indító fájljait (csak a prancsikonokat! ez fontos, több szempontból is), a windowsnak a PATH-on keresztül mondjuk meg, hogy ha beírunk valamit nézze meg azt a mappát is és kész is vagyunk.
Sorban:
  1. Készítsünk egy mappát valahol a rendszerben. Tehetjük az asztalra is, de ott zavarhat. Én a C meghajtó gyökerébe teszem. A neve mondjuk parancsok (elviekben lehet ékezetes is, én azonban nem kisérleteznék vele :D). A mappa helye így a C:\parancsok lesz.
  2. Hozzá adjuk a PATH-hoz! Figyelem, csúnyán meg lehet keverni a rendszert! Csak óvatosan és figyelmesen! Felelősséget nem vállalok! Ehhez menjünk a Vezérlőpult / Rendszer tulajdonságokra (Windows+ Pause-Break vagy Sajátgép - jobbgomb / Tulajdonságok). A rendszertulajdonságok ablakon menjünk a Speciális fülre és nyomjuk meg a Környezeti változók gombot. A REndszerváltozók listában keressük ki a Path nevű változót és jelöljük ki. Ezután nyomjuk meg a Szerkesztést. A értékénél láthatjuk, hogy itt már szerepel jó pár könyvtár, ezekben mind belenéz a windows ha a Futtatásba írunk valamit. Az érték végére menjünk, írjunk be egy ;-őt (ezzel választjuk el egymástól a könyvtárakat) majd írjuk be az első lépésben létrehozott mappa nevét: C:\parancsok! Ha megvagyunk 3 db oké nyomásával bezárjuk a Rendszertulajdonságokat is és ha jól csináltuk akkor már kész vagyunk a lényegi résszel.
  3. Jöhet a parancsikon elhelyezése. Total Commanderje (TC) gondolom van mindenkinek, ezen fogom bemutatni. A TC-t ha telepítjük és kérjük akkor elhelyez egy parancsikont az asztalon. Ezt a parancsikon helyezzük át a parancsok mappába. Nevezzük át amire szeretnénk. Én csak röviden totalnak hívom (a jó a parancsikonokban h bármilyen nevet megadhatunk, nem kell neki kiterjesztés és semmi). Ha netán nincs az asztalon parancsikon semmi probléma. Szerezhetsz egyet akár a start menüből, vagy készíthetsz is. Megkeressük a TC-t a rendszerben. Ez általában a C-n van a totalcmd mappában. Van neki egy indító exe-je: TOTALCMD.EXE. Jobb gombbal rányomunk az exe-re: Parancsikon létrehozása. És már kész is a mappában egy: Parancsikon - TOTALCMD.EXE. Ezt másoljuk a parancsok mappába, átnevezés és kész.
  4. Próbáljuk ki: windwos + R írjuk be: total és más indul is.
Nem nagy trükk, de mégis meggyorsítja a számítógép használatát! Használjátok egészséggel! :)

Assembly, szakdolgozat

Re
Tegnap éjszaka elmerültem egy kicsit az assembly világában. Mikrovezérlők és perifériák (MP) nevezetű tárgyból kell egy projektet készíteni. Elsőre nem hangzik bonyolulnak: pénznem váltás, euróból forintba és vissza. Viszont egy ez intel 8051-es mikrovezérlőn kell megcsinálni, ami azért jelentősen megnehezíti a dolgot. Különösen, h nem túlságosan mélyek az assembly ismereteim, de ezen változtatunk :) Különösen, hogy Assembly c. tárgyból is kell segítenem ezt-azt. Este egyébként odáig jutottam a feladatommal, hogy az lcd kijelzőre elkezdtem számokat kiirogatni.

A szakdolgozattal haladgatok. A kereséssel voltak problémák, de úgy nézki, hogy ha nem is 100%-osan, de majdnem a tökéleteshez közeli állapotra sikerült megcsinálni. Ami probléma még van alég világos, de azon gondolkozom, hogy kell-e vele foglalkozni, a valóságban előfordulhat-e ilyen eset. Ha lesz kedvem, időm akkor készítek egy ábrát és leírom, hogy mi is a gond. Agyalok a megoldáson, de az picit bonyolítana a kódon és még átláthatatlanabb lenne. Most szerintem hagyom és felületre, szolgáltatásokra koncentrálok.
Lassan jó lenne már valós adatokkal is feltölteni. Azzal is lesz némi macera, ha nem kézzel gépelem be - amit nem fogok megtenni :D
Most h a keresés elfogadható megállók között megpróbálom kiterjeszteni a csomopontokra is (a felépítésből adódóan ezzel nem lesz sok baj) és az érdekes helyekre is (ezzel kell talán picit trükközni).
Iránytűt most még nincs kedvem rajzolni :)

2010. március 28., vasárnap

Megállók keresése

Re
Az utobbi pár napban nem volt kedvem, időm nagyobb volumenő dolgokat alkotni, így csak "bütykölgettem", főkéne a szakdolgozat környékét. Jó lenne már működés készen, egészben látni a dolgot.
Tegnap és ma a keresési felületet pakoltam össze. Azt hiszem elég korrekt lett - ha van ellenvetés hallgatom - bár a végső szót úgy is a Tanár Úr, mint legnagyobb kritikus mondja ki. Csináltam két képet róla, szerintem elég egyértelműek az egyes részei.
Itt szeretném megjegyezni, hogy aki szeretne segíteni a tesztelésben annak a munkáját szívesen fogadom. Mindössze járatokat kell bepötyögni az asztali gépra írt programba.



2010. március 25., csütörtök

Mio A701 biztonsági beállításainak hangolása

Re
Frissítettem a Miom romját. Van némi fenakadás a programozásban, és gondoltam lehet a rom a rossz, de nem. Viszont a rom frissítéssel előjött egy dolog, amit most leírok.
Ha új programot telepítünk a WM5-re akkor ő figyelmeztet, hogy nem biztonságos helyről származik. Ez fejlesztésnél is előjön sajnos. Minden futatáskor engedélyezni kell, hogy megbízható. Elég idegesítő. Ez beállítható, egy külön progival, aminek a neve Security Configuration. Innen tölhető le.
A bonyolultnak nem nevezhető. Le lehet menteni a WM5 jelenlegi beállítási szintjét, és egy újat lehet rá állítani. Én a "Security off"-ot használom, így fejlesztésnél semmit nem krédez, csak futatja amit szeretnék. Természetesen mindenki a saját felelőségére piszkálja a PDA-ját! :)

2010. március 24., szerda

Elérési utak útvesztőjében

Re
Este felé már kellően untam magam, hogy nekikezdej kszakdolgozatot írni. A keresést kicsit jegelem, így nekifogtam a mobilos részhez (újra ?). Amikor elkezdtem újraírni a rendszert 3 részre szedtem a dolgot. Ha most nagyot akarnék mondani azt mondanám, hogy MVC alapokra helyezve. Így 3 részre esett a programozás. Az MVC M és C részét igyexem egy külön projektbe pakolni. A V-ét pedig két külön alkalmazásra bontani. Kis magyarázat (elnézést ha túl pongyola lesz):
A két alkalmazást írok. Az egyik ami tárgyát képezi a szakdolgozatnak a WP5-re készül. A másik egy asztali alkalamzás, amivel a menetrendet könnyen, nagy gépnél elő lehet állítani. Könnyű kitalálni, hogy a két alkalmazás körülbelül ugyan azokkal az adatokkal dolgozik (illetve az egyik a másiknak készíti el a megfelelő fájlokat). Felesleges - és nagy hibaforrás - lenne tehát két külön fájlkezelő részt írni, külön begépelni az algoritmusokat (esetleg másolni) stb. Ezért amit mind a két program használni fog azokat külön választottam. Ezek alkotják az Modelt és a Controllt. A két alkalmazás, ami csak amolyan kinézet, azok a View-t.
A dolog érdekessége, hogy az asztali gépen "hagyományos" .netes dolgokat lehet írni. Ebből mi most legújabb az a 3.5 (amit használok belőle az kb már az 1.1-ben is benne volt :) ). "Sajnos" azonban ezt a WM5 nem igazán érti, ezért a WM5-nek írtak egy külön .net-et amit a CF-el rövidítenek, mint compact framework. A CF tulajdon képen egy "hagyományosnak" a butított verziója, direkt PDA-kra optializálva.
Csak egy példa, amibe én is belefutottam. Az asztali .netben vannak halmazok, ezeket a CF-ből kihagyták. Listákkal helyetesíthető, valószínűleg azért maradhatott ki.
Ezek tudatában könnyű volt eldönteni, hogy a közös dolgokat a "butább" rendszerre kell elkészítenem, ha nagyon kell akkor az asztali alkalmazásban kibővítem (erre nem volt szükség sehol eddig).
Ha a közös dolgok a CF-ben futnak, és a nagy gond nélkül kezeli, akkor gondoltam nem lesz baj. Tévedtem :) Az elérési utakkal elszórakoztam egy jó fél órát, mire rájöttem, hogy tudom megszüntetni a hibát. Arra nem jöttem rá mi a hiba, de legalább kikerültem :)
Az elérési utak ugyan a közös részhet tartoznak, viszont máshogy kell megadni a mobil és az asztali alkalmazásnál is, ezért módosíthatónak kell lenniük.
Eredeti koncepció szerint valahogy így adtam meg őket:

static string gyoker = "c:\\";
static string tmp = "tmp\\";
static string zdatFileName = gyoker + "data.zdat";
static string nevekFileName = gyoker + tmp + "nevek.txt";
static string menetrendFileName = gyoker + tmp + "menetrend.dat";
static string koordinatakFileName = gyoker + tmp + "koordinatak.dat";
static string csoportokFileName = gyoker + tmp + "csoportok.dat";

Én azt hittem, hogy ez sima összefűzés, semmi gond nem lehet belőle. Mikor fordítottam WM5-re a dolgot, hogy majd megnézem PDA-n jött a sokatmondó hibaüzenet: NotSupportedException
Legalább azt megmondta, hog mivel van baja :) A neves sorokat jelölte meg hibásnak. Fél óra próbálgatás után rájöttem, hogy ha simán beírom őket, akkor megy. Most lefixáltam őket, csak hát ugye most az asztali nem találja meg a dolgokat :) Majd kitalálok még valami megoldást, amivel állítható lesz a dolog.

Most jöhet a gyagyázás a GPS-el és a hasonló funkciókkal :)

2010. március 21., vasárnap

Szakdolgozat, AAR

Re
Mostanában nem túl sokat haladtam a dolgaimmal.
Szakdogában legutóbb leprogramoztam a dijkstra algoritmust. Tegnap megpróbálkoztam a módosításával, mely ahol a súlyok már az aktuális időhöz igazodnak ("röptében" számolni a súlyokat), de valamit elrontottam. Nyugis pillanatomban átnézem majd.
AAR-rel sem nagyon haladtam. Ugyan az oracle osztályok már 95%-ban készen vannak, de túl monoton és unalamas összekötni őket a C#-al. Ugyan azt kell csinálni pici módosításokkal és UUUUNCSI. Hétfő este tényleg már azt is megcsinálom, és Zoli is tud haladni.
Elvállaltam, hogy segítek pár kötelező program megírásában is. Lehet kezdem túlvállalni magam... ejjj fene a jó szívemet :)

2010. március 17., szerda

Szakdolgozat adatfájlok

Re
Írtam már hogy milyen funkciói lesznek a szakdogának, most jön némi háttér információ. Úgy gondolom, hogy mai PDA-knak nem kottyan meg pár száz kilobyte-nyi adat a memóriában, ezért minden adatot betöltök induláskor a memóriába. Amikor épp nem fut a program az információk 4 fájlban vannak. A fájlokat egy zip-fájlban fogom össze, hogy könnyebb legyen a mozgatásuk.
Minden osztály külön ID-vel rendelkezik. Először a fájlban elhalyezett sorrendre hagyatkoztam, de rá kellett jönnöm, hogy a módosítás és törlés azokban a fájlokban nagy gubancot fog okozni, így a picit több helyet, de sokkal nagyobb stabilitást adó megoldás mellett maradtam.
Külön fájlban tárolom az összes osztály "hétköznapi" nevét.. Kezdés képpen letárolom a járatok számát, majd soronként elválasztva a járat ID-jét és a nevét. Utána hasonló struktúrában a megállókat, a csoportokat, az érdekes helyeket majd a végén a jármű típusokat.
A menetrend külön fájlban tárolódik, ez már nem olvasható csak úgy, mert csak bináris számokat tartalmaz. Járat centrikusan tárolom az adatokat, ezért a fájl elején a járatok száma szerepel, majd utána következik az első járat id-je. Ezután azon megállók szám, amiket a járat érint. Fel is sorolom őket, a következő megállótól való távolsággal együtt. A megállók után megadom hányféle menet nap van, majd h az első menetnaphoz hány indulási időpont tartozik. Letárolom az időpontokat, majd jön a következő menetnap. Ha a végére értem, jöhet a második járat ID-je és így sorban egészen az utolsóig.
A megállók csoportjai egy másik fájlban vannak. Szintén binris, de nem ilyen bonyolult az olvasása. Először megint csak a csoportok száma, majd az első ID-je, és hogy mennyi megállót fog össze és a felsorolásuk. Utána jön a második megálló ID-je stb stb...
Az utolsó fájlba maradtak a koordináták. Koordinátái egyébként a csoportoknak, a megállóknak és természetesen az érdekes helyeknek vannak. Ezeket is ID-jükkel tárolom.
Véleményem szerint - persze elfogult vagyok - kellően stabil és egyszerű ez a tárolási módszer, de vannak hiányosságai. Ezek a hiányosságok olyanok, amik nem veszélyeztetik a szakdolgozat sikerét és nem csökkentik az értékét, ugyanakkor pótlásuk bonyolítana a kódon és csökkentené az átláthatóságát. Kicsi az esély, hogy elsőre működő képes kódot tudnék írni, a hibák javítása sok időt elvenne és fenn állna a veszélye, hogy észrevétlen hiba marad benne.
Tehát a hiányosságok:
  • Pazarló tárolás, a koordináták kivételével mindehol 32 bites inteket használok, mert az a legkézreállóbb. Az időpontok, és az ID-k tárolására szerintem elég lenne bőségesen 16 bit is, ami jelentősen csökkentené az adatfájlok méretét. Persze relatívan nézve... 500kB-ot ha le tudok csökkenteni 250 kB-ra az nem rossz, de most egy gigás kártyán fel sem tűnik... Ha a program belső szerkezetét is átvariálnám 32 bites számokról 16-osra valamennyit csökkenne a memóriában lévő adat, de megint csak nem tartom jelentősnek, hogy ezzel szöszöljek.
  • Az időpontok tárolását is lehetne módosítani. Minden időpontot külön értékként tárolok. De a városi közlekedére jellemző, hogy a járatok egymást adott időközönként követik. Ha mondjuk egy járat 8-tól este 6-ig 5 percenként indul, akkor az az én tárolási rendszerem szerint 96 bejegyzés. Ha csak azt tárolnám, hogy "8-tól 6-ig 5 percenként" az 3 bejegyzés lenne. Persze ha valamelyik járatnak sűrűn vátozik a követési ideje, akkor ott elveszik ez az előny, sőt! Ha mondjuk a busz menerendeje olyan, hogy a páros járatok 5 a páratlanok 10 perc múlva követik az előzőt, akkor egy buta algoritmus képes lenne 3-szor több adatot generálni, mint a jelenlegi. Persze választhatóvá is lehetne tenni, hogy legenerálja mindkét verziót, aztán eldönti h melyik gazdaságosabb.
Ezek a pótlások olyanok, hogy szép és elegáns megoldások lennének, de talán fel sem tünnének a különbségek a felhasználónak viszont a megvalósításuk eltartana pár napig biztosan.

2010. március 15., hétfő

AAR, Oracle

Re
Mai napon elméleti síkon léptem egyet előre az Oracle objektum-relációs témában. Rájöttem, hogy ha objektumokat akarok bepakolászni, akkor azoknak illik konstruktort is csinálni. Meg is csináltam egyik osztlynak, ment is a ki-be pakolászás. Megcsináltam másiknak, annak is ment a bepakolása, aztán csak bumm, elromlott mindkettő :D Oracle persze mélységesen hallgat, hogy mit rontottam el... Kiderítem ha belerokkan akkor is :)
Jó lenne haladni vele...

Mio A701, WM5, Igo8

Re

A szakdogához kötődően be kellett szereznem egy pda-t is, ami GPS képes és Windows Mobile fut rajta. "Választásom" (ez volt) egy Mitac Mio A701-esre esett. Gondoltam, ha már van benne gps, akkor miért ne próbáljam ki, milyen egy navigáció program. Igo8-at tettem rá. Mivel luxos lett volna kipróbálás miatt eredeti, telepítőset venni, ezért csak Intézőből futattam. Ennek hátránya, hogy bele kell bóklászni, keresgetni, stb stb.
Kerestem egy megoldást, amivel gyorsabbá tehető az indítás.
Amire szükségünk van, az egy WM Registry Editor program. Ami innen beszerezhető ingyenesen az ARM procis verzió.
Figyelem! Muszáj leírnom, h akármilyen rossz módosítás tönkre tegeti a PDA-n lévő rendszert!
Tehát letöltjük a CAB fájlt, felmásoljuk a PDA-ra, majd mint ha hagyományos telepítő lenne rábökünk, beállítjuk hova szeretnénk telepíteni és már kész is. A programok között megtaláljuk az indító ikonját.
Amit találtam módszert, az a kijelző alján látható két, úgynevvezett soft gomb tulajdonságát változtatja meg.
Ehhez meg kell keresni a következő kulcs útvonalat:
HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\
Ha valamilyen okból kifolyólag nem lenne meg a Keys, akkor Edit / New key menüponttal hozzuk létre. Ha a Keys-be nállunk, akkor szintén hozzunk létre egy kulcsot. A kulcs neve 112 legyen, ha a bal, illetve 113, ha a jobb gombhoz akarunk új programot rendelni. Természetesen mindkettőt is létrehozhatjuk, ha azt szeretnénk.
Én a jobb oldalit változtattam meg, tehát így nézett ki:
HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\113\
Ha kiválasztjuk a 113-as kulcsot, akkor az editor alsó felében látjuk, hogy teljesen üres.
Edit / New String Value menüvel tehetünk bele új értéket.
Kezdés képen az alap értéket határozzuk meg, ami a gomb felirata lesz. Ehhez töröljük ki a Value name mevőz, és a Value data mezőbe írjuk be azt a szöveget amit a gombon szeretnénk látni. Nálam ez Igo8 lett. Ha ezzel megvagyunk nyomjunk egy okot. Az alsó mezőbe be is került egy érték (default) névvel. Ha most bezárjuk az editort, már látható az új felirat, de még mindig a gyárilag programozott program v. funkció indul el.
Létre kell hozni a korábban (default) névvel létrehozott érték mellé egy újabbat, szinén a New String Value menüvel. A Value name mezőbe írjuk be: "open" (idézőjelek nélkül). Majd a Value data mezőbe azt amit szeretnénk, hogy elinduljon. Nálam ez:
"\Storage Card\IGO8\iGO8.exe" (természetesen idézőjelek nélkül). Ha ez is megvan okézzük le, és kész. Program bezárása után a gombra kattintva elindul a program, ha jól adtuk meg az elérési útját.
Mindenkinek jó piszkálgatást! :)

Szakdolgozat

Re
Mit is csináltam ma... Elkezdtem szórakozni a pc bolt adatbázisával, és sajnos rá kellett jönnöm, hogy az objektum-relációs dolog nem egészen úgy működik, ahogy azt elképzeltem így némi komplikáció adótott. Sajnos magyar leírás 0 ilyen szinten, az angolt meg nem 100%-osan értem és így nem találom meg a nekem megfelelő infókat, így már írtam egy forumra is. Remélem ott majd megmondják a pofon egyszerű választ a kérdésre, hogy hogy lehet egy objektum típusát ellenőrizni Oracle alatt.
Elgondokoztam rajta, és beszéltem is Zolival is róla, hogy mi lenne ha feladnánk az objektum-relációt és sima relációs adatbázissal csinálnánk meg a dologt. Valószínáleg nem járna sokkal több gépeléssel és munkával sem, viszont valamilyen szinten meghátrálás lenne... Még gondolkozom rajta, és bízom a forumos gurukban.



Szakdolgozat téren viszont előrléptem, szerintem egy egész nagyot. Sikerült írnom egy butácskább kereső algoritmust. A leírásokban amit Tanár úr küldött szinte mindenhol a Dijkstra algoritmust használják és javasolják. Akinek nem volt alga tárgya, annak röviden a Dijkstra algoritmusról elég azt tudnia, hogy egy gráfban, egy adott pontból megkeresi minden ponthoz a legrövidebb utat. Szemléletesen a képen látszik. Valami hasonlót próbáltam én is lemásolni.
Még persze nem tökéletes, mert az élek, ami alapján a távolságot számolja még mindehol 1-esek. Következő verzióban már muszáj lesz az időt is figyelnie, ötletem van, majd meglátom hogy sikerül kivitelezni, remélhetőleg holnapi postban már pozitív eredményekről számolhatok be. Utána már csak a csomopontokat kell belevinni a játékba, arról még nincs elképzelésem, hogy hogyan, de mivel a megállokhoz nagyon hasonlóan viselkednek, szerintem nem lesz probléma velük.
Gondolkozom az iránytű megfalósításán, eredeti tervekben nem szerepel, pedig érdekes lenne a leprogramozása, már csak azért is oda grafikusan kell valamit alkotni :)

2010. március 13., szombat

PC bolt projekt, Oracle junior képzés

Re

Mint említettem ma az Adatbázis alapú rendszerek (röviden: aar) tárgyam projektjét mutatom be, a teljesség igénye nélkül.
A tárgy témáját nem nehéz kitalálni. Úgy is lehet rá tekinteni, mint az Adatbázisok folytatása. A téma viszont nem MySql, hanem annál valamivel komolyabb: Oracle. Tanár úr hasonlíta, amivel úgy lehet szédíteni a hozzá nem értőket: "Az Acces olyan mint a bicikli, MySql az autó, az Oracle pedig a repülő". Ezen kívül tanulunk még egy tervezési technikát az úgynevezett SSADM-et. Amit "nem szabad komolyan venni, és nem szabad figyelmen kívül hagyni".
A tárgy teljesítésének feltétel egy projekt munka, amit csapatban kell elkészíteni (van pár egyéni versenyző). A félév első felében a tervezés a már megnevezett technikával, majd az egészet lekódolni. A csapatban 3-an vagyunk. Árpi dokumentál, Zoli és én kódolunk. Indulásnál úgy kezdtünk neki h enyém a felhasználói felület, Zolié az adatbázis, de ez most megfodulni látszik.
Tehát a cél egy PC bolt e-boltos felületének megvalósítása, raktár kezelői funkciókkal és pár plusz funckióval.
Alap funkciónak tekinthető a termékek karban tartása, azok böngészése, felhasználók regisztrálása és a vásárlás lebonyolítása. Ami plusz funkció, az a termékek értékelhetősége és a hozzászólás írása a felhasználók részéről. Ezek olyan funkciók amik megvalósítása nem tünt túlságosan bonyolultnak, mégis érdekesebbé teszik a kész projektet.
Még indulás előtt úgy kerestem csapatot, hogy Oracle alapokon, lehetőleg C# nyelven csináljuk a dolgot, ha már ez a kurzus témája. Oracla és a C#-ot Zoli is támogata és első alkalommal asztali alkalmazásban gondokoztunk, de rá kellett jönni, hogy nem túl életszerű egy e-bolt asztali alkalmazás ként, ekkor jött az ötlet, hoyg akkor miért nem csináljuk asp.net felületen. Nem sokkal bonyolultabb, mint egy desktop gui (grafikus felhasználó felület), de mégis hátránya, hogy még egyikünk se dolgozott benne, de még csak nem is tanították.
A követelmény specifikáció, amit már vázoltam viszonylag gyorsan megvolt, és a gyakvezérünk is értékelhetőnek találta, tehát következett az adatbázis tervezése. Amiben ismét rá kellett jönnünk, hogy a hagyományos relációs adatbázis (~táblázatokban való matatás) nem túl hatékony, jobb lenne valami objektum szerű, mert a termékeknek sok közös tulajdonsága van, amit jó lenne együtt kezelni. Gyakvezető tanácsára elkezdtem objektum-relációs témában nézelődni és mivel nem tünt (hangsúlyozom tünt) túl bonyolultnak ezt határoztuk meg alapnak.
Tehát így indult a projekt. Fejlesztő környezetről nem sok ismeret, adatbázisról szinte 0 ismeret, de hát merjünk nagyot álmodni.
Az sql-be elég jól belejöttem, annyira, hogy a tervek után nem sokkal el is készítettem a típusokat, táblákat, szekvenciákat, triggereket.
Közben csináltuk a projekt többi részének tervezését, amiben szintén benne van pár óra munka.
Szerdán le kell adni a dokumentációkat, amiket Árpi a hétvégén fog megcsinálni.
Én jelen pillanatban - blogíráson kívül - igyexem összekapcsolni az adatbázis az asp-s felülettel. Vannak belőle problémák, de csak h leküzdhessük őket.

Emellett még jelentkeztem egy Oracle junior képzésre. Az előadások csütörtökönként este 6-tól vannak a BME-n. Mivel nem utazgathatom fel on-line próbálnám követni, de a közvetítéssel vannak problémák. Így általában egy hét késéssel tudom megnézni az előadásokat. Igyexem követni, hátrányom nem származhat belőle, sőt :)

Cantata, AutoCad, Szakdolgozat

A mai nap egy kis Cantataval indult. Befejeztem vagy inkább újra írtam a kötelező programom. Suliban megcsináltam már, de valamiért itthon nem akart menni normálisan így újra kezdtem. Másodszor már nem volt nehéz :) A feladat maga sem volt túl nehéz, két képet kellett egyre illeszteni, ami Gimpben v. PS-ben két perc kb - különösen, hogy az egyik kép háttere fehér - viszont Cantataban nem olyan triviális. Ha lezárult a feltöltési idő, majd felteszem a blokkvázlatát, nagyon szép :)


Cantata után befejeztem a Számítógéppel támogatott tervezés című tárgyra is a beugró "kötprogot". AutoCadben kell elkészíteni egy tervrajzot. Én egy Honda Dio robogó dugattyút kaptam aputól, azt rajzoltam le. Ez a kép nem végleges változat. Erre még tettem sraffozást (bevonalkáztam a süllyesztéseket), berajzoltam a méretezést és tettem neki egy keretet is.

A délután többi részében igyekeztem a szakdolgozattal foglalkozni. Azt hiszem teljesen elkészült az adatbázis elkészítéséhez szükséges felhasználói felületek. Működnek is. Mindez annak ellenére, hogy így estefelé eszméltem arra a - másoknak biztosan nyilvánvaló - tényre, hogy a közlekedében vannak hétköznapok, munkaszünetinapok és ünnepnapok. Szerencsére ennek lekezelése már nem volt problémás, csak egy tömbbel kellett kiegészíteni a rendszert.
A rendszer újabb képességei:
  • Időpontok felvétele, különböző menetnapokra is
  • Csoportok letrehozása, szerkesztése
  • Koordináták felvétele megállókhoz, megálló csoportokhoz, érdekes helyekhez
Ezeken kívül a belső szerkezeten is módosítottam egy picit, de elenyésző módon.
A következő lépés egyrészt a rendszer átültetése PDA-ra. Ez inkább csak GUI-val való játék, mert sok újdonságot már nem kell belevinnem. Ami nehezebb lesz az a keresés megvalósítása. Elkezdtem olvasni a cikket, amit Tanár úr küldött a témával kapcsolatban. Nem hosszú, de elég lesz megemészteni és átültetni az én redszeremre.
Holnap valószínűleg az Adatbázis alapú rendszerek tárgyam projektjével foglalkozom. Valszeg írok majd arról is.

2010. március 11., csütörtök

Szakdolgozat

Re

Mint írtam lefogom írni a jelenlegi munkáimat. Ma mondjuk a szakdolgozatomat.
Tehát a szakdogám mobilon futtatható menetrend alkalmazás, extra funkciókkal. Először úgy indult a dolog, hogy folyamtosan az orrom előtt mentek el a vilik és buszok Szegeden. Gondoltam kellene egy ilyesmi program a telefonomra. Aztán jött a szakdoga választás és gondoltam, hogy ez talán jó lenne.
Tanár úr azt mondta és végül is egyet értek vele, hogy amit én elképzeltem Java MIDP-ben megvalósítani az munkában elég szakdogának, de látványilag elég kevés. Tanár úr android alapú rendszert javasolt volna, de mivel a készülékek elég húzós árban vannak inkább egy Windows Mobile rendszer néztem ki magamnak. Némi probléma volt is az eszköz beszerzésével (Mitac Mio A701), de ez is megoldódott.
Tehát a rendszert WM5-re írom, Microsoft .NET CF 3.5-ös (Compact Framework) környezetben C# nyelvben. Visual Studiot használok fejlesztő környezetnek, nagyon barátságos, gond nélkül együtt működik a Mio-val és az emulátorral is.
A rendszer kiemelkedik egy hagyományos papír alapú menetrendből, mert beleveszek hely meghatározást is. Tárolom a megállók helyét, érdekes pontok helyét így az alkalmazás ezek figyelembe vételével tesz javaslatot arra, hogy a felhasználó melyik megállóba menjen. (most jutott eszembe, lehet kéne iránytűt is beletenni :D)
Nem csak a mobilra készülő alkalmazást kell megírni, hanem egy asztali programot is, amivel a menetrendet lehet szerkeszteni, és magát az adatbázist létrehozni.
Eddig volt egy kezdetleges struktúrám, ami több sebből is vérzett.
Hétfő óta fellelkesültem, és újra írtam az egészet, szerencsére sok mindent már nem kellett kitalálni, szal inkább csak kódolás volt, így ma estére elkészült az asztali program olyan szinten, ahogy körülbelül eddig is állt. Persze további fejlesztés szempontjából sokkal átláthatóbb, dokumentáltabb, következetesebb, mint eddig volt.
Az asztali alkalmazásban eddig a következő funkciók vannak meg:
  • Járatok, megállók, jármű típusok, megálló csoportok, érdekes helyek elmentés fájlokba a memóriában lévő strukturából, illetve fájból visszatöltés a megfelelő struktúrába
  • Járatok , megállók, jármű típusok létrehozása, azok egymással összekötése, magyarán a menetren elkészítése.
Ez így elsőre persze nem sok és lehet kérdezni, hogy mit csináltam ezen 4 napig... Igyexem...

Első bejegyzés

Üdv annak aki erre tévedt!

Bár az oldal első sorban nem rajongó tábor gyűjtését szolgálja, sőt mi több valószínűleg anti-rajongó tábor kialakulása a valószínűbb, azért mégis úgy illik, h köszöntöm az erre járót.
Tehát, mint a bemutatóban mérnök informatikus BSc hallható vagyok, és az blog szakmai szempontból tartalmaz majd postokat.
A posztok stílusát és szakmaiságát tekintve valahol az átlag felhasználó és igazi programozó között helyezkedik el. A programozás gyakorlata sokkal jobban foglalkoztat, mint az elmélete, ezért elsősorban érthető, működő kódokra törexem, és nem foglalkozom a 16. kapcsoló és a 22. paraméter jelentésével, aminek speciális esetekben van értelme. Persze szeretnék olyan szintre fejlődni, hogy ismerjem ezeket is, de nem tartom célszerűnek elveszni a részletekben, ráérek ha már a nagy egészet valamilyen szinten átlátom.
Tudnék még regélni, de majd...
Kvetkező pár bejegyzésemben valószínűleg az éppen folyó "projektjeimről" fogok beszámolni.