hg2ecz blogja

Programozási nyelvek futásteljesítménye - aritmetikai feladathoz

 ( hg2ecz | 2019. április 22., hétfő - 9:56 )

Kíváncsiságból megnéztem néhány programozási nyelvet, hogy alap aritmetikai célra milyen futásteljesítményt nyújtanak Linuxon (Ubuntu 19.04). Csak olyan nyelveket próbáltam ki, amelyek univerzálisak, nem kizárólag aritmetikai problémák megoldására alkalmasak, továbbá nem igényelnek erőteljesebb futtatókörnyezet telepítést, esetleg már alapból benne vannak a Linux telepítésekben

Az algoritmus igen egyszerű (toval parancssorból átadott érték):

for i in 0..toval {
   for j in 0..toval {
      sumval += i+(j^1);
   }
}

Odroid-N2

 ( hg2ecz | 2019. április 18., csütörtök - 7:31 )

Lassan eljutunk az ARM alapú mini-desktopok lehetőségéig. Az Odroid ismét kiadott egy lapkát N2 néven.

Technikum ...

 ( hg2ecz | 2019. április 17., szerda - 14:09 )

Annó egy jónevű technikumban volt szerencsém tanulni. Ott megtanították elsőben a vastömbből való kalapácsreszeléstől az esztergapadon, marógépen, CNC forgácsológépeken való munkadarab elkészítést, majd másodiktól fokozatosan az áramkörök csínját-bínját, az áramkörök méréstechnikáját és hibabehatárolását. Tényleg rengeteg, mai napig jól hasznosítható dolgot. Az ott végzettek közül más-más pályán folytattuk, lett közülünk középiskolai fizika tanár is. Az ott végzettek egyike sem munkanélküli.

Orosz László vitaestje egy teológussal

 ( hg2ecz | 2019. április 14., vasárnap - 15:02 )

Sokunk tanult Orosz Lászlónál a BME-n kvantummechanikát, az órán időnként kifejtette ezirányú nézeteit is.
Az alábbi videóban egy teológussal tartanak vitaestet: https://index.indavideo.hu/video/Letezik-e_Isten

[javítva] Intel SSD D3-S4510 es D3-S4610 Series SSD-k megallnak 1700 ora utan

 ( hg2ecz | 2019. március 29., péntek - 0:28 )

1 hónapja volt egy ilyen blogbejegyzés. A hiba minket is érintett, gariztatás is volt miatta.

Az új SSD XCV10100 firmware helyett XCV10110 verzióval érkezett, de volt még egy működőm a régi szériából. Utánanéztem, letölthető-e a frissítés.
IGEN! Sőt az Intel a honlapjáról letölthető, Debian alól futtatható (ubuntus) szoftverrel könnyítette meg az életemet (~# isdct load -intelssd sorszám).
Most már a régi SSD túlélő tagja is uj firmware-t kapott, a probléma ezzel állítólag elhárult.

Milyen messze megy el a 2,4 GHz?

 ( hg2ecz | 2019. február 23., szombat - 20:30 )

Rádióamatőr területen az új adásirányú távolságrekord 2,4 GHz-es frekvencián 36 ezer km.

https://www.youtube.com/watch?v=I_4LG9fIcLU

Az új játékszer a néhány napja a végleges geostacionárius pályájára állított és bekapcsolt Es'hail 2 rádióamatőr lineáris transzpondere. Jó kihívás, mert adót kell építeni 2,4 GHz-re, vevőt pedig 10,5 GHz-re.

pypy3 .. végre

 ( hg2ecz | 2019. február 12., kedd - 21:01 )

Sokaknak jó hír, akik Python-t használnak, hogy a nyárig kijövő új Debian és Ubuntu
disztribúciókban már a Python3 szintaktikát ismerő pypy3 is elérhető lesz.

root@debian-buster-beta:~# apt install pypy3
...
Letöltés:1 http://ftp.hu.debian.org/debian buster/main amd64 pypy3-lib amd64 6.0.0+dfsg-2 [2.331 kB]
Letöltés:2 http://ftp.hu.debian.org/debian buster/main amd64 pypy3 amd64 6.0.0+dfsg-2 [8.859 kB]

Ubuntu-19.04alpha:~# apt install pypy3
...
Letöltés:1 http://hu.archive.ubuntu.com/ubuntu disco/universe amd64 pypy3-lib amd64 7.0.0+dfsg-2 [2.331 kB]

STM32 mint 100 kHz alatti oszcilloszkóp

 ( hg2ecz | 2018. december 31., hétfő - 15:44 )

Egy pár hetes blogbejegyzésem hozzászólásai során kedvet kaptam 1,6 dolláros oszcilloszkóphoz. Ali-ról rendeltem STM32F103 alapú lapkát + USB-TTL kábelt és ma elkezdtem játszani vele Linux alatt.

Az első próbaverzió szimplán DC csatolású, de eltoltam a DC szintjét 3 ellenállás segítségével, hogy negatív feszültséget is mérjen. Egyúttal egy másik csatornát is előkészítettem újabb 3 ellenállással, mert 2 A/D-je is van és a saját szoftveremben mindkettőt fel akarom később használni.

STEMlab 122.88-16 SDR

 ( hg2ecz | 2018. december 12., szerda - 14:10 )

Sajnos idén már nem kerül a karácsonyfa alá (valamikor most fog megjelenni), pedig nagyon jó kütyünek ígérkezik.
Kíváncsi leszek rá, mikor jelenik meg és mennyiért.

Amit tud:
122.88 Msps tempóval 16 bites felbontással 2 csatornán digitalizálni a rádiófrekvenciát.
Végre kis fáziszajú oszcillátor került az A/D-hoz.

125 Msps tempóval 14 biten előállítani a rádiófrekvenciát, szintén 2 csatornán

Rust - cross compile

 ( hg2ecz | 2018. augusztus 20., hétfő - 20:34 )

$ rustc -O teszt.rs  # adott vasra fordít (esetemben x86_64)
$ cargo build --release # adott vasra fordít (esetemben x86_64)

$ rustc --print target-list     # milyen targetekre képes fordítani ?

$ sudo apt install gcc-arm-linux-gnueabihf
$ rustup target add armv7-unknown-linux-gnueabihf

Programozást tanulóknak gyakorlófeladatok

 ( hg2ecz | 2018. július 24., kedd - 17:42 )

Jó gyakorlófeladatok találhatók az alábbi linkeken:

https://www.codewars.com/ - simán, weben keresztül bedobhatod
https://exercism.io/ - le kell tölteni az oldalról az "exercism" progit, és azzal lekapni a feladatot, kidolgozva feltolni.

Sokféle programozási nyelven találsz itt apró feladatokat.
Egyúttal ha valaki ismer még hasonló gyakorlófeladat oldalakat, várom a hozzászólásban.

Kerekítési hibák: C és Rust

 ( hg2ecz | 2018. május 22., kedd - 7:53 )

Belefutottam ismét egy érdekességbe. Kerekítési hibábát találtam egy C-ben írt jelfeldolgozó szoftverben. A kerekítési hiba leegyszerűsítve az alábbi példát lefordítva, lefuttatva látható:

Rust kalandok

 ( hg2ecz | 2018. április 25., szerda - 23:10 )

Az első komolyabb furcsaságba beleszaladtam imént. Debugoltam egy sort miatta, mert az Odroid-C2 -n szépen futó szoftver Rpi-n lefordítva hülyeséget csinált. Itt egy egyszerűsített példa: mit ír ki?

fn main() {
    let x: f64 = -100.;
    println!("f64: {}", x);
    println!("isize: {}", x as isize);
    println!("usize: {}", x as usize);
    println!("isize usize {}", x as isize as usize);
}

Rust & memória allokáció

 ( hg2ecz | 2018. március 29., csütörtök - 14:06 )

Igen praktikus a Rust vektora, hatékony módon allokálja a memóriát. Amikor véget ér a változó élettartama, akkor felszabadul. Viszont ha nem ér véget a változó élettartama, azonban mégis gondolsz a memóriatakarékosságra és ezért visszavágod a vektor hosszát, akkor ettől még nem engedi el magától a memóriát, hanem külön kell shrink-elni.

Mikrotik és IPv6 támogatása

 ( hg2ecz | 2018. március 24., szombat - 12:37 )

Régóta morgolódok, hogy a Mikrotik IPv6 támogatása gyenge például az OpenWRT-hez képest. Ismét belefutottam egy problémába:

/ping ipv6.google.com count=3  
invalid value for argument address:
    invalid value of mac-address, mac address required
    invalid value for argument ipv6-address
    failure: dns name exists, but no appropriate record

Odroid C2 - mint pppoe + NAT eszköz

 ( hg2ecz | 2018. március 16., péntek - 22:11 )

Egy érdekes kísérletre számtam rá magam. Kíváncsi voltam, hogy az Odroid-c2 mit tud kezdeni
--> pppoe + NAT
lekezelésével.

Nehezítés: egyetlen gigaethernet interfésze van.
Ezért a felállás a következő:
eth0: LAN
eth0.999: WAN ... Ez utóbbit az eredeti Mikrotik routerrel fordítottam untagged WLAN-ná a WAN-hoz

ARM Cortex A15 cluster

 ( hg2ecz | 2018. február 13., kedd - 0:06 )

Ha egy jobb paraméterű ARM clusterrel szeretnél kísérletezni, csak le kell emelni a bolt polcáról.


http://www.hardkernel.com/main/products/prdt_info.php?g_code=G150152508314

Ezt is megéltük.

Sebességteszt: 4096 pontos FFT

 ( hg2ecz | 2017. január 4., szerda - 3:49 )

Kíváncsiságom miatt leprogramoztam a 4096 pontos FFT-t tisztán az adott nyelveken és 1000-szer futtatva a lefordított C-hez képesti futási időarányok láthatóak alább x86 és ARM Cortex A53 architektúrákra.

Intel i5-3337u, Ubuntu-16.04 (64 bit):
--> Java: 1,5-szörös idő a C-hez képest (JRE: build 1.8.0_111-8u111-b14-2ubuntu0.16.10.2-b14). Kiváló a JIT-je x86-on.
--> C# mono-val 5,6-szoros idő (Debian 4.2.1.102+dfsg2-7ubuntu4)

Becsapós WiFi eszközök

 ( hg2ecz | 2015. augusztus 3., hétfő - 22:58 )

Frissítem a technikai tudástáram, nézem az IEEE 802.11ac-s eszközöket.
Hurrá,
2,4 GHz-en 300 Mbps --> bár én 150-nél többet 3 méterről egyikből sem tudtam kiszedni, pedig több utóbbi években kiadott laptoppal is próbáltam.
5 GHz-en 433 Mbps (IEEE 802.11ac)

Például:
http://www.tp-link.com/en/products/details/cat-9_Archer-C20.html#specifications
https://www.asus.com/hu/Networking/RTAC51U/specifications/

Oké, hogy dobálózunk a sokszáz Mbps tempóra képes WiFi-vel, de mindehhez az ethernetes betáp 100 Mbps.

ARM <--> Intel sebességek

 ( hg2ecz | 2015. július 27., hétfő - 13:46 )

Mivel az Interneten nem nagyon található összehasonlítás, egyik fórumtéma hatására nekiálltam és az összes, a hétvégén kezem ügyébe eső érdekes vasat vizsgáztattam. Oprendszer: 15.04-es Ubuntu és SBC-k némelyikén Debian 8.1.

A vizsgálathoz készítettem egy pszeudorandom állományt.
cd /dev/shm; dd if=/dev/urandom of=teszt bs=1M count=100

Az alábbi grafikonokon a 100/másodperc értékeket jelenítettem meg, azaz a MB/másodperces feldolgozási sebességet.

Látható kék színnel a magtempó és pirossal a parallel elérhető össztempó.

IPv6 - tunnellel megvalósítva (Linuxot futtató számítógéppel)

 ( hg2ecz | 2013. január 1., kedd - 16:05 )

A 2012. karácsonyi IPv6-fórumtéma ( http://hup.hu/node/120634 ) motivált arra, hogy nyissak itthon is az IPv6 kísérletek felé. Sajnos a Digi kábel felénk nem ad natív IPv6 elérést, így megoldottam tunnellel.

Ha valaki kedvet érez hozzá, segítségképp leírom, hogyan induljon el.