abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 15:44 | Nová verze

    Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 2
    včera 13:00 | Nová verze

    Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.

    Ladislav Hagara | Komentářů: 2
    včera 12:44 | Pozvánky

    V Praze o víkendu proběhla bastlířská událost roku - výstava Maker Fair v Praze. I strahovští bastlíři nelenili a bastly ostatních prozkoumali. Přijďte si proto i vy na Virtuální Bastlírnu popovídat, co Vás nejvíce zaujalo a jaké projekty jste si přinesli! Samozřejmě, nejen českou bastlířskou scénou je člověk živ - takže co se stalo ve světě a o čem mohou strahováci něco říct? Smutnou zprávou může být to, že provozovatel Sigfoxu jde do

    … více »
    bkralik | Komentářů: 0
    včera 12:33 | Humor

    Kam asi vede IllllIllIIl.llIlI.lI? Zkracovač URL llIlI.lI.

    Ladislav Hagara | Komentářů: 1
    13.5. 22:00 | IT novinky

    Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.

    Ladislav Hagara | Komentářů: 0
    13.5. 15:44 | Zajímavý článek

    Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.

    Ladislav Hagara | Komentářů: 0
    13.5. 14:22 | IT novinky

    Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.

    Ladislav Hagara | Komentářů: 20
    13.5. 13:00 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU

    … více »
    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (73%)
     (5%)
     (11%)
     (11%)
    Celkem 255 hlasů
     Komentářů: 16, poslední včera 11:05
    Rozcestník

    Céčko na Marsu; Gedit word completion

    12.7.2008 12:54 | Přečteno: 1267× | Ani zbla | poslední úprava: 12.7.2008 13:31

    Malinkatý dvojitý zápisek. Neobsahuje prudce inteligentní postřehy. Obsahuje jednořádkový patch.

    Mars

    Tak zaprvé jsem si moc hezky početl a poposlouchal rozhovor s šéfem softwaru od sondy Phoenix (toho času bagrujícího v polárních oblastech Marsu). Zajímavé je to celé, zvláště pro lidi od embedded systémů a mission-critical věcí. Zaujalo mě, že se v JPL odklonili od Ady k Céčku ("it is not so scary").

    Gedit

    Mám rád Gedit. Je elegantní, napsal jsem v něm už spoustu věcí. Teď dělám nějaké experimenty v Pythonu, na to se Eclipse a podobní mastodonti moc nehodí. Plugin pro Python funguje docela dobře, ale nutnost zakládat projekt a workspace mě odrazuje

    .

    Ono totiž doplňování kódu je v dynamických jazycích obecně neřešitelné. Definice tříd nejsou dány staticky, ale mohou být měněny za běhu. A protože dělám hoch experimenty, na nějaké doplňování kódu (které tak krásně funguje v Javě) jsem rezignoval.

    Jenže opisovat dlouhé identifikátory pořád dokola trochu pruda je. Rozhodl jsem se tedy, že zkusím nějaký plugin (ano, Gedit umí pluginy), který bude doplňovat slova, bez porozumění jazyka.

    Příslušný plugin jsem našel zde, respektive zde. Stačí nakopírovat do ~/.gnome2/gedit/plugins, povolit v nastavení a už to jede. Nejlepší je, že plugin je napsaný v Pythonu a je docela jednoduchý - lze ho tedy opravit k obrazu svému způsobem, o kterém se nějakému potrhlému konfiguráku ani nezdá. Čehož jsem hned využil: v originální verzi se slovo pro doplnění potvrzuje tabelátorem, já jsem si povolil ještě enter. Vizte patch:

    --- completion.py-orig  2008-07-12 12:41:16.000000000 +0200
    +++ completion.py       2008-07-10 11:20:26.000000000 +0200
    @@ -243,7 +243,7 @@
                 return self._terminate_completion()
             if event.state & gtk.gdk.MOD1_MASK:
                 return self._terminate_completion()
    -        if (event.keyval == gtk.keysyms.Tab) and self._remains:
    +        if (event.keyval in (gtk.keysyms.Tab, gtk.keysyms.Return)) and self._remains:
                 return not self._complete_current()
             completion_window = self._completion_windows[window]
             if (event.keyval == gtk.keysyms.Up) and self._remains:
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    12.7.2008 16:09 KaiSVK | blog: kaiov_blog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Jeeeej super, diky moc, ten plugin som hladal, nasiel som trosku iny, ale tento je o 100% lepsi :) Dik este raz.

    Kaio
    Changing mental contexts from one task to another wastes a lot of time. /Aaron Griffin/
    12.7.2008 16:15 KaiSVK | blog: kaiov_blog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Este som chcel, v Kate je v highlighting aj zvyraznovanie "Cisco configu". Je nieco take aj pre Gedit? ja som nenasiel
    Changing mental contexts from one task to another wastes a lot of time. /Aaron Griffin/
    alblaho avatar 12.7.2008 17:36 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Tak to já nevím, síťařině takového typu se vyhýbám.

    Btw, líbí se mi Kate z KDE4. Až bude KDE4 trochu uležené (za rok?), tak bych se tomu nebránil.
    13.7.2008 12:14 KaiSVK | blog: kaiov_blog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    s tym KDE4/Kate velky suhlas...
    Changing mental contexts from one task to another wastes a lot of time. /Aaron Griffin/
    12.7.2008 20:16 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Mne spíš zaujala úplně poslední věta: We don't allow dynamic memory allocation, for example. S takovou se skoro obejdou bez ukazatelů :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    12.7.2008 21:07 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Ono JPL historicy používalo všelijaké technologie, třeba sondu Deep Space 1 řídil jeden den experimentálně plně autonomní systém s umělou inteligencí psaný v Lispu (který si nechali na míru upravit od tehdejšího Harlequinu, dneska LispWorks), ale pak se přehnala ta COTS vlna, začaly se srážet náklady a výsledek je ten, že dnešní sondy NASA s dostatečně dimenzovanými palubními počítači jedou na VxWorks a palubní software dálkových sond je psaný veskrze v Cčku. Ještě jedna věc je v důsledku těchhle věcí v JPL populární: Tcl. Jako skriptovací jazyk ho cpou snad všude, kde můžou, i do aplikací v Javě, aby se daly rozumně navrhovat ;-), a i do těch vesmírných sond, protože se jeho implementace vejde do několika kilobajtů, takže je takřka blbuvzdorná. Akorát na tu druhou věc jsem měl někde zajímavý odkaz a teď ho nemůžu nají. ;-/
    alblaho avatar 13.7.2008 16:02 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    No VxWorks používají snad všechny nasácké mise na Mars. Prostě se jim to osvědčilo.

    Ale stejně bych raději psal palubní soft v Adě. I když jistá příhoda s Ariane ukázala, že samospasitelné to tedy není. Je hezké mít všelijak omezené typy, ale je potřeba si setsakramentsky rozmyslet, jak ty hranice nastavit.
    12.7.2008 22:13 slush | skóre: 9 | blog: slushuv_koutek
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    > na to se Eclipse a podobní mastodonti moc nehodí.

    No tak to prrr... Mozna pises tak prasacky a necitelne (ano, mluvim o divokych dynamickych pretypovanich objektu, napriklad), ze je z tebe code completition hotovej, ale az budes psat neco vetsiho, budu ti pri debugovani a trasovani v geditu drzet palce.

    Pydev v eclipse je uplne super, a zrovna code completition je ta posledni vec, kterou bych zminil.
    alblaho avatar 13.7.2008 00:09 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Prasácky, to znamená že v Pythonu nepíšu Javu ale Python?-) Mít ActiveRecord který vytvoří atributy dynamicky podle záznamu z databáze je prasácké? Udělat nějakou AOP transformaci je taky prasárna? Mít objekt - transparentní proxy je taky prasárna?

    Možná :-) Ale Python mám rád, protože v něm jdou jednoduše a elegantně věci, které jsou ve statických jazycích dost přes ruku. Ale všechno něco stojí.

    Ale s tím mastodontem jsem to myslel jinak. Já dělám experimenty, převážně s PyPy, zkouším různé přepínače atd. Pydev bych použil, kdybych soustavně dělal na něčem větším a konvenčním, ráno bych to otevřel a večer zavřel.
    13.7.2008 12:52 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Mít objekt - transparentní proxy je taky prasárna?
    Naprosto. V Javě je to jeden z oblíbených způsobů, jak implementovat AOP, a s klidem bych řekl, že ten nejhorší. Nevím teda, jak v Pythonu, ale v Javě se té transparence pořádně dosáhnout nedá, takže this není this a vůbec samé pěkné věci.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    alblaho avatar 13.7.2008 15:57 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    To byl jen nastřelený příklad, kdy relativně rozumný kód vykolejí každý kompletátor kódu.

    No hele, AOP je samo o sobě "prasárna", nebo minimálně dvojsečná zbraň. Nějakou transformací změníš tisíc míst a pokud ten weaving děláš v Javě nad bajtkódem, tak se nikdy nemůžeš pořádně podívat, co to vlastně udělalo.

    Transparentní proxy asi nikdy nebude na 100% transparentní. V dynamických jazycích se to občas použije, protože je to implementace na pár řádek a díky duck typing si ostatní objekty ničeho nevšimnou. Hádám že statická typová kontrola to komplikuje a proto to v Javě nebude žádná slast.
    13.7.2008 16:42 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    AOP a prasárna? Třeba CLOS s tím, pokud je mi známo, nikdy neměl problémy. ;-) A co teprve COP. :-)
    13.7.2008 22:51 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Problémy s AOP, tedy alespoň v Javě, jsou čistě implementační. Nikdo nezaručí, že transformace proběhne správně a na všech místech, protože veškeré javovské AOP je více nebo méně hack. I když to asi funguje, když si člověk dává pozor. Systémové řešení je podpora AOP na úrovni virtuálního stroje, jak to navrhli u Bey, ale kde je tomu konec…

    Jinak prasárna to určitě není, spíš velmi výhodný přístup ve spojitosti s OOP (aspoň tak, jak ho chápe dnešní mainstream, aby mne tu někdo neumlátil CLOSem, že), ke kterému je v podstatě ortogonální.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    13.7.2008 23:19 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Nemám důvod mlátit nikoho CLOSem. ;-) Původní návrh CLOSu nic podobného neobsahoval, a není to ani součástí oficiální ANSI normy. Aspektové programování vlastně vzniklo jako specializace MOPu - což je rozšiřující API, které umožňuje přeprogramovat chování takřka celého CLOSu (třeba pořadí hledání metod v nadtřídách, to je jedna z těch pro programátoršké smrtelníky srozumitelnějších věcí). Ostatně AOP vymyslel Gregor Kiczales, který toho s Lispem, CLOSem a MOPem má hodně společného. (AOP pak není vlasně víc, než jedna konkrétní aplikace MOPu, který dneska podporují snad všechny implementace Common Lispu, tedy tam je to v podstatě "na úrovni virtuálního stroje" - no, tady spíš "na úrovni modelu jazyka". :-))
    13.7.2008 23:30 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Jo, něco podobného jsem čekal, když jsem mluvil o umlácení CLOSem :-) Nechápu, jak to ti Lispaři dělají. Teda chápu, tak nějak vzdáleně… ale asi nikdy se nad tou neuvěřitelnou přizpůsobivostí a jednoduchostí nepřestanu podivovat. A taky to pěkně ničí moje už tak ubohé programátorské sebevědomí :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    14.7.2008 18:42 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    """Mít objekt - transparentní proxy je taky prasárna?"""

    "Naprosto. V Javě je to jeden z oblíbených způsobů, jak implementovat AOP, a s klidem bych řekl, že ten nejhorší."

    Uvědomuje si ten nebohý javista rozdíl mezi Javou a Pythonem? Například ten propastný rozdíl mnezi statickým a dynamickým typováním? A také důsledky a obrovské odlišnosti z toho vyplývající?

    Dokáží javisté někdy skutečně pochopit, že jiné jazyky vypadají jinak, než Java, mají jiné vlastnosti, a z toho vyplývá často i jiný přístup pro vývojáře?
    14.7.2008 22:04 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Vytrháváte z kontextu, ale neskutečně. Vím velmi dobře, že Python má prostředky, jak elegantně a systémově dosíci téhož, čeho se v Javě dosahuje různými hacky, mezi které patří používání zástupných objektů. Co vede Pythonisty k tomu, aby se k nim taky snižovali, to vskutku netuším. Každopádně mi jistě dokážete objasnit, jak dynamický typový systém pomůže vyřešit problém, do kterého se dostanu, když na zástupném objektu zavolám metodu, která zavolá další metodu na this a ta není "obalena" tou proxy mrchou?

    A mimochodem, dokáží někdy zapšklí C++kaři pochopit, že nemají patent na rozum a že Javisté nejsou untermensch?
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    alblaho avatar 15.7.2008 00:45 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Láďo, abych se přiznal, tak si nejsem jistý, o čem mluvíš. Předpokládejme tento kód:
    class Math(object):
           def cosmos_constant(self):
                    return 1
    
           def pow(self, x):
                    return x*x*self.cosmos_constant()
    
    class Proxy(object):
           def __init__(self, target):
                    self.target = target
           def __getattr__(self, name):
                    print 'logging this call...'
                    return getattr(self.target, name)
    
    m = Math()
    print m.pow(4)
    p = Proxy(m)
    print p.pow(5)
    
    A ty bys chtěl, aby se zalogovalo volání té kosmologické konstanty z pow()?
    15.7.2008 08:58 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Přesně to bych chtěl :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    alblaho avatar 15.7.2008 11:47 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    A nechtěl bys toho trochu moc?-) Tohle je prostě vlastnost proxyobjeku a co si ten zastupovaný objekt dělá uvnitř, do toho mu nikdo nekecá.

    Proxy je z tohoto pohledu nedokonalá náhražka AOP, potřebuješ pořádný weaving.
    15.7.2008 12:05 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    To není vlastnost, to je riziko :-) Metoda cosmos_constant() se chová odlišně v závislosti na tom, kdo ji volá, což je v tomhle případě vcelku na dvě věci. Představ si, že bys tou proxy chtěl změnit vesmír (nastavit kosmologickou konstantu na 2). Proto jsem psal, že to je prasárna :-)

    Na druhou stranu, v některých případech takový zástupný objekt může dobře postačit (třeba takové hrubé trasování, jako ve tvojí ukázce), to uznávám.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    15.7.2008 13:39 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Představ si, že bys tou proxy chtěl změnit vesmír (nastavit kosmologickou konstantu na 2).
    Něco na tenhle způsob? :-D
    kyo@valinor:~> ghci
    GHCi, version 6.8.2: http://www.haskell.org/ghc/  :? for help
    Loading package base ... linking ... done.
    Prelude> let 2 + 2 = 5 in 2 + 2
    5
    Prelude>
    15.7.2008 15:20 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Metoda cosmos_constant() se chová odlišně v závislosti na tom, kdo ji volá, což je v tomhle případě vcelku na dvě věci.
    Nechová se odlišně ta metoda, vždyť jsou to dvě různé metody, ne?
    15.7.2008 15:58 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    No a? Pod slovem transparentní si celou dobu představuju transparentní z pohledu volajícího, kterého existence nějaké proxy vůbec nezajímá. Zavolám-li p.cosmos_constant() a dostanu 2, očekávám, že volání p.pow(2) vrátí 8. Vy ne? :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    15.7.2008 16:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Váš objekt Math máte napsán tak, že počítá se svou kosmologickou konstantou (proto třeba self). Kdybyste chtěl, aby počítal s jeho (nějakého cizího objektu), musíte mu ten cizí objekt předat jako parametr. cosmos_constant() buď nemáte nadefinovánu tak, že vrací svou kosmologickou konstantu, nebo ji tak nadefinovánu máte, a pak vytvořená proxy porušuje tento dohodnutý kontrakt. Proxy s tím ale nemá nic společného, kdybyste si ten dohodnutý kontrakt porušil už v implementaci třídy Math, dopadnete stejně.
    15.7.2008 16:46 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    Já vo koze, von vo voze. Marno.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    15.7.2008 15:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    v Javě se té transparence pořádně dosáhnout nedá, takže this není this a vůbec samé pěkné věci
    Jak to že ne? this je pořád reference na objekt, na kterém je volána aktuální metoda. To že okolo toho objektu je nějaká proxy nemůže ten objekt zajímat. Očekávám, že když v objektu zavolám na this final metodu, provede se úplně to samé, jako bych kód té metody přímo vložil do svého kódu. Pokud tu metodu chci provést na stejném objektu, který referencuje ten, kdo moji metodu vyvolal, musí mi referenci na ten objekt předat. Zkuste si někdy něco napsat v JavaScriptu, abyste viděl, jak to vypadá, když si nikdy nemůžete být jist, co je this. :-)
    15.7.2008 16:10 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Céčko na Marsu; Gedit word completion
    To že okolo toho objektu je nějaká proxy nemůže ten objekt zajímat.
    Proto tvrdím, že se nedá dosáhnout plné transparence. Výraz this není this berte proboha trochu s nadsázkou, já přece jenom dobře vím, jak taková proxy funguje :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.