Blogbejegyzések

Nem restart-ol az Apache-om

Naná, miért is restart-olna. Egyébként, ha jól értem, az USR1 szignáltól kellene meg-graceful-nia.
Az első érdekesség, amit látni vélek, hogy egy 'zend_signal_init' nevű komponens is rászívózik a SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGTRAP, SIGABRT, SIGEMT, SIGFPE, SIGKILL(?), SIGBUS-ra. Meg másokra (255-ig). Persze lehet, hogy csak a PHP saját futása idejére.

Szerk:nem akarom az Oracle11-et gyanusítani, de ismét találtam néhány komponenst, amiket szerintem nem kellene exportálnia


$ dump -Tv -X64 libphp.so.7
[287]   0x00000000    undef      IMP     RW EXTref /opt/lib64/libclntsh.so.11 guesses
[373]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 ldexp
[374]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 logb
[375]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 sigsetjmp
[376]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 siglongjmp
[377]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 acos
[378]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 asin
[379]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 atan
[380]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 atan2
[381]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 copysign
[382]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 cos
[383]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 cosh
[384]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 exp
[385]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 log
[386]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 log10
[387]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 sin
[388]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 sinh
[389]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 tan
[390]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 tanh
[391]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 unordered
[392]   0x00000000    undef      IMP     DS EXTref /opt/lib64/libclntsh.so.11 expm1

Viselkedés 2.

Kapcsolódva a korábbi bejegyzésem témájához szeretnék lejegyezni pár további gondolatot.

A választással kapcsolatos szavazás alatt is tetten érhető a jelenség amiről korábban írtam és amiről most is írok.

Sokaknak nehezükre esik elfogadni a másik eltérő véleményét, nézetét vagy felfogását. Ezt magam is megtapasztaltam amikor a spirituálitással kapcsolatos szavazást elindítottam 2 éve, de a múlt heti blogbejegyzésem alatt is.

Engem zavar, hogy mennyire könnyen eljutnak az emberek az értelmes vitától az egymás lehordásáig. Szeretek értelmes vitákat olvasni és nagyon zavaró számomra, amikor láthatóan értelmes emberek erre a szintre süllyednek. A HUP indulásakor még minden tag azon volt, hogy segítse egymást.

(Új) Mesterségem címere... :)

Végeztem az impro schoolban mint zenei producer.
Egy ötletnek indult pár évvel ezelőtt, hogy jó lenne zenét tanulni, mert az milyen jó (lehet). Akkor tájt még azt sem tudtam hogy álljak neki a témának.. Milyen OS az ajánlott? (még szép, hogy linuxon próbáltam először :D) Kell e valamilyen midi vezérlő? Vagy egyáltalán mi az?
Milyen DAW-ot használjak? Egyáltalán mi az a DAW?

Szóval volt kérdés bőven! Aztán az ötletből meglett életem első midi vezérlője amit pár ezres + egy csokiért vetem. Vettem még 5k-ért egy low latency audio interfacet és azt gondoltam ha már ennyit rááldoztam, enyém a világ! Mi lett ez után? Semmi. :D
Jöttek a gondok, kezdtem érezni (bár akkor még nem volt tudatos) hogy egy elég mélyre vezető erdei ösvényre tévedtem.. Itt egyre mélyebbre haladva gyúlt reménysugárként kb egy éve az impro school zenei producer képzésének előkészítője. Ezt a képzést talán fél áron sikerült megvenni akciósan. (Volt akkor valami early bird akciójuk.) Gondoltam annyit megér, és hátha segít eligazodni.
A képzés kb 1 hónapos volt, és most biztos annak a szövegnek kellene jönnie hogy mekkora hatást gyakorolt rám és bla, bla, bla... Nem.
Számomra picit ijesztő volt ez az új világ. :( Egyszerűen más volt és az emberek is mások voltak mint amit én IT fejjel megszoktam. Persze azért nem volt haszontalan a képzés, és végül elérte a célját. Mert elindult bennem a hangya, hogy kellene folytatni. Vagyis az előkészítő után tovább mentem és folytattam a Zenei Producer képzéssel.

Esti rant

Szeretem a Linux filozófiáját: csak akkor szól, ha gond van.
Rühellem a Gnome-ét, mert akkor sem.

Most konkrétan elfelejtett szólni, hogy a mobilnethez rossz pint adtam meg. Vidám szombat esti móka: hova a faszba írtam fel a pukot? (Szerencsére meglett.)

Készítettem egy házautomatizálást

10 éve még php-s weboldalakat készítettem, majd megadatott a lehetőség hogy az ipari szoftverek területén szerezzek tapasztalatot, köszönet érte mindenkinek, aki ezzel sanyargatott, avagy épp támogatott, több és okosabb lettem. Egyszer hoztak nekem egy PLC-t, hogy házautomatizálást kéne készíteni mobilos eléréssel. Visszadobtam, hogy PLC-hez nem értek, meg nem is akarok, de vannak helyette ipari eszközök, szabványos kommunikációval, és rámutattam az épp kódolt gépre, hogy abból/olyanból végülis lehetne csinálni. Ez volt 2.5 éve. A szoftver első verziója akkor elkészült működik is, de történet folytatódott. Találkozott tehát a linux a php-vel (ami az ember gép kapcsolat) és a monoval (C#, ami a logika és a perifériaelérés), majd elkészült...

MikroTik hAP ac²

Megérkezett :) Az első pozitív meglepetés: 256 MB RAM van benne, pedig mindenhol, a specifikációban, a reklámanyagban, és a blokk diagramon is csak 128 MB-ot említenek. A Flash sajnos továbbra is csak 16 MB.

Ez az első ARM architektúrájú MikroTik eszközöm, remélem ezzel is elégedett leszek. Felupgrade-elem majd hétvégén a legújabb 6.42 rc firmware-re, mert sok wireless javítás van az ARM eszközökhöz, illetve ehhez a típushoz, aztán csinálok vele pár tesztet.

VGA csere

6 év után megadta a régi VGA-m magát. Egy Asus GTX 560 1GB kártyáról van szó, Max Payne 3-at adtak hozzá és 3 év garancia volt rá (ipon). Nem vagyok (már) hardcore játékos, de azért néha szeretek játszogatni és erre ez tökéletes volt. Szerintem elég jól megszolgálta az árát.

Elég érdekes módon romlott el. Egyik nap, a windows 10 nagyon alacsony felbontásban jelent csak meg. Az egér helyett pedig egy fehér rácsos négyzet jelent meg és ezt húzta maga után amikor mozgattam az egeret. A win sem reagált normálisan. A kattintást is csak kb 2 percenként 1x érzékelte.

Fedora 28

Ma gondoltam egyet, s upgrade-eltem a számítógépeimen az operációs rendszereket Fedora 27-ről Fedora 28-ra. Igaz, még a béta változat sem jött ki, de ez engem nem szokott zavarni. Néhány függőségi problémát kellett manuálisan feloldanom, utána sikeresen lefutott a frissítés.

Ilyenkor ki szoktam kapcsolni a SELinux-ot, a grub.cfg-ben a kernel paraméterek közé felveszem a selinux=0 értéket. Korábban volt ebből ciklikus reboot, így jobb a békesség. A függőségek feloldását részint a csomag törlésével intéztem, mert nem is kell az már, vagy például Fedora 27-ben lévő audit-libs-python csomagot Fedora 28-ban már audit-libs-python2 csomagnak neveznek. Ezt úgy oldottam meg, hogy letöröltem úgy, hogy ne foglalkozzon a függőségekkel:

rpm -e --nodeps audit-libs-python

Ezt követően már működött a

dnf system-upgrade download --releasever=28

parancs. Utána

dnf system-upgrade reboot

Az audit-libs-python2 csomagot már nem is kellett feltennem, függőségként feltelepítette a dnf. Ezek után lehet frissíteni már Fedora 28-ban, illetve bekapcsolni a SELinux-ot. Működik, épp online rádiót hallgatok róla. :)

Kód ellenőrzés AI-jal

Kutatást végzek arról, hogyan tudnám tovább növelni a fejlesztő kényelmét és hatékonyságát a támogató platformommal. Mivel 1 éve foglalkozok neurális hálózatokkal, úgy döntöttem hogy megpróbálom jósoltatni a hibákat és regressziót keresni egy mesterséges intelligencia betanításával. (Ugye az AI egyik részhalmaza a Machine learning, és annak egy részhalmaza a neurális háló, és ezen belül is hatalmas a terület (deep learning, LSTM, attention stb). Nos, ez utóbbira hivatkozok csak röviden mint AI).

Egyelőre Livescript-el (LS) kísérletezek. Ugye ez Javascript-re (JS) fordul. Megnéztem hogy van-e a fordítójának olyan kapcsolója, amely bytecode-ot vagy egyéb más strip-elt struktúrát tud kidobni. Éppen van:


npm install livescript

lsc --help

...
  -l, --lex       print the tokens the lexer produces
  -t, --tokens    print the tokens the rewriter produces
  -a, --ast       print the syntax tree the parser produces

Task nevű példaprogramom kódját konvertálom AI-jal megetethető formába (csak simán a script tag-ek közti részt kimásolom fájlba és beadom lsc-nek, és azt konvertálom tovább). Lássuk a 3 különböző struktúrát (csak részletet mutatok, ebből már látszik megfelelően):

Java: Né már, megette! Avagy integrálta.

Újabban már Java-irányban is kiváncsizom, persze nem a normális esetek, hanem a problémás hibakeresések irányába (vegyes jegyzetek)

2018-11-23 09:36
Unalmamban elkezdtem összegyűjteni, hogy hány külső komponens kell ahhoz, hogy a jax-ws működjön Java10-zel. Szerk: aztán feladtam. Mindenesetre az jó hír, hogy egyes jax-ws implementációknak az is túl megterhelő, hogy az xml-fejrészbe odategyék hogy encoding='UTF-8'. Mondjuk igaz, ezzel megspórolunk vagy 17 bájtot.
És akkor még van ez a szemrehányás, ami miatt szégyellem ugyan magam, de nem egészen tudnám, hogyan tudnám jóvátenni a vétkemet:


WARNING: Using deprecated META-INF/services mechanism
with non-standard property:
javax.xml.soap.MetaFactory.
Property javax.xml.soap.SAAJMetaFactory should be used instead.

Velem van a baj?

Az elmúlt egy hónap termése. Érdekelne a véleményetek, hogy én vagyok a türelmetlen és reagálom túl a dolgokat, vagy tényleg egy csomó köcsög él körülöttem, aki csak azért sem hajlandó elismerni, ha téved?

1.) Reggelről bringával tartottam munkába, amikor az út bal oldaláról (irányjelzővel) elindult egy autó. Én persze megijedtem, satufék.
Ez a szituáció - mármint az, hogy sokszor nem adják meg az elsőbbséget - sajnos annyira gyakori, hogy különösebben már ki sem hoz a sodromból, ezért mellőztem az ordibálást és a bemutogatást, csak egy felfelé fordított tenyérrel felemelt karral jeleztem, hogy ezt talán nem így kellett volna.
Na, a tagnak több sem kellett, az út közepén irányjelző nélkül megállt, lehúzta az ablakot és úgy kiabált a mellette ülő kislányán keresztül kifelé. Megálltam mellette.
- Mi bajod van? - kérdezte lendületből tegezve, köszönés nélkül.
- Nem adtad meg az elsőbbséget.
- Nem látsz? Csak az út közepéig húzódtam be, mehettél volna.
És szerinted én gondolatolvasó vagyok, hogy kitaláljam, hogy láttál és csak az út közepéig jössz, vagy be fogsz nyomni az árokba? - gondoltam, de megkérdezni már nem tudtam, mert máris támadásba lendült:
- Különben is hol van a kötelező felszerelésed?
Itt nyilván a világításra célzott, ami teljes világosság lévén valóban nem volt a kerékpáromon. A hidegre való tekintettel éjszaka a házban tartom, így mivel működtetni egyébként sem állt szándékomban, csak zsebre raktam induláskor.
- A zsebemben.
- Akkor szereld fel!
Ezzel rálépett a gázra és elhajtott. Biztos elégedett volt magával, hogy milyen ügyesen kioktatott.

Hogyan szopassunk saját magunkat :) mdadm + adatmentés, etc

Hah.

Hogyan szopassuk magunkat.

Alap szitu felvázolva pár pontban.

- adott volt 1 darab régi PC, amiben egy IDE winyóról üzemelt egy linux (tehát elég régi PC)
- adott volt mellette kettő darab SATA disk, mdadm-al raid1ben.
- erre adatokat mentettek (samba megosztáson át)
- elvileg ez csak ilyen "temp" megoldás volt, tehát erről nem igazán kellett backup, bár ez nem is lesz fontos a következőkben.

Problem:

- sokszor ledöglik az U: meghajtó .. jah ezen a néven volt csatolva a raid1-es tömb samba megosztással
- kellene menteni

Oké. Megpróbálták ők is, de random kifagy az egész gép másolás közben. Az mdadm szerint az egyik winyó már rég kiesett a raid1-ből. Sebaj.

Kód futattás wildcard certtel -> mycode.domain.com

Régebb óta vártam Letsencrypt wildcard támogatását. Kösz ToMpEr-nek a bejelentést és Endruu-nak a segítséget a beállításához.

Webfejlesztést támogató megoldásom tudja azt, hogy ha olyan néven hozol létre kódot amilyen domain-ről hivatkozol rá és beteszed a ?domain? parancsot bárhová, akkor lefuttatja azt. GET paraméterekkel is lefut a kód, így könnyen átadható adat a webapp számára. Például:

https://hello.frontfoo.com

forráskód | doksi | features

Gyorsan lehet így adhoc megoldásokat deploy-olni: weboldal, webapp vagy épp csak egy sima dokumentáció.

Lausiv Oiduts Ec

Vmi új szerencsétlenkedés miatt ezt kell most használni egy projekten.

Kínzó élmények:
- telepítéskor érdekesen reagál ha nincs C meghajtó
- letölt vagy 20 gigát - nem kell ennyi haha - ebből 17 giga csak a C-n lehet vmelyik intézeti folderban
- frissíteni csak úgy tud/szeret ha kilépek - ekkor elkezdi _letölteni_a_bizbaszait_
- update = restart computer
- az object browserben eddig nem sikerült csak és kizárólag egyetlen dllben böngészni - vannak ilyen minden fajta egyedi nézetek,de hogy ezt miért kéne kézzel csesztetni nem vágom
- ez a sötét skin UI tervezésnél elég szar

Biztos lesz még több is.

Ami viszont tetszik, - és az talán nem is az editorral függ össze az a xaml. Végre nem kell bitmapekkel szerencsétlenkedni, mehetnek bele a görbék, akár rétegenként színezve.

Viselkedés

Az egyik népszerű apróhirdetéses oldalon érdeklődtem egy HW iránt.

A hirdetés szövegében szerepelt, hogy "bontatlan" és "új" ill. hogy az illető tartaléknak vette, de szerencsére nem kellett neki. A garanciáról konkrétan semmi info.

Az én értelmezésemben az "új" szó nem elég info a garanciával kapcsolatban, mivel tartalékról van szó, tehát simán lehet, hogy 4 éve vette és azóta bontatlanul a polcon van. A garancia pedig a vásárlástól számít, nem a kibontástól. Ezt a HW-t amúgy már nem nagyon árulják boltban sem, mert kifutott, szóval az sem egyértelmű, hogy mit jelent itt az "új". Ő vette meg az utolsó darabot két hete és ezért van még rá 3 év garancia? Ha így lenne, miért nem írta bele a hirdetésbe? Ha nem így van, akkor mitől új? Attól, hogy bontatlan? Szerintem attól nem új valami, hogy bontatlan. Szóval elég homályos volt.