Portál AbcLinuxu, 31. října 2025 12:30
Daniel Kozák nereaguje na mé e-maily, takže jsem se rozhodl napsat mu to do blogu.
V této diskusi jsem mu napsal chybu, kterou dostávám při kompilaci. Po sdělení, že mám ArchLinux mi napsal, že má bugovou verzi dvdread a wxgtk. Problém s dvdread opravdu je a dá se vyřešit přepsáním souborů v /usr/include/dvdread soubory z adresáře /usr/include/dvdnav. wxGTK ale bugové není. V ArchLinuxu je wxGTK zkompilováno s podporou unicode (parametr --enable-unicode skriptu configure). Daniel pravděpodobně s wxGTK nikdy neprogramoval (já teda také ne), jinak by věděl, že pokud pracuje s tímto toolkitem, má používat makro wxT pro textové konstanty. To však nečiní. Dále v kódu používá funkci wxString::c_str() která ale vrací const wchar_t* nebo const char* v závislosti na použití unicode. A on ji prostě použije nějak takto: const char *janevimco = janevimco2.c_str(). Správné užití je ale const char *janevimco = janevimco2.mb_str(wxConvLocal) kde wxConvLocal je globální konvertor wxGTK.
Takže kozzi, pohrál jsem si za tebe. Nečiním si žádné nároky na spoluautorsví a přidaný kód můžeš klidně vydávat za svůj.
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
 
             28.8.2006 15:21
Jardík             | skóre: 40
             | blog: jarda_bloguje
        28.8.2006 15:21
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         
Mimo to zastávám názor, že používat best practices a scm tooly vůbec je potřeba od začátku, a ne až v okamžiku, kdy to v lepším případě "přestane jít dělat ručně", v horším autor zjistí, že to, co spáchal za posledních X hodin je "úplně na nic" a začne zoufale hledat, která z kopií zdrojáků na disku je ta poslední ještě fungující  
            
 28.8.2006 19:59
Jardík             | skóre: 40
             | blog: jarda_bloguje
        28.8.2006 19:59
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         , nebo se pokusit "provést diff", a nad diffem pak hádat, co z těch změn jsou fixy, co reorganizace... mnohem pravděpodobnější je, že s povzdychnutím celý balík od vývojáře prostě zahodí, protože nebude mít nervy na to, hrabat se paralelní verzí svého balíku, a zkoumat, proč, co, kde a jak. 
Přitom kdyby dostal několik diffů, jeden pro každý bugfix, jeden pro každý set nových funkcí či reorganizací, je pro něj prozkoumání změn mnohem pohodlnější a jednodušší, a hlavně na první pohled vidí, co patří k čemu, a může si vybrat -- triviální opravy commituje obratem, o složitějších může přemýšlet o každém zvlášť a stejně tak může mnohem pohodlněji rozhodnout o začlenění navrhovaných vzlepšení či změn ve struktuře ... 
Nehledě k tomu, že může mít mezi tím u sebe rozděláno několik nových featur, které zatím nereleasoval, nebo zrovna teď dostal mailem podobný balík od jiného vývojáře. Viz příspěvek Michala Kubečka níže.
Vývoj open-source software, má-li k něčemu vést, musí podléhat určitým pravidlům, stejně jako cokoliv, na čem se podílí více lidí, a jakkoliv z vlastní zkušenosti velmi dobře vím, jak se vývojáři téměř štítí sáhnout na cokoliv, co jen trochu zavání scm ( ano, jsem configuration manager
, nebo se pokusit "provést diff", a nad diffem pak hádat, co z těch změn jsou fixy, co reorganizace... mnohem pravděpodobnější je, že s povzdychnutím celý balík od vývojáře prostě zahodí, protože nebude mít nervy na to, hrabat se paralelní verzí svého balíku, a zkoumat, proč, co, kde a jak. 
Přitom kdyby dostal několik diffů, jeden pro každý bugfix, jeden pro každý set nových funkcí či reorganizací, je pro něj prozkoumání změn mnohem pohodlnější a jednodušší, a hlavně na první pohled vidí, co patří k čemu, a může si vybrat -- triviální opravy commituje obratem, o složitějších může přemýšlet o každém zvlášť a stejně tak může mnohem pohodlněji rozhodnout o začlenění navrhovaných vzlepšení či změn ve struktuře ... 
Nehledě k tomu, že může mít mezi tím u sebe rozděláno několik nových featur, které zatím nereleasoval, nebo zrovna teď dostal mailem podobný balík od jiného vývojáře. Viz příspěvek Michala Kubečka níže.
Vývoj open-source software, má-li k něčemu vést, musí podléhat určitým pravidlům, stejně jako cokoliv, na čem se podílí více lidí, a jakkoliv z vlastní zkušenosti velmi dobře vím, jak se vývojáři téměř štítí sáhnout na cokoliv, co jen trochu zavání scm ( ano, jsem configuration manager  ), trvám na tom, že zasílání změn v podobě dobře komentovaných patchů je pro open source základ.
 ), trvám na tom, že zasílání změn v podobě dobře komentovaných patchů je pro open source základ.
             
             28.8.2006 21:46
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
        28.8.2006 21:46
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
         28.8.2006 21:50
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
        28.8.2006 21:50
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
         28.8.2006 22:17
Jardík             | skóre: 40
             | blog: jarda_bloguje
        28.8.2006 22:17
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         28.8.2006 23:25
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
        28.8.2006 23:25
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
         30.8.2006 06:46
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        30.8.2006 06:46
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        dave amd64 ~/compile/wxDVDShrink $ ./configure
Running configure script for wxDVDShrink ...
Checking depencies ...
        wxGTK (required) ... found.
Depencies test OK.
Generating install and uninstall scripts ... done.
Generating Makefile ... done.
dave amd64 ~/compile/wxDVDShrink $ make
g++ -Wall -c -o output/objs/src/analyze.o  -I/usr/lib64/wx/include/gtk2-unicode-release-2.6
-I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64
-D_LARGE_FILES -DNO_GCC_PRAGMA  src/analyze.cpp
In file included from /usr/include/dvdread/ifo_read.h:24,
                 from src/analyze.cpp:24:
/usr/include/dvdread/ifo_types.h:32:2: error: #error "Must include
<inttypes.h> or <stdint.h> before any libdvdread header."
make: *** [output/objs/src/analyze.o] Error 1
             30.8.2006 18:24
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
        30.8.2006 18:24
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
         30.8.2006 18:37
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        30.8.2006 18:37
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         30.8.2006 20:45
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
        30.8.2006 20:45
kozzi             | skóre: 55
             | blog: vse_o_vsem
             | Pacman (Bratrušov)
        ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.