rulu ruru

post bzr+ssh group rw a umask

June 2nd, 2010

Filed under: linux — starenka @ 17:16
Tags: , , , , ,

Znáte ten pocit bezmoci, když nějakou věc rešíte už po třetí a pokaždý vás stojí 20 bodů IQ, máte pogrepovanej celej Gugl, zmateně a kuse se to snažíte natlačit do hlavy všem, který ještě maji náladu vás poslouchat a pořád nemůžete přijít na to, “jak jsem to sakra minule udělal”? Já jo. 

Pro mě už klasická situace. Máte server, na kterej x uživatelů s primarní grupou (řekněme vcs) pushuje repozitáře. Aby se zabránilo tomu, aby nově vytvořený branche a upravený soubory byly -w pro zmíněnou grupu, je třeba nastavit umask 0002. To je logický. Jenže kámen úrazu je v tom, že nastavení umasku v /etc/profile nepomáhá. Ano, pro někoho je to zřejmý, protože binárka bzr nespouští žádnej shell. Ááááchjo. Řešení je opravdu jednoduchý. Stačí vytvořit wrapper, kterej pustí umask a pak zavolá bazaar s parametrama, který na wrapper přišly. Čili něco jako:

starenka@xxx:~$ cat /usr/local/bin/bzr
#!/usr/bin/env bash
umask 0002
/usr/bin/bzr "$@"
 

PS. chtěl bych poděkovat ntz, za to, že mě trpělivě naved’ až ke slovu wrapper a já si vzpomněl, jak už jsem to dvakrát předtím řešil :)

post Google search results oldskul style

May 8th, 2010

Filed under: other, zeitgeist — starenka @ 12:03
Tags: , , , , ,

Jestli patříte mezi lidi, kterým redesign stránky s výsledkama na Google nesedí, je tu celkem jednoduchý řešení. Pokud váš prohlížeč podporuje vlastní CSS pro konkretní stránku, neni nic jednodušího než si “vrátit výsledky pěkně hned doleva, ty vole”. V Opeře stačí pravým tlačítkem na stránce -> Edit site preferences -> Display -> My stylesheet a v dialogu na výběr souboru vybrat vlastní CSS. Nějak jsem to dlouho netestoval, ale zdá se, že dva řádky úplně stačí.

#center_col { margin-left: 0 !important; }
#leftnav { right: 5px; }

Výsledek vypadá nějak takhle:

UPDATE: někde jsem viděl, že “starý hledání” funguje, pokud se za url dohodi &hl=all takže stačí jen upravit string, který se posílá z prohlížeče na Google (např. http://www.google.com/search?client=opera&rls=en&q=starenka+penis+size+vs+hulan+penis+size&sourceid=opera&ie=utf-8&oe=utf-8&hl=all. Nebo taky můžete použít bystroushaakuv GreaseMonkey skript.

post Python, php a ruby lint precommit hook pro Bazaar

March 6th, 2010

Filed under: programming — starenka @ 18:47
Tags: , , , , , ,

Jsou situace, kdy prostě někdě neco ujede, někde se něco připlete a ne vždy to člověk v IDE bere na vědomí. Provádění syntax checku před komitem mi přijde jako docela dobrej nápad. Unit test a TDD křídla, který mi určitě rádi poví, že tohle už by mělo součástí testů atd. blatytyblaa prosím, aby mě nechali žít v bludu, že testy někdy prostě třeba nejsou. Hooky pro Bazaar se píšou fakt krásně, takže ho spíchnout je docela zábava. Hooky jsou normální pluginy, takže patří do ~/.bazaar/plugins. Komentovat těch pár řádek netřeba. V případě PHP a Ruby, kde se používá CLI, binárka a grep bude asi trošku skřípot na Windows, ale imho nebude problém to pořešit jinak (jsem línej a navíc mě to netíží). Bastlení zdar.

post Vetešnictví (bzrlist)

February 27th, 2010

Filed under: python — starenka @ 22:55
Tags: , , ,

Používáte Bazaar? Máte někde na serveru “repozitáře” a potřebujete občas rychle zjistit název projektu, jeji branch/push/merge url a shlédnout rychle log? Nechcete kvuli tomu rozjíždět nějakou megalomanskou věcičku ala Loggerhead, která navíc zobrazuje zdrojáky a tudíž musí být pod heslem? (Aby bylo jasno, Loggerhead je skvělá věc, ale pro vypsaní branchů a jejich url je to overkill). Pak jste tu…… správně. Postačí vám CGI a pár řádek v Pythonu. Nikdy jsem neměl (mimo jiných) grafický nadání, takže jestli vás to hodně mlátí do očí, poslužte si.

post ASE, Python a Androidí aplikace

December 5th, 2009

Filed under: python — starenka @ 22:41
Tags: , ,

Když jsem si cca před tejdnem pořídil další hračičku (G1 s Androidem), nenapadlo mě, že si v tom půjde hrát s Pythonem. A ono jde. A ještě s třeba s Perlem a Ruby atd. Díky ASE je možný víceméně přistupovat k API Androidu pomocí skriptovacích jazyků. Nevím jestli to není v dokumentaci, nebo jsem přihlouplej, ale docela mě vytáčí, že to spousu věcí zatim neumí (pro začátek bych se spokojil třeba jen s odklepávací zprávou). V samotným ase se skripty daji přímo psát, nebo hodit do editoru z barcodu, nicméně doporučuju je psát na počítači a do telefonu je jen pushnout přes adb. Než tedy zjistím, jak se s tím daji dělat i užitečnější věci, doufám, že nepohrdnete jednoduchým skriptem, kterej “toustuje” (”ukazuje krátký informační okýnka”) jídla z jídelníčku u Rozvařilů. Všem kromě mě zcela určitě k ničemu, nicméně jako demonstrace možností nebo inspirace snad postačí.

# -*- coding: utf-8 -*-

import android,re,urllib2
from datetime import datetime
droid = android.Android()

def get_page(url):
    try:
        d = urllib2.urlopen(url)
        return d.read()
    except urllib2.HTTPError, e: pass
    except urllib2.URLError, e: pass
    return False

data = get_page(‘http://www.rozvarilovi.cz/stranka/jidelni-listek’)
if data != False:
    data = data.replace(\r\n,)
    match = re.search(r‘<div align="left">(.*?)</div>’,data)
    droid.vibrate(500)
    for l in match.groups(1)[0].decode(‘cp1250′).split(\n):
         if l != : droid.makeToast(l)
else: droid.makeToast(‘Failed to reach site…’)
droid.exit()
 

QR kód hír a regulérní zdroj ouvr hír. A proč v nadpisu androidí aplikace? Chtěl jsem pár zajímavejch vypíchnout. Tak snad příště. 

« Previous PageNext Page »
ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress