Geri blogja

Tisztelt látogató!
Ez a blog 2017 óta átmenetileg szünetel!

Friss topikok

Bejegyzések

Dogecoin - az internetes szabadpénz

2015.12.12. 19:28 Gerilgfx

 

dogelogo.pngA Dogecoin egy internetes szabadpénz, egy úgynevezett kriptopénz, vagy kriptovaluta. Az emberek többsége mostanára már hallott a különféle internetes kriptopénzekről, például a Bitcoinról, vagy a Litecoinról. A körülöttük lévő hisztéria mára szépen lassan lecsengett, így aztán objektívan elemezni lehet ezen Coinok tulajdonságait. Az alábbi bejegyzésben egy kis kedvcsinálót szeretnék közzétenni azoknak, akik még SOSEM próbáltak kriptopénzt használni, de most ki szeretnék próbálni, és/vagy szűkségük van egy olyan szabad, kibocsátóintézettől független virtuáls pénzre, aminek a segítségével könnyedén kereskedhetnek egymással.

 

 

 

Tehát akkor ez olyan, mint a szépkártya? 

Nem, a Dogecoin nem egy fizikai pénz. Minden évben kiosztásra kerül 5+ milliárd coin, amit a rendszer fenntartói (a coinbányászok) kapnak. Összesen kb 100 milliárd Dogecoin van forgalomban (+ évi 5 milliárd). Jelenleg 10000 dogecoin ér kb 400 forintot, de az árfolyam folyamatosan változik. Ha valaki forintért szeretne venni, akkor persze eléggé széles spektrumban váltakoznak a váltási árfolyamok. DogeCoint küldeni kb 0.001 Dogecoinba kerül, amit a rendszer autómatikusan levon, és visszaoszt a bányászoknak.

 

 

 

 

Tehát akkor ez egyfajta weboldal? A látogatók számától függ az árfolyam?

Nem, a Dogecoin nem egy weboldal, hanem egy virtuális deviza. A Dogecoin mögött nincs fedezet, ez egy úgynevezett free-floating pénznem (lebegő árfolyammal). Nincs kibocsátóintézet, senki sem tudja közvetlenül befolyásolni a Dogecoin árfolyamát. Nincs árfolyamszabályozás, de mégcsak egy központi szerver sincs a Dogecoin mögött - a Dogecoin egy szabad virtuális devizpénznem. 

 

 

 

Akkor ide kell elég erős becsület is hogy ne hagyjanak ki valakit a haszonból.

Nem lehet kihagyni semmiféle ,,haszonból'' senkit. Ez egy virtuális pénz, mindenki a virtuális pénztércájában tárolja a saját számítógépén, és aztán onnét lehet ezt a pénzt küldözgetni egymás Dogecoin címeire. 

 

  

 

Kik azok a bányászok? 

Bányászoknak nevezzük azokat, akik kriptográfiai algoritmusokat futtatva a számítógépeiken biztosítják a rendszer integritását, és ezért cserébe Dogecoint kapnak. Ezek nem egy titokzatos csoport - bárki lehet bányász, nem szűkséges jelentkezni sehova, a nyílt Dogecoin hálózatba csatlakozva egy megfelelően nagy számítógépes kapacitás szűkséges hozzá, hogy érdemben coint kereshess vele. Ezzel azonban nem érdemes foglalkozni otthoni körülmények között, mert az áram többe kerül.

 

 

 

Nekem úgy hangzik mintha a neten kialakulna egy önálló gazdaság.

Szó szerint erről van szó, és még pornót, videójátékokat, és talán még kurvát is lehet érte kapni. Tegyük fel, hogy elkészítettél valamit, és el szeretnéd adni. Mondjuk írtál egy fanficet a kedvenc karakteredről, rajzoltál egy képet photoshopban, ..., gyártottál egy repülőgépmodellt (stb), amiért valamennyi pénzt szeretnél. Egyszerűbb Dogecoin segítségével osztani, mintha mitha ebayyel, a lassan 30%-os bűnözői aránnyal büszkélkedő paypallal, vagy brutális adókkal, megszorításokkal, bürokráciával terhelt felesleges banki baromságokkal kéne minden isten áldott nap szopni - főleg akkor, ha mondjuk az eladni kívánt dolog 50 forintot ér.

 

 

 

Olvastam, hogy a Playboyban többé nem lesznek meztelen csajok, hanem a nők sikereiről, és méltóságáról fognak írni, és arról, hogy nem szabad őket tárgyként bemutatni.

És ezért van szűkség olyan megoldásokra, mint a Dogecoin. Elvégre, egy jól működő, egészséges, normális világban és gazdaságban ilyen elmebetegségek fel sem merülhetnek. A Dogecoin (és más kriptovaluták) lényegében a szabadságunk, a kapitalizmus, és a valódi piacgazdaság zálogának számítanak. A Dogecoin nem egyszerűen egy pénznem, hanem egy szabadságjog.

 

 

 

Érdekel a dolog. Hogy kezdjek hozzá?

Tölts le egy Dogecoin tárcát (walletet) a számítógépedre. Ez létezik Windows, Linux, OSX, és Android alá is. A Dogecoin tárca generál egy Dogecoin címet neked első indítás során, majd legenerálja az aláírókulcsokat, ami a címedhez tartozik. Ezután ajánlott levédeni egy legalább 16 karakteres jelszóval a tárcádat. A tárcád a wallet.dat fájl, amiről rendszeresen (legalábbis, ha új címeket generálsz) készíts biztonsági másokatokat! Ezt követően várni kell, amíg a rendszer leszinkronizálja a többi Doge felhasználóval az adatokat (az úgynevezett blockchaint). Ez kb egy napba telik, és 30 giga adatot jelent. Ezt követően a tárca (ha futtatod) napi néhány mega adatforgalmat generál.

dogecoin.png

 

 

 

Nincs 30 giga szabad helyem, mit csináljak?

Vannak másfajta tárcák is, például olyan, ami nem tölti le a gépre az égész blokkchaint, vagy ami egy egyszerű online tárca, ahol webes felület segítségével intézhetjük a pénzügyeket. Érdemes azonban ez utóbbival nagyon vigyázni, hisz az aláírókulcsunk (privát kulcsunk) ez esetben a weboldal tulajdonosánál van tárolva, és így a pénzünk biztonsága megkérdőjelezhető! Természetesen több, független tárcát is csinálhatsz, hogyha sok coint (mondjuk többet, mint 100ezer forint) birtokolsz, akkor már érdemes új tárcát csinálni, és a régit biztonságba helyezni.

 

 

 

Tehát akkor ez egyfajta torrent szerű pénzügyi rendszer?

Valahogy így lehetne leginkább jellemezni. A blockchain folyamatosan növekedik, évente kb 5-10 gigával, ez tárolja a tranzakciókat, ez alapján lehet tudni, hogy kinek mennyi coinja van, ki hová küldött pénzt.

 

 

 

Letöltöttem a Dogecoin walletet, és fut. Most coint szeretnék keresni, vagy küldeni. 

Ahhoz, hogy Dogecoint kaphass valakitől, a fogadócímeket használhatod. A fájl / much receiving adresses (fogadócímek) menüpontban tudsz magadnak generálni címet. Egy cím egy 34 karakterből álló véletlenszerű betűsorozat lesz, amelyet megoszthatsz. Miután ez kész, erre a címre már azonnal küldhetik neked a Dogecoint. Ha coint akarsz küldeni, akkor a send menüpontban lehet ezt megtenni.

 

 

 

Szeretnék ingyen Dogecoinhoz jutni

Mivel itt pénzről van szó, ingyen nem osztogatják, tehát vagy vásárolnod kell, vagy tenni valamit érte. A legegyszerűbb Dogecoin szerzési mód jelenleg a reklámnézegetés. Vannak olyan oldalak (Dogecoin faucet oldalak), ahol hirdetők reklámoznak, és cserébe azért, hogy nézed ezeket a reklámokat, küldenek neked néhány Coint. Ezen oldalakról egy gyors listát megosztok, érdemes mindegyiket napjában többször megnézni. Az enter dogecoin címre beírod a Dogecoin címedet, és ezen felül ki kell tölteni még egy biztonsági kódot, majd az OK, vagy a Get coin, vagy hasonló gombra rákattintani.

Ezek az oldalak a faucetbox nevű szolgáltatással működnek, ami autómatikusan kiküldi a dogecoinjaidat, ha azok elérik az általad megadott coinmennyiséget (pl 100 dogecoin).

Regisztrálni egyik oldalon sem szűkséges! Csak kikapcsolt adblock mellett működnek!


Intertool
- véletlen mennyiségű (1-5 Doge) 10 óránként egyszer
DarkAlien
- 6 óránként 5 Doge
Coinner
 - fél óránként lehet Dogecoint lehívni a Dogecoin címedre.
Freedogecoin - kb az esetek 80%-ában működik (ha épp van rajta fedezet). Néhány coint lehet lehívni óránként.
Coindog - a címed megadása, és a chapta kitöltése után egy ,,Kotpab''-ra emlékeztető ciril feliratra kell rákattintani, majd ott egy oktobap feliratra.
Cryptobit - cím beír, verify, medve forgat, Get reward gombra ráklikkel, 6 Doge a zsebedben.
Originaljack - cím beír, kapcsa bepipál, az alsó get reward gomb az igazi.
Seadogecoin - 4 Coint lehet vele összekattintgatni, a Claim gombbal lehet lehívni.
Likeforbitcoinfree - Kissé ronda oldal, de fizet 2 Dogecoint, akár 2 percenként.
Bluesatoshi - kb 16 óránként egyszer egy nagyobb összeget lehet lehívni a címedre.
Earndoge - 2 percenként 2 coin, ronda oldal ez is.
Winterdoge - fél óránként lehet coint lehívni.
Dogelife - Baw apec helyre megy a Dogecoin címed, megvárod a visszaszámlálst, és a $$$$ gombbal pedig lehívod az összeget.
Freedoge - egyszerű kapcsa, eléggé sallangmentes oldal.
Fdoge - 30 percenként hívható le Coin.
 

 

Hogy lehet praktikusan kereskedni a Dogecoinokkal?

coinvesz.png Rengeteg helyen elfogadják a Dogecoint közvetlenül (google), illetve át lehet őket különböző banki szolgáltatásokkal pénzre is váltani (ilyet inkább nem linkelek, a te felelősséged, hogy biztonságos oldalt találj), illetve pénzért venni is lehet. A Dogecoint eladni kívánókat óvatosságra inteném Paypalon, mert könnyen előfordulhat, hogy átverés áldozatai lesznek azok, akik magánúton eladják a Coinjaikat (visszainkasszáltatják a pénzt). Sajnos a paypal nagyon korrupt - inkább banki utalás, vagy készpénz révén javaslom eladni a Dogecoinokat. 

 

  

 

Miért pont Dogecoin?

A rengeteg féle (több száz) Coin közül a Dogecoin tűnik a legjobb választásnak. Bár az egész Dogecoin egy könnyed, vicces virtuális pénznek indult, mára mégis ebben bonyolítják a legtöbb üzletet az összes Coin közül. A Dogecoin titka az, hogy míg a legtöbb Coinból egy fixen kibányászható összeg áll rendelkezésre, a Dogecoin száma nincs limitálva, hanem évente fixen 5,256 milliárd Coin kerül forgalomba. Mivel a Bitcoin, vagy a Litecoin tehát egy felülről korlátos Coin, emiatt az emberek tartogatják, gyűjtögetik és szinte alig költik, ami hosszú távon folyamatosan csökkenti a kereskedelmi hajlandóságot, és lényegében értéktelenné változtatja ezeket a pénzeket. A Dogecoinnál ilyen probléma nincs, mert az állandó friss pénzbeáramlás lehetővé teszi a belépést minden újonnan belépni kívánó ember számára, és mivel nincs deflációs hatás, az emberek nyugodtan kereskednek Dogecoinban, mint minden valódi pénznemmel.

  

 

Lenyomozható a Dogecoin?

Lenyomozható, ha valaki *nagyon* le akarja nyomozni, hisz a címek tulajdonosai gyakran kiírják a címeiket az internetre, és nyilvános, hogy melyik címről ki-mikor küld pénzt, és hova. A Dogecoinnal viszont még nem merült fel, hogy olyan illegális üzelmek finanszírozására használnák, mint mondjuk a Bitcoint.

 

 

Ellopható a Dogecoin?

Ha valaki megszerzi a walleted, és a walletedjelszavát, akkor ellopható. Ez történhet úgy is, hogy egy vírus települ a gépedre, ami ellopja a wallet.dat fájlod, és a jelszavadat keyloggerrel megszerzi. Történhet a lopás prózaibb módon is: valakinek elküldöd, és átver, mert az ellenszolgáltatást nem teljesíti. Ez esetben utána már nem tudod visszaszerezni a Coinod, a tranzakciók nem reverzibilisek. Mindig csak megbízható partnerrel kereskedj! Sose küldj nagy tételben Coint!

 

 

Papírpénz nyomtatható Dogecoinból?

Igen, nyomtatható papírpénz belőle, viszont ekkor a nyilvános kulcsod is kinyomtatásra kerül, amit leolvasva a papírról bárki leemelhet. Bizonyos esetekben persze praktikus lehet a papír Dogecoin, de komoly kereskedelemre nem alkalmas.

 

 

Miért nem kell a 30 fölötti nő?

2015.12.01. 19:27 Gerilgfx

 

Sokszor szembetalálkoztam a kérdéssel, illetve, a köré épült problémakörrel. Sok 30-as nő állítja magáról, hogy nem talál párt, a korban hozzá illő férfiak is inkább a tinipicsákat dugják, és inkább csak az 50 év körüli férfiak látóterébe tudnak bekerülni, vagy akár már oda sem. Néha előfordul, hogy felkínálkozik nekem is egy 30-as nő, de én inkább a fiatalabbakat választom. Persze nem vagyok sem szép, sem gazdag, sem egy macsó, mégis így teszek.

Úgy gondoltam, hogy itt az ideje elmondanom, hogy az én szemszögemből miért nem jó választás egy harmincas nő egy párkapcsolatban. Természetesen az itt leírtakat általános érvényűen nem lehet kezelni, ezek pusztán rám vonatkoztathatók. Különben meg minden ember más és más, így eleve nem létezhet egy univerzális magyarázat a jelenségre. Megsérteni sem áll szándékomban senkit, amúgy meg, minden zsák megtalálja a foltját.

 

A nők biológiai órája

A nők 45 éves koruk körül elkezdik elveszteni a természetes reprodukciós képességüket. Ekkorra már amúgyis elég nagy a genetikai hiba esélye a petesejtekben, ami felesleges kockázatot jelent, hisz az emberi szervezetet nem arra tervezték, hogy 45 éves kor körül kezdjen szülni. Persze ez a modern korokban már nem akkora probléma, létezik mindenféle mesterséges mód, hogy egy 50-es nő is kihordhasson egy gyereket. Azonban a nők számára a kor egy hatalmas probléma, hisz a férfiak nagy része akár élete végéig is termékeny maradhat. 

Egy (szerintem átlagos) férfi, ha nőt keres magának, akkor arra számít, hogy 2-3 évig a szociális hálójában kell tartani ahhoz, hogy esetleg komolyaban érdeklődni kezdjen iránta. Aztán elkezdi néhány évig dugni, aztán járnak néhány évig, és csak utána merülnek fel a komolyabb kérdések: például gyerekvállalás, és elköteleződés. Ha ez az egész egy 30 éves nővel kezdődik, akkor mire eljutnának az összebútorozás magasságába, a nő kora már szép lassan negyvenes éveit taposhatja. Mire a gyerekvállalásra kerülne a sor, a nő már lehet, hogy bőven túllépett a 40-en, vészesen közeledik afelé a kor felé, amikor már kvázi meddővé válik. Egy olyan férfinek, aki meg mondjuk szeretne esetleg 3-4 gyereket, egy olyan nő már eleve nem pálya, aki leginkább csak egy utód létrehozására képes, vagy esetleg egyre sem. Egy olyan férfi számára, aki gyerekeket akar, már nem pálya az, hogy egy 30 éves nővel kezdjen megismerkedni, csak akkor jöhet szóba egy 30 éves, ha már régóta a szociális hálójában van, tehát az első 1-2 periódust már a háttérben letudta vele 30 éves kora előtt.

 

A nők szépsége

Egy harmincas nő már nem túlzottan szép látvány, kivételek persze mindig vannak. A nők kb 18 éves korukban a legszebbek, aztán szép lassan elkezdenek hanyatlani. Az olyan férfi számára, aki nem törődik mással, mint a nő külalakjával, egy 30-as nő már nem ideális, hanem kizárólag a sokkal fiatalabb korosztály jöhet számításba. A férfiak ösztönösen a fiatal nőket keresik, akik több gyermeket tudnak nekik szülni. A nők pedig ösztönösen az idősebb férfiakat, akiktől jobb anyagi támaszt remélhetnek. Itt jön aztán megintcsak a képbe az, hogy 16 éves lányokat 30 éves férfiak oldalán látunk, 30 éves nőket pedig 60 éves férfiak oldalán. Így működik az emberi természet alapvetően. 

 

A nők, és a vagyonuk

Egy férfit nem igazán érdekli az, hogy egy nőnek milyen vagyona van. Egy férfit nem érdekli a nő kocsija, háza, krokodilbőr cipője, táskája. Teljesen hiába rendelkezik egy nő esetleg ezen tárgyak némelyikével, vagy mindegyikével a harmincas évei végére, ha a férfit ez nem hozza lázba még akkor sem, ha a férfi esetleg ezen tárgyak egyikével sem rendelkezik, mert esetleg szegény, vagy nem érdekli ezen tárgyak némelyikének, vagy bármelyikének birtoklása. A férfit tipikusan nem érdekli az, hogy a nő miliomos, szegény, középosztály-beli, vagy hogy milyen országokban élt. Egy nő egész egyszerűen nem lesz attól főnyeremény, hogy ezeket fel tudja mutatni. Fordítva persze viszont működhet, egy nőnek tetszeni szokott az, hogy mondjuk a férfinak van mondjuk egy lakása, háza, viszont igazából ott sem szokott ez egy különösen fontos döntőtényező lenni. Fordított esetben pedig a férfiakat tényleg egyáltalán nem érdekli az ilyesmi. A férfiakat lenyűgözi az, ha egy nő okos, és hozzáértő. Az azonban nagyon visszatartó, ha egy nő fogalom nélkül okoskodik valamiről, vagy tudálékos. Az nagy előny, ha egy nő a saját tudásából meg tud élni, és nem úgy csicskázik egy vállalatban, de ilyen téren a férfiaknak - vagy legalábbis nekem - nincsenek komoly elvárásai. További hátrány, hogy egy nő, akinek azért van mit a tejbe aprítania, bár próbálja ugyan eltitkolni, de magánál legalább egy picikét gazdagabb férfit keres. Ezt a férfiak is megérzik, és ez is negatív tényezőként hozzájárul ahhoz, hogy a harmincas nőket elkerüljék.

 

Summa summarum 

Egy huszas éveiben járó férfinek azt tudom javasolni, hogy a 15-16 éves lányok között nézegessen. Egy harmincas férfi is inkább a 18-20 év körüli nőkkel ismerkedjen. Mire összerázódnak, és esetleg összejönnek, simán eltelik 4-5 év, ezzel mindenképp számolni kell.

 

 

 

 

Ismét összeomlás küszöbén az Euró és a Forint árfolyama?

2015.11.18. 04:28 Gerilgfx

 

Tavaly év végén írtam egy cikket, amellyel sikerült megjósolnom az idei dollár/forint árfolyamot, és magyarázatot adtam a forint gyengülésére - igazi magyarázatot, a hivatalos szervek folyamatosan hazudozásai helyett. A forint jó 20%-ot gyengült egyetlen év alatt, miközben a magyar hivatalok szerint az infláció 2% körül volt. 

Felmerülhet a kérdés, hogy a lakosság széles körű, szándékos félretájékoztatása állami szervezet, vagy szervezetek által megvalósíthat -e bizonyos bűncselekményeket, és ezek a bűncselekmények bűnszövetkezetben elkövetett bűncselekményeknek számítanak -e. Viszont ezzel a blog nem kíván foglalkozni, ez legyen majd egy jövőben kormányra kerülő demokratikus mozgalom, és vele érkező független hatóság feladata.

A mélyelemzés elkezdése előtt lássuk a nyers számokat. A múltkori elemzés igencsak felületes, szórványos adatokkal dolgozott, most sokkal több adattal kívánok dolgozni.

download_1.jpgA forrás minden esetben - a korrekt összehasonlíthatóság érdekében - a google, az első (szűkséges esetben a második) oldalon talált boltok, szolgáltatók, kereskedők, gyártók, és az adott ország/kontinens területén lévő áruházak ekvivalens termékeinek legolcsóbb áraival dolgozom. Tehát senki ne háborodjon fel azon, ha ő tízszeres áron találkozott ezekkel, és akkor sem, ha a mindenhová-mindenféle-pénzekért szállító áruházában esetleg optimálisabban, olcsóbban áraznak (hisz a postaköltség, esetleg vám, stb ott még hozzájön az árhoz). Apróhirdetéses oldalakat értelemszerűen nem vettem figyelembe. EU-nál mindenhol németországot igyekeztem kikeresni. Ruházatok esetén az ilyen sznob geci helyekkel nem foglalkoztam, csak a normális, lakossági ellátásra szánt termékeket áruló boltokkal. Mivel sok amcsi webbolt euróban kezdte el kiírkálni az árakat nekem, ezért trükköznöm is kellett sok helyen. 

 

Foghúzás:
USA: 75 USD (costhelper)
EU: 50 EUR (németország, odontika)
MAGYAR: 5000 FORINT (kerekesdental)

A foghúzás minimálára most igencsak olcsó. Lehetséges, hogy hatékonyabb eszközöket kezdtek használni a fogorvosok, vagy új tippek, gyógyszerek, és trükkök terjedtek el a hatékonyabb, olcsóbb foghúzás elvégzéséhez.

 

Mackónadrág:
USA: 12 USD (sportsdirect)
EU: 13,99 EUR (németország, def-shop)
MAGYAR: 1490 FORINT (shopalike)

A mackónadrágok ára szerencsére nem kívánja kilőni magát az űrbe.

 

Bőrdzseki (férfi):
USA: 64 USD (leogary)
EU: 45 EUR (németország, asos)
MAGYAR: 24900 (borkabatbolt)

Magyarból nem találtam olcsóbbat, egyszerűen nincs ruhaiparunk, mindennemű ruhát devizából vehetünk csak meg. Számomra is rejtély, hogy miért ilyen drága.

 

Körkéses villanyborotva (férfi):
USA: 11 USD (aliexpress)
EU: 14 EUR (németország, dhgate)
MAGYAR: 3400 (marketworld)

 

 

Intel i7 6700 processzor:
USA: 303 USD (stock)
EU: 334 EUR (németország, xitra)
MAGYAR: 102000 FORINT (rhw)

x86 számítógép-processzor.

 

 

Sony Xperia Z 5:
USA: 203 USD (amazon)
EU: 459 EUR (németország, utopiashop)
MAGYAR: 240000 FORINT (mobilkereskedes)

Egy (szerintem) kedvelt, tipikusan középkategóriás, androidos mobiltelefonmárka.


 

Irodaszék:
USA: 38 USD (wallmart)
EU: 79 EUR (németország, lidl)
MAGYAR: 11000 FORINT (iysk)

(műanyag, kartámaszos, legolcsóbb)

 

 

Utcai cipő:
USA: 38 USD (zappos)
EU: 49 EUR (németország, schuhe)
MAGYAR: 3000 FORINT (dechatlon)

Az olcsóbb modellek között a legelső olyan utcai félcipő, amit hajlandó lennék a lábamra venni, emellett nagyjából fekete, és feltűnő márkajelzés nélküli. 

 

 

Pizza (45 cm):

USA: 20 USD (pizza73, 2 db kb 30 centis, és még ingyen kólát is adnak, területet nem állok neki kiszámolni)
EU: 25 EUR (németország, unopizza. sajnos 45 cm-et nem árulnak, a 25 centis 14,40 eur, a területszámítástól eltekintve felszorozva a területet került az ár kiszámításra)
MAGYAR: 2800 FORINT (theopapa)

Kész horror volt a pizzákat összegooglizni. A sok átbaszós étterem valahogy sosem szereti előre közölni az árakat, méreteket. Azt hittem, ez magyar szokás, de általánosnak tűnik. 

 

 

Elektromos radiátor 2kw:

USA: 67 USD (kogan)
EU: 39 EUR (németország, stabilo-fachmarkt)
MAGYAR: 8890 FORINT (toparuk)

Ventillátor nélküli modelleket kerestem, fali, vagy letámasztható verzióban. 2kw modelleket találtam csak emberi áron, miközben pár éve még 3kw-os modellek voltak mindenhol, és alapvetően azt szerettem volna keresni, na mindegy. Azt hiszem, ez azért van, mert a közelmúltban megváltoztak az elektromos eszközökre vonatkozó szabályok, és nem fogyaszthatnak a konnektorból többet 2,3kw-nál a sima egységsugarú OEM eszközök, csak azok, amiket speckó boltban veszel. Ez van.

 

 

Áram (1kwh) :

USA: 0,09 USD (eia)
EU: 0,3 EUR (németország, ec europa)
MAGYAR: 35 FORINT (eon)

A németek villanyárát szinte titkosszolgálati módszerekkel kellett kigooglizni, annyira szégyenlik, hogy a görcsösen szélenergiásodni, és napelemesedni kívánó elektromos álomviláguk horror szintű árakat eredményez.

 

 

Benzin (1 liter) :

USA: 0,5 USD (eia)
EU: 1,05 EUR (németország, clever tanken)
MAGYAR: 319 FORINT (holtankoljak)

 

 

Weboldal elkészítése (tehát professzionálisan, (gondolom) számlával):

USA: 600 USD (ozzu megrendelés)
EU: 650 EUR (website preisen)
MAGYAR: 99000 FORINT (weboldalkeszites)

 


 

Ezeknek a tételeknek a kikeresése több, mint két órámba telt, szóval eléggé meg kellett szenvednem a pontos, konkrét adatokért. Most pedig lássuk sorban, hogy melyik termékek esetén mennyi az usd->forint, és az euró->forint árfolyam a fenti árak aránya alapján:

 

Foghúzás:

1 USD = 66,6 HUF
1 EUR = 100 HUF

Mackónadrág:
1 USD = 124 HUF
1 EUR = 106 HUF

Bőrdzseki (férfi):
1 USD = 389 HUF
1 EUR = 533 HUF

Körkéses villanyborotva (férfi):
1 USD = 309 HUF
1 EUR = 242 HUF

Intel i7 6700 processzor:
1 USD = 336 HUF
1 EUR = 305 HUF

Sony Xperia Z 5:
1 USD = 1182 HUF
1 EUR = 522 HUF

Irodaszék:
1 USD = 289 HUF
1 EUR = 139 HUF 

Utcai cipő:
1 USD = 79 HUF
1 EUR = 61 HUF

Pizza (45 cm):
1 USD = 140 HUF
1 EUR = 112 HUF

Elektromos radiátor 2kw:
1 USD = 132 HUF
1 EUR = 228 HUF

Áram (1kwh) :
1 USD = 388 HUF
1 EUR = 116 HUF

Benzin (1 liter) :
1 USD = 638 HUF
1 EUR = 303 HUF

Weboldal elkészítése (tehát professzionálisan, (gondolom) számlával):
1 USD = 165 HUF
1 EUR = 152 HUF

 

ÁTLAG:

1 USD = 325 FORINT
1 EUR = 243 FORINT

Konklúzió: 

7.gif

1: Az euró árfolyama az összeomlás szélén áll. Az euró vásárlóereje ennyire még sosem volt gyenge. Komoly ember (tehát aki nem egy baloldali álomvilágban élő internacionalista) számára már eddig is nyilvánvaló volt, hogy a 80%-os adóból történő pocaklakószakértés, buszmegállóépítgetés, és arabtenyésztés nem kapitalizmus: a buszmegállókat, és az arabokat nem lehet megenni, és még a windows sem bootol be rajtuk...

2: A magyar gazdaság a megszokott 20% körüli inflációt fogja produkálni idén is, mint ahogy eddig. Tehát nem 2%-ot, mint ahogy a korrupt államapparátus szépen hangzó propagandareklámokban hazudja, hanem 20%-ot, mint ahogy szokott. Persze ez azért nem annyira jó hír, de összeomlani a magyar gazdaság nem fog.

3. A dollár értéke hamarosan lehagyja az eurót. Erre fel kell készülni. Akinek eurója van, az jobb, ha most rögtön átváltja valamilyen igazi valutára. Mindegy, hogy mire, de olyanra váltsa, ami mögött legalább van valamiféle fedezet. 

4. Előfordulhat az, hogy a karácsonyi szezonra, amikor az emberek elkezdenek valódi dolgokat tömegével vásárolgatni a boltokban, az Euró árfolyama egyszerűen be fog szakadni. Árfolyam alatt a ,,hivatalos'' árfolyamot kell érteni, tehát amin a pénzváltók átváltják a pénzt. Ez nyilván nem ekvivalens a valódi árfolyammal, ami a fentebb piros színnel kiszámolt összegeket jelenti, és a valóságban már rég az érvényes. Ha az euró hirtelen összeomlik, az pánikszerű láncreakciót fog indukálni, és ez a forintot is a már fentebb kiszámolt szintre fogja lökni azonnal. 

 

A fentebb leírt állítások nem számítanak üzleti, vagy befektetési tanácsadásnak. Mindenki a saját felelőssége és belátása szerint kezelje a pénzügyeit - semmiféle felelősséget nem vállalok a leírásból fakadó károdért. Pénzügyi képesítéssel nem rendelkezem.

 

 

 

A rejtélyek televíziója

2015.11.10. 22:53 Gerilgfx

mabel.png

Valami a semmiben

2015.10.20. 03:58 Gerilgfx

Valami a semmiben volt. Körülötte sárga gömbök táncoltak messze a távolban. Keringtek körülötte, mintha csak a kívánságára várnának. Ahogy Valami lebegett, ezek a sárga gömbök hol távolodtak, hol közeledtek felé. Valami kicsi, és éhes volt, és amikor azok a gömbök, amik Valami irányába igyekeztek, elérték őt, akkor Valami megette őket. Valami egy idő után elunta a céltalan ebédelést, és elkezdett játszani a gömbökkel, bár, igazság szerint félt tőlük. Egy idő után felfedezte, hogy a sárga gömbök körül is néha más gömbök pörögnek, amiket aztán szintén megehet. Eszébe jutott, hogy valaha ő is egy ilyen hatalmas sárga gömb volt, és körülötte is ilyen fajta kisebb gömbök köröztek. De aztán történt valami, és többé már nem fénylett. Kicsi lett valamitől, és éhes lett, és félt. Egykor még ő is hatalmas volt, de ma már több százmilliárdszor beleférne az akkori önmagába. Tűnődött, hogy miért lehetséges, hogy ő elnyeli ezeket a hatalmas, fénylő gömböket. Miért alakult így? Hol vannak a régi gömbök, amik keringtek körülötte? Miért vesztette el őket? Talán túl gyenge már? Miért van az, hogy a többi sárga gömb, akik vele egyidejűleg léteztek, még vagy mindig sárga gömbök, vagy porrá estek, és eltűntek? Lehet, hogy nem is vele van baj, hanem a többiekkel?

Valami kedvence mégsem a sárga fénygömb volt. hanem a sárga fénygömbök körül néha keringő gömbökön néha jelen lévő érdekes dolgok, amik még nála is kisebbek voltak, és néha ide-oda mozogtak. Valami szerette ezeket, de sosem tudta őket megfigyelni, mert minnél közelebb kerültek hozzá, annál inkább abbahagyták a mozgást, és szétestek ők is, mint minden más előttük. Valami nem tudta mire vélni a dolgot. Egyszer elgondolkozott azon, hogy mi van akkor, ha ezek a kis izgő-mozgó dolgok is Valamik, és az ő testvérei. A testvérei, amik akkor keletkeztek, amikor megszűnt sárga gömbnek lenni. Talán ők is félnek? Valami irigy volt, mert ez a többi Valami tudott ide-oda mozogni, ő pedig csak egy helyben lebegett, és minden vagy közeledett, vagy távolodott.

Egyszer egy szokatlan formájú dolog közeledett felé, de ezt a dolgot Valami nem tudta felfalni, ehelyett az a dolog elkezdett körözni körülötte nagyon közelről. Valami nem tudta mire vélni a dolgot, aztán észrevette, hogy a dologban van egy másik dolog, ami úgy izeg-mozog, mint azok a dolgok, amiket nem tudott sosem megszemlélni rendesen. Ez a dolog különösen szórakoztató volt: a dologban voltak más dolgok, amik néha világítottak, néha nem, néha eltakarta őket egy másik valami, és néha nem. Észrevette aztán, hogy ez a dolog beszélget valahova távolra, egy másik dologgal. Valami megértette ezeket a jeleket: a jelek képekké álltak össze. Valami még sosem tapasztalt ilyet azelőtt. Tűndött, hogy vajon mit jelenthetnek azok a képek, amiket a beszélgetésben lát. Aztán ez a dolog eltávolodott, és sosem jött vissza.

Valami aztán néhány millió sárga gömb elfogyasztása után elkezdte megérteni azokat a képeket, amiket ott, akkor elkapott a dologtól. Valami aztán rájött, hogy van neve. Úgy hívják, Sagittarius A*. Megdöbbent, amikor megértette, ki is ő, mi is ő valójában. Rájött, hogy a sok milliárd piros gömb mind az ő erejének hatására rója végtelen vándorútját körülötte, és mindenki neki táncol. Többé már nem félt.

 

A vizsga

2015.10.17. 01:12 Gerilgfx

 

Rég, talán 2004-2005 körül történt, de szinte minden fontosabb részletére emlékszem, ez életem egyik meghatározó élménye. Idáig nem tudtam, hogy miért. Vizsgaidőszak volt, aznap szombat. Néhányon már túl voltam, és a következő héten pedig minden nap egy vizsga várt rám. Este már éreztem, hogy valami nem stimmel, vasárnap már úgy ébredtem, hogy tele van rászáradt sárga genyával a szemem, lázas vagyok, esetleg foshatnék is, alig állok a lábamon. Hétfőtől vizsgák megint, na de semmi vész, szerencsére vasárnap jött elő, holnapra úgyse lesz semmi bajom.

 

De. Lett. A vasárnapi tünetek írtózatos erősséggel jöttek elő, 39 fokos láz, a szememről 5 percig tartott levakarni a sárga genyát, hogy ki tudjam feszegetni, aztán rohanva, minimálisan hozzáöltözve a kint tomboló -10 fokhoz és süvítő szélhez, elindultam. Annyira szédültem, hogy a biciklire felülni is alig tudtam, 30 másodpercenként törölni kellett az orromat, ráadásul rohannom kellett, nehogy elkéssek a nem várt komplikációk miatt a hú de fontos vizsgáról. Ez úgy nézett ki, hogy 15 perc biciklizés, aztán 5 perc álldogálás a -15 fokban és 50 km/h-s szélben a szar ruháimban, amik még annyira sem voltak valók semmire sem, mint a mai ruháim, aztán egy óra vonatút, majd 30 perc gyalogút, és másfél óra várakozás, vizsga, majd az egész visszafelé fordított sorrendben, ugyanilyen időintervallumokkal kalkulálva.

infdis_bacteria2.jpg

De sebaj, bementem a nagyon fontos vizsgára, és gondoltam, holnapra már úgysem lesz semmi bajom, és sokkal nyugisabb lesz az egészségi állapotom, nem fog annyira hátráltatni a következő napi vizsgában. Na, a 39 fokos láz helyét 40-41 fokos láz váltotta, mégmértéktelenebb fosás társaságában, és másnap már beszélni sem tudtam, csak hörögve suttogni, ami különösen érdekesen hangzott a szóbeli vizsgákon. Közben a barátaimmal, amikor összefutottam az utcán, nem tudtam nekik szólni, köszönni, úgy kellett integetnem nekik, és odahívnom őket, megsuttogni, hogy mi a helyzet. Már egészen megszoktam a szédülést is, lassan életem részévé vált az, hogy a jeges utakat leszámítva is autómatikusan az autók alá esek.

 

Aztán végre valahára elérkezett a hét utolsó vizsgája. Már egész jól voltam, a lázam is csak 39 fokos volt már, a fosás is elmúlt, a hangom is elkezdett egy emberi hangra hasonlítani. A hó szakadt aznap. A vonat egy órát késett, és a normális egy óra helyett 4 óráig tartott, mire beért. Útközben volt, aki bepánikolt, és leszállt, hogy a szemközti vonatra felszálljon, csak úgy minden jegy nélkül, és azonnal hazajusson. De még reménykedtem, hogy odaérhetek a vizsgára, sajnos nem sikerült. A vizsgát lekéstem. Legyintettem egyet, majd lesz belőle 2-3 pótvizsga úgyis, valamelyiken majd csak átmegyek. A vizsga így, a vizsga úgy...

 

 

snowstorm_background_practice_by_tigerfelix-d6jeypo.jpg

Aztán fújtam egyet, és körbenéztem. Emberek százait láttam, az üres tekintetüket. Mind maguk elé bámultak, és nézték a földet. Ránéztem a kijelzőre, ami az induló, érkező vonatokat mutatja. Üres volt. Azt hittem, csak átmeneti problémáról van szó. Aztán egy idő elteltével az információnál érdeklődtem, és közölték, hogy katasztrófahelyzet van, 4 órán belül nem tud egy vonat sem elindulni, de lehet, hogy utána sem. Volt több fiatal is körülöttem, akik ugyanoda tartottak, ezért hozzájuk csapódtam. Néhányukból ez a helyzet pánikszerű reakciót váltott ki. Valaki úgy gondolta, hogy ő most nagy vezető lesz, ezért elkezdett számolgatni, kikérdezte, hogy kinél mennyi pénz van, hogy ha meg kell valahol szállnunk, vagy kaját kell szereznünk, akkor csoport-szinten ezt meg tudjuk -e oldani. Én szándékosan kevesebb pénzt mondtam a ténylegesnél, mert ekkorra én belül már valaki egészen más módba kapcsoltam, mint amilyenben eddig életem során valaha is voltam... És ha engem ezért valaki elítél, akkor annak bizony a jó kurva anyját. A többiek ambivalens reakciója azonban hamar éreztette vele, hogy ezt a ,,csoportot'' nem ő fogja vezetni. A helyzetre senki sem volt felkészülve, pláne mi nem, fiatalok. Sem rendes ruhánk nem volt egy sima téli napra sem, nemhogy pénz.

 

 

thigh_highs_seifuku_anime_manga_usotsukiya_artist_knee_socks_oouso_2464x3500_wallpaper_www_wallpapername_com_80.jpgNálam is csak néhány száz forint volt, némelyeknél talán egy ezres, akik tehetősebb családból voltak. Néhányan felvetették, hogy gyalogoljunk haza, de a távolság több, mint 50 km volt, ami a halálunkat jelentette volna, ezért aztán leszavaztuk az ötletet. Végülis aztán sikerült megállapodnunk egy kompromisszumos megoldásban, miszreint ha eljutunk a két végpont közötti városba vonattal valahogy, akkor onnét már haza tudunk menni gyalog, mert az csak kb 30 km, ami vállalható. A legriasztóbb azonban nem a hordákba verődve mászkáló, őröült ötleteket padra állva félhangosan felvető 15-20 éves fiatalok hiányos ruházatát kompenzáló kivagyi survivalság, és a szemükben tükröződő félelem volt, hanem a középkorúak, idősek letargikus hozzáállása és nyugalma.

 

 

 

Nem fogták fel, vagy talán nem akarták felfogni, hogyha -15 fokban a padról egy 15 éves téli-térdzoknis, rakottszoknyás picsa a halál angyalának öltözött bőrdzsekis öccsével próbálja több ezer, otthonától 30-100 km-re bármiféle pénz, és segítség nélkül ragadt fiatal, középkorú, és öregember hazaútját megszervezni abszurdabbnál abszurdabb ötletekkel, akkor ott már rég nem egy néhány órás késés a tét, hanem valami egészen más...

Az emberek ezrei egy szó nélkül, magukbaroskadva ültek a földön, ki tudja, mióta. A legmegdöbbentőbb a csend volt, és az unalom. A vonatok sem működtek, egy pisszenést sem lehetett hallani.

A hó hullott tovább, néhányan felvetettük, hogy segítünk kiásni a váltókat, hogy el tudjon indulni a vonatunk. Felkerestünk erre a célra néhány vasúti alkalmazottat, akik látszólag nem csináltak semmit. Vázoltuk nekik a helyzetet, és kértünk néhány lapátot, és hogy mutassák meg, hol kell ásni. De sajnos a helyzet nem volt ilyen egyszerű, ugyanis jégteleníteni kellett a váltókat, ami nem egy egyszerű kiásás, így aztán semmi esetre sem tudtunk ebben segíteni.

2299_snow-storm.jpg

Az órák eseménytelenül teltek. Ausztria felé el tudtak indulni a vonatok, mi pedig étlen, szomjan, egy fillér nélkül felültünk az egyik vonatra melegedni.

Vajon mi történik, ha nem tudják elhagyni a várost? Jön majd valami segítség? Jön majd a katasztrófavédelem, és hoz néhány pohár teát nekünk, vagy zsíroskenyeret? Mi lesz akkor, ha éjjel -20 fokban leszakad a vezeték, megáll alattunk a vonat és a fűtés, és annélkül, hogy bármi esély lenne mentésre, emberek ezrei halálra fognak fagyni a vagonokban egy kihalt szántóföld közepén?

Óriási szerencsénk volt. Aznap csak pár vonat tudott elindulni. Az egyik a miénk volt. Átálltunk, a B, C, vagy kitudja, hányadik, mai szemmel nézve már szürreális tervre arra vonatkozóan, hogy gyalogosan milyen terv alapján fogunk aznap hazajutni, tehát: túlélni. Még akkor is, ha a táskáinkat, tanszereinket be kell áldozni.

Néhányszor tévesen bejelentették irányunkba tartó vonatok indulását, ahová aztán sprintelve futottunk át - hiába.

Végül sötétedéskor indult el a vonatunk, nem menetrend szerint, kb 10 vagonnal. Mi pedig, akiket szállított a vonat, akkora már úgy néztünk ki, mint a Hiroshimai túlélők az atomcsapás után. Éjfél körül értem haza, de előtte még várt rám egy pár kilóméteres erőltetett menet, aminek során az egy, gyakran másfél méteres buckákon biciklimmel a hátamon kellett átvágnom, és néhány autót is ki kellett tolnunk az árokból, akinek a gazdája elkeseredetten ásott, már ki tudja, mióta... Egy trabantot egymagam toltam ki. Hogy hogyan, azt nem tudom, fogalmam sincs, hogy honnét volt hozzá erőm, és erre csak akkor jöttem rá, amikor már hazaértem: teljes power-cut-off. Átöltöztem, ettem valamit, és belezuhantam az ágyba.

A híradások másnap reggelre már elkezdtek foglalkozni érdemben a katasztrófával. Mutogattak néhány száz várakozó embert a kezükben egy pohár teával, bizonygatva, hogy a katasztrófavédelem mennyire toppon van. Az felvétel egyik arról az állomásról készült, ahol ottragadtunk. Még mindig ugyanazok az emberek ültek ott, akkorra már súlyosan legyengülve.

A hivatalos jelentések szerint aznap két ember halt meg, de hogy az emberek statisztikai adatokká való konvertálásában rutinos szocialista féregkormánynak hány halálesetet kellett eltussolnia, máig rejtély számomra.

Ez a hét sokáig nem is jutott eszembe. Nem tekintettem rá sehogy. Ma már egyértelműen tudom, hogy ez egy természeti katasztrófa volt, aminek áldozatává váltam. Szerencsére nem halálos áldozatává. Tűnődtem, hogy vajon megérte -e bemenni azokra a vizsgákra betegen. Meg sem lett mind, de abban az intézményben amúgyis csak kettesre hajtottam mindig. Ha otthon maradok, nem lettek volna meg a vizsgáim, ez a 4 vagy 5 darab vizsga, amik amúgy nem voltak *ANNYIRA* fontosak, és tökre le is szarom.

Ma már tudom, hogy nem ez a 4-5 db vizsga volt az igazi vizsga, hanem ez.

 

 

Minimum gépigény

2015.10.02. 03:58 Gerilgfx

Sarkallatos pont, hogy mi legyen a megcélzott minimum gépigény, amin a megírt szoftvert még épp át akarjuk paszírozni relatíve használhatóra.

Különösen nehéz a döntés akkor, ha mondjuk grafikát is használ a szoftver, ezért valamilyen 3D API-t is támogatni kell, ugyanis jelenleg az emberek kb 10 generációnyi grafikus chipet használnak párhuzamosan a piacon, rengeteg gyártótól, főleg, ha mondjuk az ARM/Android világával is számolunk. Persze ha szoftveres renderert használunk, akkor ilyen gond nincs.

2000 tájékán emlékszem, hogy volt egy fióknyi grafikus kártyám, amiket mind teszteléshez használtam. A DX7-et használó megoldásom akkoriban nvidia, ati, 3dfx, 3dlabs, matrox, sis, s3 kártyákon is remekül kellett, hogy menjen, vagy legalábbis el kellett, hogy induljon, és valamilyen szinten folyamatosnak is kellett lennie. Persze ez akkor még természetesnek számított: akkor 3-4 éve jött be egyáltalán a 3D gyorsítás a köztudatba, és az összes addig kitermelt kártyákat tesztelni kellett, hisz relatíve újak voltak.

Aztán ahogy telt-múlt az idő, teljesen új eljárások, és grafikus API-k jöttek. Megjött a DirectX8, aztán a 9 (ami szerencsére visszafelé kompatibilis még a dx5-ös kártyákkal is), no és persze az OpenGL is évről évre egyre inkább hízott újfajta vertex pipelinekkel, rendering módokkal, később ilyen-oylan shaderekkel.

És a legnagyobb az az még ma is, hogy mindig, amikor megjelenik egy új technológia, kb 2-3 év múlva már el is avul, elfelejtődik, sőt, akár a driverekből is kiszedik, vagy eleve el sem terjed, ezért aztán a programozók nagyrésze még mindig ott tart, hogy glVertex3f, esetleg, ha androidon is, OpenGL ES-en is futtatni akarja, akkor glVertexArray. Tehát sikerült konzerválni a grafikai megjelenítést a programok kb 99,9%-ban az 1994-es szinten, ugyanis kizárólag ez az, ami a platformok, konfigurációk széles tárházán is probléma nélkül képes futni. A baj akkor jön, ha a megírni kívánt szoftver, játék, stb, az komolyabb képességeket igényel, pl árnyékok, vagy nagy polygonszám. Itt aztán borul a képlet, kivéve persze, ha valaki szoftveres renderert írt, hogy ezt az egész agyhalált megspórolja.

 

Mi a helyzet a grafikus chipekek oldalán?

Sajnos a helyzet nem túl jó, a gépek frissítési ciklusa 2000 után eléggé lelassult, és elült. Aki mondjuk 2000 tájékán vásárolt egy akkoriban még középkategóriás laptopot, az jó eséllyel még ma is azt használja. Egész egyszerűen az, akinek mondjuk van egy 1 Ghz-s VIA masinája OpenGL 1.1-es Savage grafikus chippel, az nem szorult rá arra, hogy ezt a gépet kicserélje, vagy ha igen, akkor lepasszolta lemenő/felmenő családtagjainak, akik ezt használják. Így aztán nem szabadulhat meg a programozó attól, hogy a legprimitívebb grafikus kártyákat is támogassa. És arról se feledkezzünk meg, hogy még tavaly is árult az Intel olyan Atomokat, amikben a GMA950-es chip OpenGL 1.4-es leszármazottai ülnek. Így aztán biztosak lehetünk abban, hogy az OpenGL 1.x pipelinet még mindig támogatni kell, és ezen semmi sem változtat. Aki 2006 tájékán arra számított, hogy elegendő megírni a grafikus enginet mondjuk ARB shaderekkel, mert úgyis pillanatok alatt elavulnak a régi grafikus chipek, az hatalmasat hibázott. És ha megfigyeljük, akkor ezek a technológiák, emberek, megoldások, stb alapvetően ki is hullottak a piacról, más iparágakba mentek dolgozni, és ma már nem is igazán emlékszünk rájuk, vagy a megoldásaikra. Akik viszont a legprimitívebb engineket írták, azok vígan portolták Androidra, OpenGL ES 1.x alá. Tehát egyszerűen, ha hardveres renderelést akar valaki, akkor nincs az a low-end, 20 éve elavult chip, fiók mélyéről előkapart S3, amire ne kellene kijavítani az engine hibáit, hiába írunk 2015-öt.

sempaisis.jpg

Notice me, sempai!

Androidon persze ugyanaz a helyzet, mint a PC-n, ahol mindenféle gyártó érdekes, és bugos kreálmányát kerülgethetjük OpenGL ES 1.x-től kezdve mindenféle (nem működő) megoldásokon és technológiákon át.

 

Mi a helyzet a processzorok tekintetében?

kl_via_c3_no_goldcap.jpgA processzorok területén némileg egyszerűsödött a terep. Legyen szó PC-ről, telefonról, vagy tabletről, a 800 mhz alatti eszközök aktív használatban kimutatható mértékben már nincsenek jelen a piacon. És mint derült égből a villámcsapás, 800 mhz-en megindul az élet, és a nyüzsgés, és hirtelen felbukkannak a klasszikus AthlonXP-ken át az újabb Atomokon, 10 ezer forintos Vortex86-os, VIA-s netbookon keresztül, beleértve az ARM gyártók széles tárházát is, és mindenféle egzotikusabbnál egzotikusabb gyártót x86-on is. Ma a 800 mhz a választóvonal szerintem. Annál gyengébb processzort támogatni szinte biztos, hogy semmilyen körülmények között nem kell majd, legyen szó akármilyen elvadult afrikai nyomortelepről is, a 800 mhz-et jelentő bűvös szám ott is jelen lesz. Felesleges időt, és erőt pocsékolni az ennél is régebbi, múzeumba való, elavult termékekre, viszont a 800 mhz-s processzorokra valahogy össze kell kalapálni a terméket, ha törik, ha szakad, ugyanis ezek tömegével jelen vannak még a PC piacon is. Itt nincs olyan nagy probléma, elvégre, amit az ember beleír a fordítóba, az fordul le, fordítsa akár 32, akár 64 bites architektúrára, viszont figyelni kell arra, hogy fordításnál a march=i486 kapcsolót adja meg x86-on, hogy biztosan fusson az újabb utasításkészleteket nem támogató 32 bites processzorokon is. 64 bit esetén pedig értelemszerűen a march=k8 kapcsolót kell megadni, ami az összes 64-bites x86 esetében lehetővé teszi a kód futtatását.

Persze a 800 mhz nem egy diszkrét szám, ha valaki egy 600 Mhz-s AMD Duront talál, akkor se lepődjön meg. Egy processzor sebességét számos más tényező is meghatározza, ami befolyásolja, hogy mennyire használható ma.

 

 

Az olló szélessége a low-end, és a high-end között

Manapság eléggé kiszélesedett az olló az alsókategória, és a felsőkategória között. Korábban nem volt még olyan szituáció, hogy két évtizednyi technológia egyszerre a piacon legyen valamilyen inkarnációban, és ezeket mind egyszerre támogatni kelljen. Ha valaki 2000-ben (Socket7 korszak) egy programot megírt, annak nem kellett futnia 15 évvel korábbi Videoton TV computeren, vagy Commodore128-on, hanem egész egyszerűen elegendő volt a Pentiumokon, és az ezzel ekvivalens AMD-ken, Cyrixeken, Rise és IDT processzorokon garantálni a szoftverek futtatását, egészen a Windowst még kényelmes sebességen futtatni képes, erősebb 486 processzorokig bezárólag. Ez a legroszabb esetben is 10, de a gyakorlatban inkább 6-7 évnyi processzor támogatását jelentette, ahol a csúcs, és a leglasabb megoldás között a sebességkülönbség alig-alig volt tízszeres sebességkülönbség. Ma már a legújabb generációs processzorok között is majdnem százszoros a különbség (pl 8 magos desktop i7, vs 1 magos HT-s atom), nem beszélve arról a rengeteg 15 éves gépről, ami a Socket7 korszak után a nyakunkon maradt, a már említett bűvös 800 mhz-től kezdve. Valószínűleg ezek a gépek még nagyon sokáig velünk maradnak.

Programozás C nyelven

2015.09.13. 21:21 Gerilgfx

Mostanában sok bejegyzést látok affelől érdeklődve, hogy milyen egyszerű, könnyű, fingreszelgetés nélküli, lényegretörő szakirodalmat lehet a C nyelvű programozásról találni, amiből meg lehet tanulni a nyelvet, és el lehet sajátítani a C nyelvű programozáshoz szűkséges alapokat. Nyilván nem szeretne senki sem több száz oldalas, nagyzolós könyveket olvasni a semmiről, így aztán úgy döntöttem, hogy írok egy rövid, lényegretörő oktatóírást a C nyelvű programozásról, amely átöleli magát a nyelvet, és a legtöbb felmerülő kérdésekre is választ ad.

EZ A BEJEGYZÉS KÖZZÉTEHETŐ MAGÁNCÉLRA BÁRHOL, AZ EREDETI FORRÁS MEGJELÖLÉSE MELLETT ( http://gerilgfx.blog.hu ) A BEJEGYZÉST CSAK TELJES TERJEDELMÉBEN, VÁGATLANUL LEHET KÖZZÉTENNI.

 

Kinek való a C programnyelv?

-Ez a programnyelv neked való, hogyha már próbálgattál/írtál dolgokat más nyelvekben, amik nem voltak számodra elég ,,valódiak'', tehát nem voltak eléggé hardverközeliek, nem igazán tudtál bennük ,,valódi'' programot megírni, hanem folyamatosan hiányérzeted volt.

-Persze a programozást megtanulni is meg lehet C nyelven, nem bonyolultabb, mint a többi nyelv, a számítógép működésének megértését viszönt megköveteli. Mondjuk egy mérlegképtelen könyvelőaparatcsik nem fog tudni programozni más nyelven sem, úgyhogy ez igazából mindegy.

 

the_c_programming_language_logo_svg.pngMire való a C programnyelv?

-A C programnyelv egy több, mint 40 éves programnyelv, ami jelentős átalakuláson ezidő alatt nem esett át. A történeti áttekintéstől most eltekintenék, mert úgysem érdekel senkit. A C szabványosított változata a C99, a továbbfejlesztett változata a C++, ami már objektumorientált programozást is lehetővé tesz. Ma, amikor azt mondjuk, hogy C-ben írt program, vagy C-ben írt forráskód, akkor általában egy C99-ben megírt, és c++ fordítóval lefordított programot értünk alatta. A legtöbb nyílt forrású program ilyen. A c++ fordítók támogatják a C/C99 forráskódok lefordítását, ugyanis visszafelé kompatibilisek (a c++-nek része a C).

Megjegyzendő, hogy néhányan ezzel a szemlélettel nem értenek egyet, és azt állítják, hogy a C és a C++ nyelv két külön entitás, ezt bizonyítva próbálnak olyan speciális, a gyakorlatban nem létező, és nem kihasznált dolgokat példaként felhozni, ami ezt szerintük alátámasztja. Ez azonban egy teljesen téves és irreális elképzelés.

-A C programnyelvet eredetileg operációs rendszerek, kernelek, meghajtóprogramok megírására fejlesztették ki, de végülis kiderült, hogy egyszerűsége, és hatákonysága miatt minden másra is jó, így aztán mára ez vált a legelterjedtebb, legnépszerűbb programnyelvvé (bár néha az éppen aktuálisan népszerű megoldások letaszítják a trónról, így néha csak második helyezett, ez mindig az aktuális trendektől függ). Emellett meg szeretném jegyezni, hogy nem az alapján kell kiválasztani egy programozási nyelvet, hogy melyik népszerűbb, hanem hogy melyik számodra a legmegfelelőbb. Persze a C véletlenül az esetek többségében mindkét feltételt teljesíti.

-A C programnyelv segítségével tehát valódi programokat tudunk létrehozni, amikkel valódi problémákra, jól működő megoldásokat lehet nyújtani.

-A C nyelv egy teljesítményorientált nyelv, de érteni is kell ahhoz, hogy ezt a teljesítményt elő lehessen hozni. Ha valaki nem ért hozzá, sokkal lasabb kódot fog eredményezni, mint a többi nyelv, de ha ért, akkor akár több ezerszer gyorsabb kódot is írni lehet benne, mint a többi nyelvben. A C-ben nincsenek ellenőrzések, nincsenek felesleges műveletek: amit írsz, az történik.

-Ma szinte minden komoly programot C nyelven írnak, ez többnyire C99-et jelent, néhol használnak c++ kódrészleteket is, kényelmi szempontokból.

 

 

Mire NEM való a C programnyelv?

-Jaj, megtanulom a C nyelvet, és majd ezzel egy multi pincéjébe elmenve aladárkodni, majd én leszek a csoportkirály <- NEM.

-A C nyelv gyorsan, mindenféle hozzáértés nélkül sok pénz keresésére SEM való.

-Nem ideális a C nyelv akkor sem, ha életedben először, és utoljára kell egy programnyelv arra, hogy valamilyen bizonyos, célirányos dolgot elkészíts vele, mert valószínűleg van már rá valamilyen direkt arra a célra kifejlesztett megoldás.

-Buta embereknek sem való a C nyelv.

 

 

Mi a különbség a C programnyelv, és a többi programnyelv között?

-Csak úgy, mint a többi programnyelvben, a műveletek végrehajtása itt is fentről lefelé történik, lépésről lépésre. A kezdőfüggvény viszont mindig a main függvény, tehát a végrehajtás a main függvénynél indul.

-C nyelven a program különböző, jól körülhatárolható részeit (algoritmusokat) függvények formájában szokás implementálni. Ezek a függvények aztán további függvényeket is meghívhatnak. Például írsz egy két vonal metszését megállapító függvényt, amik az általad feljebb már implementált koordinátageometriai függvényeket hívják meg.

-A nyelv minimalisztikus. A C-hez tartozó runtime (amely vvagy részben az operációs rendszer része, vagy közvetlenül belefordul a futtatható fájlodba) tartalmaz pár alapvető függvényt, amelyek az operációs rendszerrel való alapvető interakcióhoz szűkségesek, de a C nyelvben közvetlenül nem találsz magas szintű dolgokat. Nem része tehát a C programnyelvnek olyan függvény, amivel zenét játszol le, hisz azt csak az operációs rendszer segítségével tudod megtenni. Ezért aztán ez az operációs rendszerbe épített különböző függvények kihasználásával érhető el, amik értelemszerűen minden platformon mások.

-A C programnyelvben tehát élesen különválik maga a programnyelv, és élesen különválnak azok a különböző API-k, amit az operációs rendszer biztosít számunkra például az ablakozáshoz, a perifériák eléréshez, így ezek nem is részei a C-nek, hanem az operációs rendszer által biztosított lehetőségeket kell hivogatni a C-n belül ezeknek az eléréséhez. Természetesen az adott platformhoz tartozó adott fordítóhoz mellékelve vannak az olyan header fájlok és/vagy előre lefordított libraryk, amik lehetővé teszik ezen képességek elérhetőségét.

-A C-t C nyelven írják, tehát egy olyan nyelvről van szó, amit önmaga segítségével írnak. A C-hez tartozó függvénykönytárakat is szintén egyszerűen C-ben implementálják.

-A C programnyelv félúton van a magasszintű, és az alacsony szintű nyelvek között annélkül, hogy platformspecifikus, vagy architektúraspecifikus lenne. A C tehát egy magas szintű programnyelv, alacsony szintű nyelvekre jellemző beütésekkel.

-Több fordítóprogram (compiler) létezik C nyelvre, ilyen például a gcc, a clang, a tinyc, vagy a visual studio. Ezek c++ fordítók (a tinyc csak c99). Néhány platform saját C fordítót használ. Elvileg minden C nyelven megírt program lefordítható bármilyen C compilerben, de természetesen előfordulhatnak olyan sajátságos esetek, amikor kompatibilitási probléma lép fel.

-Éppen ezért törekedni kell az egyértelmű, egyszerű, közérthető stílusú programoházsra, nem tanácsos C-ben menősködve, arcoskodva programkódokat írni, mert ez súlyosan visszaüthet egy komaptibilitási probléma esetén, ha a hiba forrását kell megkeresni.

-A c fordítók gyakorlatilag mindegyike az adott architektúrához tartozó gépi kódra fordít, ez manapság x86 (i386, i686), x86-64 (64 bites x86), vagy esetleg ARM architektúrát (pl android) jelent a gyakorlatban. Vannak különleges esetek is, ezekkel most nem kívánok foglalkozni.

 

 

Hogy érdemes nekilátni?

-Töltsd le a CodeBlocks nevezetű szoftvert. Linux alá csak egy féle van, Windows alá pedig azt, amelyikben van egy mingw32 nevezetű compiler (ez a gcc windowsos portja). A visual studiot, és a többi compilert egyelőre felejtsd el. A legjobb, ha Linuxot használsz, de természetesen Windowson is ugyanúgy mennie kell.

-Nyiss egy új, üres projektet (console application), mentsd el valamilyen néven, a fájlod legyen main.cpp (ebbe kerül a forráskód, amit begépelsz).

-Bal oldalt, a fájlok listájában a main.cpp-re kattints jobb gombbal, és a properties, advenced fülben győződj meg arról, hogy a compiler varible mezőben CPP áll. Ha nem, akkor írd be egyszerűen ide azt, hogy CPP, ugyanis a c99 dialektusú forráskódokat csak cpp (tehát c++) módban lehet lefordítani.

 

 

Egy alap program:

#include <stdio.h>
#include <stdlib.h>

int main(){

   printf("helo anyu\n");
}

Ha minden jól megy, akkor ennek le kell fordulnia, ezt codeblocks alatt F9-el érhetjük el. Ez a g++.exe -nek átadja a main.cpp fájlunkat, lefordítja, és futtatja. létrejön belőle egy projektnévnek megfelelő exe állomány, amit megtalálunk a projektünk könyvtárában.

Nézzük meg, hogy mit látunk: az stdio.h az a c nyelvben egy alapból jelen lévő úgynevezett header fájl, ezt majd később elmagyarázom. Ilyen header fájlokból van még jónéhány, például math.h. Az include pedig egyszerűen a fájlunk adott pontjára másolja ezeknek a fájloknak a tartalmát. Saját készítésű fájlok tartalmát is be lehet másolni természetesen, de erre egyelőre nem lesz szűkség. A függvények deklarációja mindig a függvény típusával kezdődik, ez main esetén legyen int. A függvények tartalma pedig kapocs közé kerül: tehát az { és a } jel közé. Ami a kapcsos zárójelek közé kerül, az mindig kerüljön beljebb, ez formai okok miatt, az átláthatóság megőrzése szempontjából fontos. A függvények hívása során egyszerű zárójelet használunk, ami közé a függvény paraméterei jönnek. A parancsok után pontosvesszőt ; teszünk, ezzel adjuk a fordítóprogram tudtára, hogy innéttől már a következő dolog következik.

 

MEGJEGYZÉS: Nem minden itt leírt példaprogramot fordítottam le és próbáltam ki, mert siettem. Ha valami nem fordul, gondolkozz logikusan, és cselekedj értelemszerűen, célszerűen.

 

#include <stdio.h>
#include <stdlib.h>

int kutya=12;

int paraszt=30;

int main(){
   int cica=12;  
   printf("ennyi paraszt van: %d\n", paraszt);
   printf("ennyi kutya van: %d\n", kutya);
   printf("ennyi macska van: %d\n", cica);
}

Itt néhány változót deklaráltunk, és kiírtuk az értéküket. A mainon belül deklarált cica egy lokális változó, ami csak a mainon belül él, a mainon kívül deklarált pedig globális változó, ami a deklarástól kezdve minden függvényben él (és meg is tartja az értékét). A lokális váltoizók a függvényből való visszatérést követően elvesztik az értéküket. Ha nem adunk meg értéket a változónak, az értéke nem definiált. Lehet nulla, de lehet memóriaszemét is! A C semmit sem csinál meg feleslegesen, hisz mint már említettem, ez egy teljesítmény-orientált nyelv.

A deklarálás tehát a változó típusával kezdődik, aztán szóköz, a változó neve, majd esetleg egy egyenlőségjel, és egy érték. A végén itt is ; jel van.

Típusok lehetnek:

-int (egész szám, általában 32 bites), minusz kétmilliárd valahánytól plusz kétmilliárd valahányig.
-long (64 biten 64 bites, 32 biten 32 bites)
-long long (64 bites)
-float (32 bites lebegőpontos, kb 5 tizedesjegy műveletprecizitású)
-double (64 bites lebegőpontos, kb 8 tizedesjegy műveletprecizitású)
-char (8 bites)
-short (16 bites)

Ezek mind előjeles számok, viszont amelyiket az adott platformon nem lehet hardverből támogatva kezelni (pl short), az lasabb lesz, hisz extra gépi kódú műveleteket igényel.

-unsigned int (egész szám, általában 32 bites), 0-tól 4milliárd valahányig.
-unsigned long (64 biten 64 bites, 32 biten 32 bites)
-unsigned long long (64 bites)
-unsigned char (8 bites)
-unsigned short (16 bites)

Ezek az előjel nélküli változatok. A signed változat pedig megegyezik az előzőleg ismertetett típusokkal.

A műveletekben több típus is felhasználható együttesen, tehát nem muszáj alakítgatni őket más formátumokra.

 

 

 

 

 

#include <stdio.h>
#include <stdlib.h>

int kutya=-12;

float paraszt=29.1;

int main(){
   int cica=12;  
   cica=kutya*paraszt+cica;  
   printf("eredmeny: %d\n", cica);
}

Értelemszerűen. A C programnyelv igyekszik a matematikai műveleti sorrendhez idomulni, de ez nem mindig sikerül egyértelműen. Zárójeleket természetesen lehet használni, ha szűkséges.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int kutya=-12;

float paraszt=29.1;

int main(){
   float cica=12;  
   cica=kutya*paraszt+cica;  
   printf("eredmeny: %f\n", cica);
}

A printf függvény egy speciális függvény, hogy ez miért ilyen, azzal nem érdemes foglalkozni. Ha floating point számot akarunk kiíratni, akkor %f-et kell használni.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int valamitkiszamolunk(int elso_bemenet, int masodik_bemenet){

   int kutya=-12;
   float paraszt=29.1;
   kutya =paraszt*elso_bemenet;
   kutya=masodik_bemenet+kutya;
   return kutya;
}

int main(){
   float cica=valamitkiszamolunk(4545,52617);  
   printf("eredmeny: %f\n", cica);
}

A fenti példában a függvények deklarációja látható. Először itt is a típus jön, aztán a függvény neve. Ezt követően zárójelben a paraméterek típusa és neve (vesszővel elválasztva). Majd végül egy nyílt kapcsos zárójel következik, a függvény tartalmát követően pedig egy bezáró kapocs. A return jelentése egyértelmű, a függvényben többször, bárhol lehetséges a return kulcsszó használata. C nyelvben is lehetséges a rekurzió, értelemszerűen.

Költői kérdés: Miért hívják a függvényeket függvényeknek?

Angolul function kifejezést használják, ami sokkal kifejezőbb: itt nem matematikai függvényekről van szó, hanem lényegében hívogatható kódrészletekről.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=3;
   int b=6;
   if(a<b){
       printf("a kisebb\n");
   }
}

A feltételvizsgálat is hasonló konvenciót követ a zárójelezést tekintve.

 

 

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=3;
   int b=6;
   if(a<b) printf("a kisebb\n");
}

Itt azonban lehet egyszerűsíteni is, nem muszáj feleslegesen kapcsolszárójeleket használni, ha csak egyetlen műveletet szeretnénk végezni.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=3;
   int b=1;
   if(a<b){
       printf("a kisebb\n");
   }else{
       printf("nope\n");
   }
}

Az else ág abban az esetben fut le, ha a kifejezés hamis.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=1;
   if(a){
       printf("uhumn");
   }
   a=0;
   if(a){
       printf("muhumn");
   }
}

Ilyet is lehet, ekkor a kifejezés akkor lesz igaz, ha az a nem nulla.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=1;
   if(a==1){
       printf("uhumn");
   }
}

Az értékegyenlőséget egy kifejezésben mindig dupla egyenlőségjellel kell jelölni, a sima egyenlőségjel ugyanis értékadást jelent, még az if-ben is!

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=0;
   if(!a){
       printf("uhumn");
   }
}

A felkiáltójel negációt jelent.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=0;
   if(a!=1){
       printf("uhumn");
   }
}

Ha az a értéke nem 1, akkor lefut a kifejezés.

 

C-ben, csak úgy, mint más nyelveken, szintén vannak ciklusok.

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   for(int a=0;a<10;a++){
       printf("uhumn %d\n", a);
   }
}

A for ciklus kissé érdekes, pontosvesszővel választjuk el egymástól a három komponensét. Az elsőben található az inicializálás (tehát az csak egyszer fut le), a másodikban a feltételvizsgálat, a harmadikban pedig a lépésenként végrehajtandó művelet. Ezek helyén bármi állhat, akár ki is lehet hagyni őket (tehát for(;;;)).

 

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   for(int a=0;a<10;a++){
       if(a==5) break;
       printf("uhumn %d\n", a);
   }
}

A ciklus megtörése break segítségével, hasonlóan a többi programnyelvhez, itt is lehetséges. A végrehajtás a breaket elérve a ciklus végén folytatódik. Több egymásba ágyazott ciklus esetén mindig a legbelsőbb ciklusra vonatkozik a break.

 


 

#include <stdio.h>
#include <stdlib.h>

int main(){

   for(int a=0;a<10;a++){
       if(a==5) continue;
       printf("uhumn %d\n", a);
   }
}

Continue esetén a ciklus elejére ugrunk vissza.

 

 

Más jellegű ciklusok is vannak:

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=6;
   while(a>2){
       a--;
       printf("uhumn %d\n", a);
   }
}

A while funkciója hasonló a for ciklushoz. Hátultesztelős változata is létezik:

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=6;
   do{
       a--;
       printf("uhumn %d\n", a);
   }while(a>2);
}

A hátultesztelős változatát azonban nem használjuk, csak érdekességképp érdemes megnézni.

 

 

 

 

Az ASCII kódokkal könnyen tudunk bánni:

int main(){
   int a='x';
}

Így aztán nem kell kikeresni a kódját, elég a karaktert egy sima idézőjelbe írni, hogy megkapjuk az ASCII kódját. Ez szövegkezelés esetén válik különösen fontossá.

A fentebb már látott rejtélyes \n is egy ilyen ascii kódot reprezentál, az a soremelés ascii kódját jelenti.

 

 

 

 

 

Különleges műveletekre is lehetőség van a számokkal, nem csak a feljebb már látott szorzásra, összeadásra, kivonásra.

c=a%b;  osztási maradék
c=a<<b;  bit eltolás balra
c=a>>b;  bit eltolás jobbra
c=a^b;  bitenkénti kizáró vagy
c=a|b;  bitenkénti vagy
c=a&b;  bitenkénti és

Figyelembe kell venni azt, hogy nem minden platform little endian, a C ilyesmivel nem foglalkozik - mindig az adott platform natív számábrázolása alapján kell értelmezni a dolgokat.

Léteznek más különleges műveletek is:

a++;    az a értékét növeli egyel.
a--;     az a értékét csökkenti egyel.a*=b;   az a-t megszorozza b-vel
a+=b;   az a-hoz hozzáadja a b-t
(stb, a többi művelettel is működik)

 

 

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=6;
   int b=5;
   if((a>2)&&(b>2)){
       printf("hai\n");
   }
}

Feltételvizsgálatnál a && karakterekkel jelezhessük a logikai és műveletet.

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=6;
   int b=1;
   if((a>2)||(b>2)){
       printf("hai\n");
   }
}

A a || karakterekkel pedig a logikai vagy műveletet (altgr+w).

 

A tömbök működése elég egyszerű:

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a[10];
   a[3]=1;
   for(int i=0;i<10;i++){
       printf("%d\n", a[i]);
   }
}

A tömb deklarálásához kockás zárójeleket használunk [ ]. (altgr f és g). A tömbök indexe nullától kezdődik, és a példában az utolsó használható index a 9-es. A 4. értéket (ami a 3. index) 1-re állítom, a tömbben lévő többi szám értéke viszont bármi lehet. Valószínűleg nulla lesz, de ez egyáltalán nem biztos, és ez nagyon fontos.

 

A c-ben nincs szövegkezelés, hanem helyette karaktertömböket lehet használni.

 

#include <stdio.h>
#include <stdlib.h>

char macskosz[20]=" cica";

int main(){
   char a[30];
   strcpy(a, "neko");
   printf("%s\n", a);
   strcat(a, macskosz);
   printf("%s\n", a);
}

Az strcpy szöveget másol tömbökbe más tömbökből. Az idézőjelbe írt szövegek belsőleg szövegtömbökké alakulnak. Az strcat a szöveg végéhez fűz hozzá dolgokat. Nagyon fontos, hogy a C-ben nincs tömb-méret nyilvántartás, ha kifutsz a tömbből, fagyás következhet be.

A C onnan tudja, hogy meddig tart a szöveged, hogy a szöveg végén egy nulla értékű karakter van. Az strcpy, strcat, stb jellegű függvények az általuk összeállított szövegek végére mindig egy nulla kódú karaktert fűznek be. A szöveg hosszát a

long long hossz=strlen(valtozo);

segítségével deríthetjük ki. Fontos megjegyezni, hogy ezek a szövegkezelő függvények pusztán az egyszerűség kedvéért kerültek be, de NAGYON lassúak! Sebességkritikus helyeken tilos őket használni!

 

 

C-ben a változók valójában egyfajta memóriacímek, és a tömbök is egyfajta memóriacímeknek tekinthetők. Mivel a C féluton van az alacsony, és a magasszintű nyelvek között, ezért ezekkel speciális dolgokat is elvégezhetünk. Valójában az strcat, és az strcpy is ezt csinálja, azok is csak egyszerű, C-ben implementált függvények.

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int a=0;
   int *b=NULL;

   b=&a;
   a=3;
   printf("%d\n", b[0]);
   printf("%d\n", *b);
}

A változó deklarálásában a * jel azt jelenti, hogy pointerként (memóriamutatóként) szeretnénk használni az adott kifejezést, tehát az nem közvetlenül egy változó lesz. Aztán a b nevű pointernek értéket adva a pointer úgy viselkedik, mint egy tömb. Lényegében a tömbök is memóriamutatók, csak a kezdőcímüket nem lehet átállítani.

A b=&a; kifejezésben a &a az lényegében az a változó címét dereferrálja (tehát nem az a változó értékét, hanem az a változó címét adjuk át).

 

 

 

 


 

#include <stdio.h>
#include <stdlib.h>

int main(){

   int *b=(int*)malloc(100);
   free(b);
}

 

A malloc segítségével memóriát kérünk a rendszertől. A memória, amit megkaptunk, a b pointeren foglal helyet, tömbként használhatjuk. Amikor már nincs rá szűkség, a free segítségével felszabadíthatjuk.

Magától ezek a területek sosem szabadulnak fel, tehát ha nem szabadítod fel, és sok ilyet lefuttatsz, betellik előbb-utóbb a memória, és lefagy a programod. Ha felszabadítottunk egy memóriaterületet, akkor azzal visszaadjuk az operációs rendszer számára azt.

FONTOS: a kényes adatokat - pl jelszavakat - tartalmazó adatokat töröljük le az előtt, hogy visszaadjuk az operációs rendszernek.

FONTOS2: az operációs rendszer által adott adatok NEM ÜRESEK, HANEM TELE VANNAK MEMÓRIASZEMÉTTEL.

 

 

 

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(){
   FILE * macska=fopen("cica.txt", "wb");

   fputs("bajszos", macska);
   fclose(macska);
}

A fájlkezelés hasonlóan történik más nyelvekhez. A fopen második paramétere specifikálja, hogy írási "wb", vagy olvasási "rb" módban nyitjuk meg a fájlt. A b betű a bináris fájlok esetén fontos, amúgy érdemes elhagyni, mert egyes platformok ugyanis máshogy kezelik le például a sorvégeket. fputs mellett létezik még fgets (ami kiolvas a fájlból), fprintf (ami printfhez hasonló, viszont fájlba ír), fread és fwrite (ami a megadott méretben a nyers adatokat másolja ki a fájlokból, vagy írja be). Az fseek függvénnyel ,,tekerhetünk'' a megnyitott fájlban a megadott bit-re. fseek(File, 9, SEEK_SET); - ez a kliencedik bájthoz teker, ez pedig: fseek (File , 9 , SEEK_CUR); 9 bájttal tovább teker. a SEEK_END paraméter az utolsó bájthoz képest visszateker, pl az fseek (File , 0 , SEEK_END); a fájl végére, ahonnét aztán a long long meret=ftell(File) segítségével megmondhatjuk pl a fájl méretét.

 

 

 

 

Kommentek:

C-ben is lehet kommenteket elhelyezni a forráskódban:

a=b+c; // Ez egy komment

vagy:

/*
ezek itt

kommentek
*/

 

 

Egyéb érdekes, és hasznos függvények:

long long eredmeny=strcmp(szoveg1, szoveg2);    // Ha az eredmény 0, akkor a két szöveg megegyezik
char * hely=strstr(ebbenaszovegben, eztkeresem);    // Egy pointert ad, ha az adott szövegben megtalálja a szövegrészletet
long long rand(); // visszaad egy véletlen számot (inicializálni kell egyszer a srand(time(NULL))) függvény segítségével. FIGYELEM: nem biztoságos függvény, titkosításokhoz nem használható.
long long atoi(szoveg);  // számot csinál a szövegből, math.h-ban találjuk
float atof(szoveg); // lebegő pontos számot csinál a szövegből, math.h-ban találjuk
memcpy(cel, forras, meret); // a forrás memóriacímről (tömbről, pointerről, stb) a cel-ra másol méret méretben. Ezt a string.h fájlban találjuk.
float szam2=sqrtf(szam); // gyökvonás, ezt a math.h-ban találjuk
float szam2=sinf(szam); // szinusz (és egyéb szögfüggvények), a bemenet radiánban értendő


 

Amire figyelni kell:

A tagoltság. Használj tabulátort ahhoz, hogy a megfelelő kifejezések beljebb kezdődjenek.

-Minden lefoglalt memóriaterületet fel kell szabadítani, ha már nincs rá szűkség. Persze a program kilépésénél exit(0); ezek autómatikusan felszabadulnak, de amíg a programunk fut, addig a memóriában maradnak, amíg másképp nem döntünk. A c közvetlen memóriakezelése lehetővé teszi a gyors kódok írását, de fokozott körültekintést igényel.

-Fordításnál érdemes bekapcsolni az optimizációt (Optimise code even more -O3), és a stripet (-s). Az optimizálás bekapcsolása nélkül lassú lehet a program futása.

-Figyeljünk arra, hogy a megfelelő architektúrára fordítsunk (pl march=i586), máskülönben olyan opkódokat fordíthat bele a fordító, mint amilyen a te géped is támogat (pl SSE3), így aztán régebbi gépeken a szoftvered nem fog futni. 64 bit esetében értelemszerűen nem az i586, hanem a march=athlon64 használata a legcélszerűbb, mert az minden 64 bites x86-on futni fog.

-Ha gyors programot akarsz írni, akkor a lassú részeket érdemes threadolni (több szálra bontani, így több processzormagon gyorsabban fog futni a programod). Ez azonban platformonként más, windows alatt CreateThread, linux alatt pthread_create. A threadeket is meg kell semmisíteni, ha már nincs szűkségük rá, ugyanis a handlereik, ha nem szabadítjuk fel őket, előbb utóbb a program fagyásához vezetnek, miután feltorlódnak.

Remélem, hogy az itt leírt leírás hasznos útmutatást nyújt minden érdeklődő számára, persze sok dologra a cikk időhiányban nem térhetett ki (pl több dimenziós pointerek és tömbök (int ** cica), (int cica[10][10], definek, ifdef, különböző érdekes beépített függvények, stb) de a lényeg igazából annyi, amennyi itt le van írva.

 

A C programnyelv lényege tehát, hogy közelebb hozza a processzort a programozóhoz annélkül, hogy közvetlenül az adott utasításkészletre kellene dolgozni, megtartja a magas szintű nyelvek kényelmét, miközben direkt elérést biztosít a memóriához, élesen elválasztja egymástól magát a programozást, a programnyelvet, és az operációs rendszer általá biztosított API-kat, és lehetővé teszi olyan szoftverek írását, amik kifacsarnak minden egyes órajelnyi teljesítményt a processzorból, miközben a nyelv, és a benne írt szoftver is megőrzi az egyszerűségét, primitívségét, könnyedségét.

Miért baromság a napelem?

2015.09.04. 18:11 Gerilgfx

A napelem egy orbitálisan nagy baromság. Persze bizonyos esetekben egy hasznos kényszermegoldás: apokalipszis esetén, a világűrben egy műholdon, nyugdíjjal esetleg nem rendelkező, tv-t is alig néző nagyszüleid háza tetején, a világtól távoli tanyákon, pincében, szántóföldön, lakókocsi tetején, gyakori áramszünet esetén pl falvakban, vagy olyan helyeken, ahol az áramellátásnak minden körülmények között folyamatosnak kell maradnia.

Mostanában viszont gyakran olvasni írásokat az interneten arról, hogy fúj, csúnya paks, minek ide ez a csúnya, gonosz, terrorista ross(z)atom, amikor itt vannak a csodálatos, a civilizációt megmentő napenergia, itt vannak a szélerőművek, amiknek micsoda gyönyörű grafikonokat lehet rajzolni a hatékonyságukról. Persze ezek az embereket senki sem kényszeríti, hogy a csúnya, gonosz rosszatomot használják, szabadon felapplikálhatnának bármilyen alternatív energiaelőállító apparátust, például egy napelemet a tetőre, csak mégsem teszik. Ennek pedig az az oka, hogy lószart sem értenek hozzá, csak verik a nyálukat, hogy az atomenergia az rossz, a napelem pedig milyen fantasztikus, de mégsem építenek egyet a tetőre, ugyanis sem tudásuk, sem alapvető képességük nincs ahhoz, hogy megértsék már a legalapvetőbb technikai problémákat sem.

 

A napelem, az olcsó

Egy 50W-os napelemet már akár 10-20 ezer forintért is megvásárolhatunk a tetőre. Ezt persze a sok 40 éves aparatcsik jenőné-virág-hippi hibrid napelemnáci egy ultimate érvnek véli a napelemek mindenhatósága oltárán, mivel fogalma sincs, mit jelent az ,,50 watt'' kifejezés, valószínűleg a feszültség, az áramerősség, a teljesítmény fogalmakkal sincs tisztában. Hisz ha tisztában lenne, akkor építene magának otthonra egy napelemes rendszert, és rájönne, hogy baromság az, amit pofázik.

 

napelem1.jpg

 

Egy átlagos háztartás energiaigénye

Egy átlagos, négy tagú háztartásban van egy bojler, egy hűtő, egy mikró, 2 televízió, mondjuk 2 számítógép, néhány villanyizzó, néhány hordozható, tölthető eszköz (pl telefonok), egy mosógép, egy hajszárító, egy porszívó.

Egy hűtő 400w, egy mikró 2000w, egy tv az típustól függően mondjuk legyen 200w, a 2 db számítógép 2x150w, a villanyizzók összesen mondjuk 200w, a tölthető eszközök összesen 20w, a mosógép 3000w, a hajszárító 1500w, a porszívó 2000w, a bojler pedig 1000w. Aztán a legtöbb eszköznek ezen felül a fogyasztásán túlmenően egy 80%-os extra energiafelvétele is van bekapcsoláskor.

Persze ezek nem mennek folyamatosan egyszerre, de napjában többször aktiválódnak, vagy bekapcsoljuk némelyiket, esetleg többet egyszerre. Tehát egy átlagos háztartás körülbelül egy 2000w-nyi napelemmel üzemeltethető (azzal is kalkulálva, hogy felhősebb, téli napokon az a 2000w az valószínűleg inkább csak 500 lesz), tehát 40 db 50w-os napelemmel, aminek az ára 400-900ezer forint (középértéket figyelembe véve, mondjuk szállítással, miegymással együtt 600k). Persze ha valaki ért hozzá, és nem rest egy hétig keresgetni, akkor össze lehet hozni egy ekkora rendszert 200-300k körüli áron is...

 

A járulékos költségek

...csakhogy ezzel nem sokra mész töltésvezérlés, váltakozó áramú konvertálás, akkumulátorok nélkül, és ez az a pont, ahol az eddig hatékonynak, megfizethetőnek gondolt rendszer ára elszáll a csillagos egekbe.

Egy ekkora rendszer energiájának hatékony eltárolásához, és konnektorokba való visszaadásához szűkséges legalább 10 db autóakkumulátor, ami további 200ezer forintba kerül, és komolyabb igénybevétel esetén körülbelül évente-kétévente szinte teljesen megdöglik mind, évi extra 100ezer forintos karbantartási költséggel megdobva a dolgot, arról nem is beszélve, hogy milyen brutálisan környezetszennyező.

Ezzel nincs vége: szűkség van további eszközökre, ilyen például a töltésvezérlő, amelyből mondjuk kell 4 db, ha 2-es csoportokba szerveztük az akkumulátorokat. Egy 400w-os töltésvezérlő ára 70ezer forint. Ez az ár nekem orbitálisan nagy baromságnak tűnik, de ennyiért láttam a katalógusban. Biztos lehet 20ezerért is venni, de mondjuk aparatcsik jenőné, a napenergianáci úgyis a katalógusból lesz kénytelen megvenni ezt, hisz lófaszt sem ért hozzá, tehát ennek az ára mondjuk szintén egy 300ezer forinttal

A feszültségszabályozótól tekintsünk el, tegyük fel, hogy a nepelemek pontosan 12 voltot adnak le, amivel közvetlenül tölteni lehet az akkumulátorokat.

Kell továbbá egy készülék, aminek segítségével az akkumulátorokban eltárolt energiát váltóáramra lehet alakítani, és közvetlenül a konnektorokba kivezetni, fogyasztóeszközökre rákötni. Ezt az eszközt inverternek hívják. Kell belőle 2 db 2 kilowattos a fürdőszobába (mosógép, és hajszárító), kell belőle egy 2 kw-os a bojlerhez, illetve kell belőle még db 2 kw-os, amikről a többi helység izzóit, konnektorait el lehet látni. Ez összesen 4 db 2 kw-os inverter, amelynek ára darabonként 50-100k, összesen tehát 200-400k, számoljunk 300k-val.

 

Bizony, nagyon olcsó ám!

A folyamatosan felmerülő költségekről annyit, hogy az akkumulátorok pusztulásán túl még az inverterek, és a töltésvezérlők is hullanak, mint a legyek, 2-3 évnél tovább egyik sem szokta tovább húzni. A napelemek szintén évi 1%-ot veszítenek, tehát 30-40 évente érdemes újakat beszerezni.

Lássuk tehát a költségeket:

 

 

Az alapköltségek:

Napelemek: 600k
Aksik: 200k
Töltésvezérlés: 300k
Inverter: 300k

Alapköltség összesen: 1,4 millió forint

 

 

Eszközök pusztulása miatti költségek:

Napelemek 40 évente 600k, évente tehát 15k
Akkumulátorok 2 évente 200k, tehát évente 100k
Tötlésvezérlők 3 évente 300k, tehát évente 100kInverterek 3 évente 300k, tehát évente 100k

Költségek évente átlagban: 315ezer forint

 

Atomenergiát használva körülbelül évi 100 ezer forintból (havi 5-10 ezer forintos villanyszámla esetén) biztosítható ugyanez az áramfogyasztás. Az atomenergia több, mint háromszor hatékonyabb.

 

Napelemes mobiltöltők (kombinált power-bankok)

2015.09.01. 21:35 Gerilgfx


A napelemes mobiltöltők (továbbiakban: kombinált powerbankok) nem annyira szarok, mint amennyire a köztudatban él. Egy powerbankba (hagyományosan, usbt használva) valóban el tudunk tárolni annyi energiát, amennyiből fel tudjuk tölteni az usb-s mobilunkat, tabletünket egyszer-kétszer.

A power bankok - annak, aki nem tudná - olyan egyszerű, hordozható, könnyű eszközök, amelyeket főleg túrázók, gazdák, katonák, vadászok szoktak magukkal vinni, hogy fel tudják vele egyszer-kétszer tölteni a lemerült mobiltelefonjukat, elemüket, tabletüket, és hordozható eszközeiket. Általában 1 vagy 2 db, 1 vagy 2 amperes USB csatlakozó van rajtuk, amin keresztül képesek az áramot leadni, és amin keresztül fel lehet őket tölteni.

Pár ezer forintért meg lehet venni őket, de léteznek drágább modellek is, amik nem jobbak annyival, mint amennyivel drágábbak. Szokott rajtuk lenni napelem, és zseblámpa-funkció is. Az 1 amperes változatok USB csatlakozón 5 wattot (az USB 5 voltos, tehát P=u*i, vagyis 5*1), a 2 amperes változatok pedig 10 wattot képesek leadni, a kisebb modellek általában 1700mah kapacitásúak, a nagyobbak pedig akár 30ezer mahot is képesek eltárolni elméletben. Gyakorlatban a kisebb modellek olyan 1200 mah-osak, a nagyobbak pedig talán 2-3ezer, mindegy, hogy mit hazudott rá a gyártó.

De mivel nem értek az elektronikához olyan szinten, hogy itt bővebb technikai, és szakmai leírást nyújthassak ezekről, ezért elég is annyit tudni róla, hogy az olcsó, 2-3 ezer forintos modellek körülbelül egy Androidos mobiltelefon feltöltésére elegendő áramot képesek hordozni, míg a drágább modellekkel akár kétszer-háromszor is fel lehet tölteni egy mobilt, vagy egyszer-kétszer egy tabletet.


napelemes_mobiltolto2.jpg


Azonban nem árt néhány dolgot ezzel kapcsolatban tisztázni. Végre leteszteltem élesben egy általam birtokolt, bármiféle márkajelzést nélkülöző, feltűnően könnyű és pici modellt, bár megjegyzendő, hogy a márkás modellek jelentősen jobb mutatóval rendelkeznek ennél, alapvetően nincs különbség. A következő konklúziókat tudtam levonni:

-Több androidos mobiltelefonnal is kipróbáltam. Bár némelyiket lasabban, némelyiket gyorsabban töltötte, valóban alkalmas volt a feladata ellátására. A telefon akkumulátorának kapacitásától függően némely modelleket akár másfélszer, kétszer is fel lehet tölteni.

-Elég lassan tölt. A készüléket is elég lassú feltölteni, és a készülékeket is elég lassan tölti fel.

-A napelem kicsi, és gyenge. Egy órányi napelemes töltés jelent körülbelül egy százaléknyit a telefon feltöltésében. A rajta lévő napelem körülbelül 0,3 wattot tud leadni maximális napfényben. Létezik persze olyan modell, amelyen olyan napelem van, ami ennél többet, akár 0,5-0,6w-ot is képes leadni, de a napelem a méretéből fakadóan egy egész napos töltést követően is mindösszesen körülbelül 10%-25%-ra lesz képes feltölteni egy Androidos telefont. Vészhelyzet esetén tehát ez egy remek dolog, ugyanis így fel tudunk hívni valakit, mondjuk ha eltévedtünk az erdőben, és szerencsénk van, mert van mobilhálózat, vagy mondjuk egy természeti katasztrófa esetén, ha nincs más eszköz, akkor ennek révén valamennyi minimális áramot szerezni tudunk.

-Viszont tényleg maximum közvetlenül az életünk megmentésére használhatjuk, komolyabb túlélőszituációba ezzel belecsöppenni nem ajánlott. Semmiféle komolyabb eszközt nem tudunk üzemeltetni róluk. Mivel ezek mobiltöltők, így maximum 10-15w-ot (de inkább csak 5w-ot) tudnak leadni, nem lehet róluk üzemeltetni invertert sem. Így aztán a 220voltos eszközöket üzemeltetni, tölteni (pl netbook) nem lehet vele, és a nagy fogyasztókról (pl hűtőgép) már nem is álmodhatunk. Persze a méret erősen limitálja a felhasználhatóságot, de az eszköz súlyából és kialakításából fakadóan érdemes, és lehetséges lenne tudniuk legalább 30-40w-ot leadni, 220V-os csatlakozó használata mellett is.

-Vannak olyan változatok, amik napelem része kinyithatós, akár több irányba is, így sokszorozódhatna a napból felvehető energia mennyisége. Viszont azokban a modellekben igazán rossz hatásfokú napelemeket használnak, ezért azok hatásfoka alig jobb, mint a kisebb napelemmel rendelkező eszközök hatásfoka.

-Opció lehet nagyobb, 6-7w-os, kicsi, hordozható napelemeket csatlakoztatni hozzájuk, és azokat magunkal cipelni. Esetleg nagyobb napelemeket is lehet használni, csak nem érdemes, mert egyszerűen nem tudnak annyi energiát tárolni, és annyi áramot leadni és felvenni, hogy ezeket a 6w-nál nagyobb napelemeket effektíven használni lehessen hozzájuk, ami egy hatalmas hibája az egész koncepciónak.

-Érdemes lehet akár több darabot vinni, mondjuk 5-6 darabot. Súlyuk effektíve nincs, a táskára akasztva kényelmesen elférnek, majd töltéskor - már ha olyan a modell - akár össze is lehet őket csatlakoztatni, és az egész napos túra során összegyűjtött energiát együtt leadva már komolyabb töltési képességekre tehetünk szert.

-Nem tartják meg örökké az eltárolt áramot: havonta kb 40%-ot veszítenek a töltöttségükből. Érdemes tehát 1-2 nappal azelőtt feltölteni, hogy szűkség lehet rá.

-Tengerpartra, nyaralni, kapálni sem érdemes kivinni önmagában.

Összességében tehát a koncepció legnagyobb rákfenéje a gyenge napelem, a 220V-os csatlakozó hiánya, és a maximum 5-10w-os kimenet.

süti beállítások módosítása