log69 blogja

Firefox / oldalon keresés kis- nagybetű érzéketlenséggel

 ( log69 | 2014. december 5., péntek - 15:40 )

about:config

accessibility.typeaheadfind.casesensitive -> 0

F20 / Xfce + Compiz

 ( log69 | 2014. október 12., vasárnap - 23:40 )

Ehhez a bejegyzéshez.

yum install compiz-xfce compiz-plugins-main compiz-plugins-extra emerald-themes* ccsm

Beállítások - Menü / Settings / CompizConfig Settings Manager:
- Scale windows / Initiate Window Picker -> TopLeft + Overlay Icon -> None
- Snapping Windows
- Zoom Desktop

Beállítások - Menü / Settings / Emerald Theme Manager
- Themes Settings / Themes / Mac4Lin_Emerald_Aqua_v1.0
- Emerald Settings / Titlebar Double-Click Action -> Maximize/Restore

Server stat (Linux)

 ( log69 | 2014. szeptember 2., kedd - 10:02 )

Van sok szerver terhelést monitorozó cucc, nekem viszont egy nagyon egyszerű kimenettel rendelkezőre volt szükségem.

Nyílt forráskódúvá tettem a fejlesztésem. Sima szerver oldali ruby script. Lehetőség van szétválasztani a LAN és WAN interface-t, hogy külön grafikonban mutassa.

Ubuntun és Fedora (CentOS) vonalon tesztelve.

https://github.com/log69/stat

Ruby / Rational class

 ( log69 | 2014. augusztus 31., vasárnap - 21:46 )

Lebegőpontossal dolgozni sokszor szívás, mivel nem ábrázolható mindig a decimális véges bináris formában.

$ python
>>> 0.3 - 0.1
0.19999999999999998

Ruby-ban is, de van más lehetőség is:

$ irb
> 0.3 - 0.1
=> 0.19999999999999998
> "0.3".to_r - "0.1".to_r
=> (1/5)
> ("0.3".to_r - "0.1".to_r).to_f
=> 0.2

Mondjuk 20x lassabb is :)

> Benchmark.realtime{ 1000000.times{ 0.3 - 0.1 } }
=> 0.10152744
> Benchmark.realtime{ 1000000.times{ "0.3".to_r - "0.1".to_r } }
=> 2.040160752

http://ruby-doc.org/core/Rational.html

Firefox / form kitöltő lista értékek sorrendje nem megfelelő

 ( log69 | 2014. augusztus 30., szombat - 14:16 )

Előzmény itt.

Lényeg hogy van egy olyan cuccom, amiben sűrűn töltök ki form-ot. És nem tudom elérni azt, hogy a leggyakrabban használt értékek kerüljenek a leugró lista tetejére, mikor belekattintok a textbox-ba. Függetlenül attól, hogy mit neveznénk leggyakrabban látogatottnak (idő vagy számláló alapján).

Ugyanis vagy olyan érték, amelyet ha 20-szor használok egymás után, akkor sem kerül a lista tetejére soha. Szerintem ez nem megfelelő működés.

SL weboldal megújult

 ( log69 | 2014. augusztus 26., kedd - 22:55 )

FF 31 / browser.tabs.closeButtons removed

 ( log69 | 2014. augusztus 1., péntek - 12:48 )

http://kb.mozillazine.org/Browser.tabs.closeButtons

Ezt vajon miért? Mindig 1-es értékkel használtam, hogy csak ott legyen X a tab bezárásához, amit éppen nézek, mert egyébként sokszor félre klikkeltem és véletlen bezártam pici tab-okat amikor sok volt nyitva.

Kiegészítőt ajánlanak helyette, de azt nem fogok feltenni.

F20 / HDMI hang megy

 ( log69 | 2014. július 11., péntek - 13:41 )

Régebb óta nem ment az asztali gépemen a hang HDMI kábelen keresztül a TV-re kötve. Most figyeltem fel rá, hogy egy friss Fedora 20 x64 alól már rendben megy (Gnome 3 felület). Emlékeim szerint még Ubuntu 12 alól sem ment. 14-et nem próbáltam.

Másnak milyen tapasztalatai vannak? Szokott rendben menni a HDMI hang és csak nekem van kicsit különleges hardverem?

F20 / Sandbox még mindig törött

 ( log69 | 2014. július 4., péntek - 20:19 )

Újabb szálon folyik a bug vadászat:

https://bugzilla.redhat.com/show_bug.cgi?id=1103622

Még mindig "yum downgrade libcap-ng" a megoldás sajnos.

Automatikus top lista algoritmus #2

 ( log69 | 2014. június 15., vasárnap - 12:02 )

Előzmény itt.

Használom ezt a megoldásmat, és arra jutottam, hogy még jobb, ha kibővítem egy olyam limittel, hogy a linkeket csak addig íratom ki, amíg a delta idő értékek egy maximum alatt vannak.

Ugye van egy listám a megnézett linkekkel. Ezekhez csak a megtekintés időpontját tárolom, és ezen időket sorba rendezve képezek egy olyan listát, ahol az idők különbségét nézem az aktuális időhöz képest. Vagyis azt, hogy mostanhoz képest mennyi másodperccel régebben volt megtekintve egy link.

Ruby string műveletek

 ( log69 | 2014. június 13., péntek - 20:50 )

"hello world"[-4..-1]
=> "orld"

"hello world"[3, 6]
=> "lo wor"

"hello world"[/w.*/]
=> "world"

Előbbi egy range, a második 6 karaktert ad vissza a 3-tól kezdve, az utolsó pedig regexp.

Debian 6 LTS info

 ( log69 | 2014. május 19., hétfő - 9:20 )

F20 / Sandbox broken

 ( log69 | 2014. május 15., csütörtök - 11:06 )

Fedora 20-on egy frissítés után eltörik a sandbox parancs.
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1091761

Megoldás:
yum downgrade libcap-ng

FF / form kitöltő / leggyakrabban használt ill. legújabb érték

 ( log69 | 2014. május 7., szerda - 12:45 )

Célom, hogy a form kitöltő a legújabban elküldött értékeket hozza fel a listában a leggyakrabban használtak helyett. Azért, mert felhasználási szokásomat nézve ez előbbi a gyakoribb érték, amelyet be kell gépelnem. Lehet másnál is így van?

XFCE-hez task switcher: skippy-xd

 ( log69 | 2014. március 14., péntek - 18:44 )

Exposé jellegű full képernyős program választó X-hez relative kevés függőséggel. Gyors apró C program.

http://code.google.com/p/skippy-xd/
https://github.com/richardgv/skippy-xd

Fedora 20-on az alábbi függőségek kellettek:
giflib-devel
libpng-devel
libjpeg-devel
libXft-devel
libXinerama-devel
libXcomposite-devel
libXdamage-devel

Az Arch Linux-os AUR-on ott vannak a pontos függőségek:
https://aur.archlinux.org/packages/skippy-xd/

Fedora csomag sajnos nincs.

[code]
cd ~/bin

git clone https://github.com/richardgv/skippy-xd

cd skippy*

make

Automatikus top lista algoritmus

 ( log69 | 2014. március 2., vasárnap - 21:25 )

Szükségem van az alábbira:

Adottak felhasználók által meglátogatott linkek. Ebből van "n" darab. Tárolom hogy melyik linket mikor látogatták meg utoljára.

Egy oldalon megjelenítem a leggyakrabban használt linkeket ezek közül. Viszont nem egy hosszú top listát akarok nyomtatni az utolsó látogatás ideje alapján, hanem automatikusan röviden akarom tartani ezt a listát. Végül az alábbi algoritmust terveztem meg:

SELinux sandbox + keyboard layout

 ( log69 | 2014. február 14., péntek - 8:45 )

Sandbox-ban futtatott app-oknál nem működik alapból az Altgr billentyű funkció. Tehát magyar kiosztással nem lehet például @ vagy & jelet írni. Ez régóta így van, kezdve régebbi Fedoráktól vagy SL / CentOS 6-tól is. Példa:

su -c "yum install policycoreutils-sandbox"
sandbox -t sandbox_web_t -X -- firefox

Fedora 20 jegyzetek

 ( log69 | 2014. február 9., vasárnap - 10:34 )

[-] Mysql nem indul, mert nincs jog alapból a log mappára. Megoldás:

chown -R mysql:mysql /var/log/mariadb

[-] GNU Screen mindig felülírja automatikusan path és user infóval az ablak címeket.

Megoldás ebben a szálban

[+] Átméretezhető a sandbox ablak!

sandbox -t sandbox_net_t -X -- firefox

XFCE / Run or Raise

 ( log69 | 2014. február 9., vasárnap - 9:54 )

Vissza álltam XFCE-re. Gyors, szép, sokat tud.

Egyetlen dolog hiányzik nekem, amelyet már pont le akartam programozni, de találtam kész megoldást. Azt szeretném, hogy ha egy program ikonjára klikkelek, akkor a már futó program ablakát hozza előtérbe és kapja meg a fókuszt. Ha nem fut, akkor pedig indítsa el. Mint a Unity-nél is az ikon klikk.

Alább találtam megoldást:

http://vickychijwani.github.io/2012/04/15/blazing-fast-application-switching-in-linux/

Linux / terminate process tree

 ( log69 | 2014. február 7., péntek - 11:38 )

Csoport azonosítóval (groupid, gid) lehet leállítani folyamatot és alfolyamatait, viszont nem biztos hogy a leállítandó folyamatunk a legmagasabb szülő, és így a csoport kilövésével nem kívántakat is leállíthatunk.

Arra kerestem megoldást, hogy egy folyamatot úgy állítsak le, hogy csak erre és az összes gyermek folyamatára vonatkozzon.

Megoldás itt:
http://stackoverflow.com/questions/392022/best-way-to-kill-all-child-processes/15139734#15139734

Vagyis:

kill -- -$( ps opgid= $PID | tr -d ' ' )

Ruby uuid

 ( log69 | 2014. január 26., vasárnap - 15:32 )

SecureRandom.uuid helyett saját formátumú uuid kellett, pl. csak szám, és az epoch time legyen az eleje, hogy sorba rendezve látszódjon, hogy melyik lett előbb létrehozva.

[code]
# generate uuid with only numbers based on time and random numbers
# it is made sure that the time part ends with zero
# so no chance for a step back in time because of the random part
# result is minimum 20 char long (17 time and 3 random)
def get_uuid_number(len = 20)
len = 20 if len < 20
t = Time.now.to_f.to_s.gsub(".","")[0..16]

Ruby

 ( log69 | 2014. január 26., vasárnap - 14:56 )

Ruby 2.1-en teszteltem az alábbiakat.

http://www.sitepoint.com/guide-ruby-collections-iv-tips-tricks/

Véletlen adatokat tartalmazó tömbnél pl. az alábbi helyett:

(1..20).map{rand(100)}

ez gyorsabb:

Array.new(20){rand(100)}

[42] pry(main)> Benchmark.realtime{ 100000.times{ a = (1..20).map{rand(100)} }}
=> 0.802904685
[43] pry(main)> Benchmark.realtime{ 100000.times{ a = (1..20).map{rand(100)} }}
=> 0.807004722
[44] pry(main)> Benchmark.realtime{ 100000.times{ a = Array.new(20){rand(100)} }}
=> 0.698779995

Ruby 2.1

 ( log69 | 2013. december 29., vasárnap - 16:01 )

Pár napja megjelent:
https://www.ruby-lang.org/en/news/2013/12/25/ruby-2-1-0-is-released/

Új verzió számozási séma: a MINOR érték minden karácsonykor nő 1-el ;)

Változások:
https://raw.github.com/ruby/ruby/v2_1_0/NEWS

Forrásból fordítom minden platformon. Jelenleg ruby-prof szerint közel 20 %-al gyorsabb nálam az új 2.1.0 mint 1.9.3p484 (gép, rendszer és környezet ugyanaz).

BtrFS tapasztalatok

 ( log69 | 2013. december 25., szerda - 1:31 )

Hosszabb használat után ma összedőlt (Ubuntu 13.04 x64). Fsck sem tudta megjavítani.

Tudni kell hogy a hiba sok működés közbeni kikapcsolás után jött elő (fagy a gép naponta többször és csak a hideg reset segít). Adat ment vissza backup-ból.

RHEL 7 review

 ( log69 | 2013. december 22., vasárnap - 22:54 )

http://www.youtube.com/watch?v=kRCGbF4GQJA

Érdekes módon a 3.8.4-es Gnome Shell-t szállítja. Én is azt hittem hogy egy sokkal korábbi verzió lesz. Ez így nagyon vonzó. A kernel 3.10-es. Várom SL verziót.