Weblog @ rebex.cz

Weblogy na webu Rebexu
Welcome to Weblog @ rebex.cz Sign in | Help
in Search

Weblog @ Rebex.cz :: Martin Vobr

weblog o vývoji v dotnetu

  • Jak rychle zbohatnout (verze pro .NETové programátory)

    Chcete rychle zbohatnout? Umíte trošku programovat v .NETu? Žijete v zemi, kde se autorské právo nebere příliš vážně? Výborně. Scéna je připravena. Dál je to už snadné. Stačí totiž:

    • Stáhnout trial nějaké vhodné komponenty a pomocí Reflectoru si vygenerovat zdroják v C#.
    • Přejmenovat všechny jmenné prostory, některé metody a property.
    • Zahodit samply a napsat vlastní.
    • Zkompilovat, zabalit, prodávat pod vlastní značkou.

    A přesně tohle nám provedla firma (?) Safabyte (později přejmenovaná na ComponentForge). Tvrdí, že sídlí v USA, ale stopy vedou do jihovýchodní Asie. Dokonce tenhle scénář dokázali vylepšit:

    • Rozjeďte supportové fórum.
    • Založte si pár falešných emailů na live.com, gmail.com a yahoo.com.
    • Na dotazy neodpovídejte ale přeposílejte je pod smyšlenými identitami původním autorům kódu.
    • Jejich odpovědi podepište vlastním jménem a vložte do vlastního supportového fóra.
    • Pro vylepšení chuti připojte následující signaturu:
      John Hoang
      Developer & Tech Support
      ComponentForge, LLC
      ”Powering the success”

    A přesně tohle se nám také stalo.

    A jde to ještě trochy vylepšit:

    • Recyklujte stejný scénář a vylepšete si portfolio dalšími firmami.

    A víte co? Přesně tohle se také stalo.

    Co s tím? Soudit se? Nereálné a neefektivní. Spíš je možné:

    • Odstřihnout je od supportu.
    • Odstřihnout je od jejich peněz z prodejů.
    • Udělat jim na webu takovou ostudu že nezískají žádné nové klienty.
    • Zařídit aby staří klienti, kteří potřebují support našli web skutečného výrobce komponenty.

    Zatím se nám je podařilo přesvědčit, aby vypnuli svůj web a přestali prodávat přes stávající platební bránu. Máme web se spoustou důkazů.

    Chcete pomoci?

    Chcete vědět, jak bude celý případ pokračovat?

    Začíná to vypadat, že to pátrání bude možná celé skoro stejně napínavé jako Stollovo Kukaččí vejce. Dopadení Sovětského agenta slíbit nemůžu, ale myslím, že to bude docela zajímavé i tak. Začíná mne to bavit :-)

  • Emigrace do 64bitů: Nefunkční SQL Server Management Studio 2008

    Přecházím na nový stroj a abych se nenudil tak provádím rovnou dva skoky najednou. Měním Windows XP za Windows 7 a zároveň přecházím na 64bitový operační systém. Po cestě to občas drhne a tak je dost materiálu na nové příspěvky.

    SQL Server Management Studio – výjimka při přístupu k databázi

    Po instalaci SQL Serveru 2008 a SP1 vše nějakou dobu fungovalo k všeobecné spokojenosti. Pár hodin, během kterých jsem nainstalovat několik dalších aplikací a záplat zanechaly SSMS ve smutném stavu. Po připojení k serveru a po pokusu o vypsání seznamu databází mne obdařil následující hláškou:

    Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.VisualStudio.OLE.Interop.IServiceProvider'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{6D5140C1-7436-11CE-8034-00AA006009FA}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)). (Microsoft.VisualStudio.OLE.Interop).

    Náprava

    Reinstalace ani repair instalace SQL Serveru to příliš nevylepšily. Pomoc přinesl až příspěvek na fóru technické podpory Vaultu od SourceGear. Zdá se, že instalaci mohl nakopnout právě Vault (i když jistý si tím nejsem). Opraví se to takto:

    • Vytvořte v textovém editoru nový soubor neco.reg
    • Vložte do něj následující text:

    --- začněte ZA tímto řádkem
    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
    @="IServiceProvider"
    [HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
    @="4"
    [HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
    @="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
    @="IServiceProvider"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
    @="4"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
    @="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"

    --- skončete PŘED tímto řádkem

    • Zazálohujte si registry
    • Uložte soubor a poklepáním na něj ho naimportujte do registry.
  • .NET CF a relativní cesta k souboru (a jak se bez ní obejít)

    Nedávno jsem portoval z .NET do .NET Compact Framework unit testy pro dávkový přenos souborů pomocí SFTP. Mé občasné návraty k .NET CF jsou prakticky vždycky doprovázeny silným hudráním. Chápu docela dobře že na kapesních zařízeních je málo místa a že na silně minimalistický OS plný framework nikdo nedostane. I tak si ale často vzpomenu na lidi, kteří tvrdí, že .NET CF 1 je jen velký wrapper kolem PlatformNotSupportedException :-) .

    Tentokrát mi důvod k důkladnému zahudrání poskytly relativní cesty k souborům. Unit testy běžely proti několika konfiguracím a pro svůj běh potřebovaly i pár testovacích souborů. Na desktopovém frameworku žádný problém. Soubory se načítají z aktuálního adresáře  neboli z adresáře ve kterém je umístěna assembly s testy.

    Naneštěstí PocketPC ani .NET CF 1 žádnou koncepci "aktuálního adresáře" neznají. Pokud uvedete název souboru bez cesty tak se ve většině případů metoda pokusí hledat soubor v kořenovém adresáři souborového systému.

    Chcete-li zjistit adresář, ze kterého je spuštěna aplikace (což se dá považovat za docela použitelnou náhradu aktuálního adresáře) použijte následující kód:

    using System.IO;
    using System.Reflection;

    ...

    string currentDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);

    XmlDocument xml = new XmlDocument();
    xml.Load(Path.Combine(currentDirectory,"test_file.xml"));

  • AeroSnap z Windows 7 pro Windows XP a Windows Vista

    Windows 7 budou obsahovat zajímavou novou funkci nazvanou Aero Snap. Ta umožní snadno zadokovat libovolné okno k okraji obrazovky tažením myší nebo použitím klávesových zkratek.

    Věc je to hezká, ale rád bych ji používal už teď. Do oficiálního vypuštění se mi čekat nechce a dávat si na svůj produkční stroj Win7 beta také ne.

    Naštěstí existuje freewarový nástroj dostupný na webu AeroSnap.de který dodá podobnou funkcionalitu i do XPéček a Vist.

    Co funguje:

    • Win + šipky do stran pro dokování okna levému a pravému okraji
    • Win + šipka nahoru a dolů pro maximalizaci okna
    • Dokování tažením myší k okraji okna
    • Používání je návykové :-)

    Co nefunguje:

    • Maximalizované aplikace musím nejdřív "odmaximalizovat" dvojklikem na horní lištu. Jinak mi nefunguje dokování klávesovými zkratkami.
    • Google Chrome nereaguje ani na klávesové zkratky ani na tažení myší k okraji obrazovky.

    Něco navíc:

    Posted 21. ledna 2009 13:33 by martinv | 5 Comments
    Filed under:
  • Letem .NETem (5)

    Nepravidelný občasník lehce komentovaných linků ze světa vývoje v .NETu...

    SOFTWARE

    A: Co je sakra ten wireshark zač?
    B: Na stránkách píšou že je to nějaký analyzátor síťového provozu. Asi v podstatě tcpdump ale s GUI.
    C: Hmm, to je jako bys řekl buldozer je v podstatě lopata a jediný rozdíl je v tom že je žlutá.

    • The C5 Generic Collection Library - pro případ že vám v .NETu chybí prioritní fronta nebo podobné datové struktury. Solidní kód pod značně přívětivou MITovou licencí.

    The C5 collection library provides the following collection concepts, described by C# interfaces: Directed enumerable, collection value, directed collection value, extensible collection, collection, sequenced collection, indexed collection, sorted collection, indexed sorted collection, persistent sorted collection, list, LIFO stack, FIFO queue, priority queue, dictionary, and sorted dictionary.

    The C5 collection library provides the following data structures, described by C# classes: array list, doubly linked list, hash-indexed array list, hash-indexed linked list, hash set, hash bag (multiset), sorted array, wrapped array, tree set, tree bag (multiset), stack, double-ended queue, circular queue, priority queue (interval heap), hash dictionary, and tree dictionary.

    INFO

This Blog

Syndication

News

Chcete koupit ojeté auto a chcete ho nechat prohlédnout někým kdo tomu rozumí a komu můžete věřit? Zkuste mého kamaráda Michala Ráže - Poradce při koupi ojetého vozu

ComponentForge (aka Safabyte) sells components stolen from Rebex and other .NET component vendors.

Uz jste vyzkoušeli naší komponentu pro práci s formátem ZIP s hromadou ukázek v jazycích C# a VB.NET?

Inspirace na výlet: Stubaiské Alpy - jak je zažili Honza a Mišák.

Powered by Community Server (Personal Edition), by Telligent Systems