-Музыка

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в dimzon541

 -Интересы

.net ajax c# development fallout futurama java javascript nightwish o/r mapping rpg sci-fi vbscript web 2.0 windows communication foundation windows presentation foundation xaml xml алгоритмы сжатия аудио/видео альтернативная история

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2006
Записей:
Комментариев:
Написано: 3362





Новая версия eBookDownloader

Четверг, 13 Марта 2008 г. 20:44 + в цитатник
Вышел новый релиз (второй за сегодня)
Добавил поддержку fenzin.org (жанр пока не анализируется)
Пусть утрутся...
Рубрики:  eBookDownloader


Понравилось: 1 пользователю

Отстоим eBookDownloader

Четверг, 13 Марта 2008 г. 18:21 + в цитатник
Перечитал Гражданский Кодекс 4 часть о защите интеллектуальных прав. В ближайшее время появится новый релиз, выдающий при каждом запуске следующее окошко.
 (587x412, 33Kb)
Рубрики:  жисть
eBookDownloader

Хочу такой девайс - SATA HDD Stage Rack

Среда, 12 Марта 2008 г. 21:27 + в цитатник
Рубрики:  жисть

eBookDownloader хотят прикрыть...

Вторник, 11 Марта 2008 г. 21:44 + в цитатник
ВНИМАНИЕ!
eBookDownloader хотят прикрыть. Вот, прилетело на ящик:

We have received the below complaint claiming that you did not have the right to upload the referenced tool. Please remove the tool within 48 hours and ensure that any future uploads are either owned by you or that you have proper authorization to make such uploads publicly available to others. By contacting me at saraf@microsoft.com, please confirm when you have removed the tool. Thank you.

-----Original Message-----
From: O. Kolesnikov [mailto:magister.msk@gmail.com]
Sent: Wednesday, March 05, 2008 3:24 PM
To: CodePlex Support
Subject: Re: Tools for hacking

I am associated member of "LitRes" Corp. (www.litres.ru), owner of many sites with paid access to copyrighted literary resources.

This tool ( http://www.codeplex.com/eBookDownloader ) created specially as software for inappropriately access to web sites ( fictionbook.ru, lib.aldebaran.ru, litportal.ru ).

I have authority to be assignee of these sites.

(If your need the reports from administrations of these sites - it can be made easily.)

Whether it is possible to expel this tool from your site?

Oleg Kolesnikov,
CEO of "Internet Copyright Agency"
Krasnokazarmennaya, 9. Moscow, 111250, Russian Federation 7-495-170-7231; fax: 7-495-918-10-87.
Рубрики:  чтиво
жисть
eBookDownloader

Винни Пух и все все все...

Четверг, 06 Марта 2008 г. 17:26 + в цитатник
 (600x450, 48Kb)
 (600x400, 55Kb)
 (600x400, 57Kb)
 (600x400, 59Kb)
 (600x410, 58Kb)
 (600x400, 55Kb)
 (600x450, 47Kb)
 (600x400, 48Kb)
 (600x400, 61Kb)
 (600x400, 41Kb)
 (600x402, 75Kb)
 (600x400, 56Kb)
 (600x399, 81Kb)
 (600x400, 63Kb)
 (600x400, 41Kb)
 (600x400, 66Kb)
 (600x400, 54Kb)
 (600x400, 70Kb)
 (600x400, 59Kb)
 (600x400, 55Kb)
 (600x400, 65Kb)
Рубрики:  юмор
всячина

Новая версия eBookDownloader

Четверг, 24 Января 2008 г. 20:05 + в цитатник
Брать на CodePlex...
Рубрики:  eBookDownloader

Купил ЖК-телевизор

Четверг, 24 Января 2008 г. 18:15 + в цитатник
Samsung LE-32R81B
Samsung+LE-32R81B


Подключил его к компьютеру. На компе настроил upscaling до 1360*768 + постобработку, в результате уже с растояния в 1 метр разница между HD-роликами и обычным DVD-рипом на 1.4Gb практически незаметна. Смотреть фильмы - сплошное удовольствие...
Рубрики:  жисть

Байда ;)

Среда, 16 Января 2008 г. 17:29 + в цитатник
Порой всплывают забавные вещи. Обратите внимание как называется сервер Яндекса :)
 (618x529, 53Kb)
Рубрики:  юмор

Фиксин жжот

Четверг, 10 Января 2008 г. 20:17 + в цитатник
Это цитата сообщения fixin [Прочитать целиком + В свой цитатник или сообщество!]

Меня вот удивляет идиотизм данного субъекта. Что за ATI сапфир, на каком чипе?
ЗЫ. За такие деньги на таком железе ИМХО неплохой выбор это nVidia 8600GT 256 MB

Как выбирать видеокарту (AGP) для домашнего компа.

Раньше все было просто. Смотришь на объем памяти видюхи и все.
А сейчас на что надо смотреть?
Продавец порекомендовал ATI сапфир за 3000 рублей. Я в принципе, готов взять, но как вообще выбирать видюху? Чтобы побольше шутеров новых на ней шло.

Мать: MB ECS KV2 Lite Extreme S939 VIA KT8t800 PRO
Память: DIMM 512MB PC3200 (400 Mhz) Kingston + DIMM 1024 MB
Блутус: USB Bluetake BT009X
Проц: AMD Athlon 64 3000, Socket 939 BOX
В колонках играет: Маркшейдер Кунст - Kvasa-kvasa {marksheyder kunst piter fm - kvasa-kvasa}

Маразм крепчал

Четверг, 10 Января 2008 г. 20:11 + в цитатник
Интересно, а что мешает шифровать трафик ;)
http://cnews.ru/

Провайдеры запретят нелегальное скачивание из Сети?


Все последние 15 лет, в эпоху развития интернета, провайдеры действовали одним способом, предоставляя широкую информационную магистраль, по которой шел поток данных от пользователя в Сеть и обратно. Но вскоре провайдеры могут реализовать новую модель, став по сути «полицией трафика». Такой сценарий складывается из заявлений, которые сделали на выставке Consumer Electronics Show (CES) компании NBC, Microsoft и AT&T. Они предлагают провайдерам начать фильтрацию трафика на сетевом уровне. Суть пр… полный текст

Источник: CNews

Рубрики:  жисть

PARANOIA - хорошо на мало

Четверг, 10 Января 2008 г. 17:53 + в цитатник
PARANOIA
Заценил тут одно изделие отечественных модмейкеров. Откровенно говоря язык не поворачивается назвать этот продукт модом или аддоном. По сути это абсолютно новая игра на движке Half-Life 1. Причём последний за неимением исхдного кода тем не менее доработан: полухакерскими методами (подменой opengl32.dll) добавлены новые эффекты, такие как bump maps, gloss effects итд. В общем мне реально понравилось, единственный существенный недостаток - слишком уж короткая, около 3-х часов...


 (699x437, 54Kb)
Рубрики:  игры

TimeShift рулит

Среда, 09 Января 2008 г. 17:34 + в цитатник
TimeShift

Надо сказать что с рецензией AG.RU не согласен, ИМХО игра интересная и вкусная. Всем кому нравится Half-Life 2 рекомендую.

 (699x437, 80Kb)

PS. Тем не менее должен заметить что 1500 рублей за лицензию - ИМХО чрезмерно дорого. Пираты рулят.
Рубрики:  постапокалипсис
альтернативная история
паропанк
игры

И снова о наболевшем...

Суббота, 29 Декабря 2007 г. 16:26 + в цитатник
...Насчет киноиндустрии к примеру - все очень просто. Нечего жировать! Если фильм удачный, прокат фильма в кинотеатрах соберет достточное количество денег.
Именно достаточное. Это значит, что довольно уже всяким там выскочкам бесталанным чувствовать себя небожителями. У них в конце концов такая же работа как у любого другого честно работающего человека. К чертям эту касту!
Работайте как люди и получайте как все!

А если скачанная с интернета версия фильма не понравилась почему я должен был бы заплвтить свои кровно заработанные за полуторачасовой кусок дерьма?...


Нашёл несколько интересных статеек с умными мыслями. Читать обязательно!
Очень интересная переводная статья Когда свиньи летают, заметка на ЖЖ О ПИРАТСТВЕ и старый но не менее актуальный Тим О'Рейлли (Tim O'Reilly). Пиратство как прогрессивный налог и другие мысли об эволюции распространения контента в Сети...

Вот так вот.
Рубрики:  жисть

С наступающим!

Суббота, 29 Декабря 2007 г. 15:04 + в цитатник
сабж
 (539x500, 54Kb)
Рубрики:  жисть

Мнение одного из авторов о свободном распространении его произведений

Суббота, 29 Декабря 2007 г. 15:03 + в цитатник
Нашёл на одном форуме
Читать далее...
Рубрики:  жисть

Потокобезопасное кэширование

Пятница, 28 Декабря 2007 г. 20:17 + в цитатник
Иногда возникает необходимость кэшировать результат выполнения какой-либо функции между несколькими потоками. Конструкция lock не является оптимальной, гораздо правильнее использовать класс ReaderWriterLock. Ниже представлен generic-класс для реализации подобного хэширования.

using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
 
/// <summary>
/// Потокобезопасный кэш
/// </summary>
/// <typeparam name="TKey">Тип ключа</typeparam>
/// <typeparam name="TValue">Тип значения</typeparam>
public sealed class Cache<TKey, TValue>
{
    /// <summary>
    /// Делегат для получения значения
    /// </summary>
    /// <param name="keyVal">ключ</param>
    /// <returns>значение</returns>
    public delegate TValue HowToObtainValue(TKey keyVal);
 
    /// <summary>
    /// Получение значения из кэша
    /// </summary>
    /// <param name="key">ключ</param>
    /// <returns></returns>
    public TValue Get(TKey key)
    {
        return Get(key, obtainer);
    }
 
    /// <summary>
    /// Получение значения из кэша
    /// </summary>
    /// <param name="key">ключ</param>
    /// <param name="howToObtainValue">делегат, используемый в случае 
    /// отсутсвия значения к кэше</param>
    /// <returns></returns>
    public TValue Get(TKey key, HowToObtainValue howToObtainValue)
    {
        rwl.AcquireReaderLock(Timeout.Infinite);
        try
        {
            TValue theValue;
            if(!dic.TryGetValue(key, out theValue))
            {
                LockCookie lc = rwl.UpgradeToWriterLock(Timeout.Infinite);
                try
                {
                    theValue = howToObtainValue(key);
                    dic.Add(key, theValue);
                }
                finally
                {
                    rwl.DowngradeFromWriterLock(ref lc);
                }
            }
            return theValue;
        }
        finally
        {
            rwl.ReleaseReaderLock();
        }
    }
 
    /// <summary>
    /// Констркутор
    /// </summary>
    /// <param name="underlyingDictionaryImplementation">реализация IDictionary</param>
    /// <param name="func">получение параметра</param>
    public Cache(    IDictionary<TKey,TValue> underlyingDictionaryImplementation, 
                    HowToObtainValue func)
    {
        dic = underlyingDictionaryImplementation;
        obtainer = func;
        rwl = new ReaderWriterLock();
    }
 
    public Cache(HowToObtainValue func)
        : this(new Dictionary<TKey, TValue>(), func)
    { }
 
    /// <summary>
    /// Конструктор по умолчанию
    /// </summary>
    public Cache():this(null)
    {}
 
 
    private ReaderWriterLock rwl;
    private IDictionary<TKey, TValue> dic;
    private HowToObtainValue obtainer;
 
    #if DEBUG
    /// <summary>
    /// !!! Пример использования !!!
    /// </summary>
    public static void Sample()
    {
        Cache<int, int> cache1 = new Cache<int, int>(
            delegate(int keyVal)
                {
                    Trace.WriteLine("Вычисляем для " + keyVal);
                    return keyVal*keyVal;
                }
            );
        for (int i = 1; i < 100; ++i)
        {
            Trace.WriteLine(cache1.Get(i));
        }
        for (int i = 1; i < 100; ++i)
        {
            Trace.WriteLine(cache1.Get(i));
        }
    }
    #endif
}
Рубрики:  девелопмент

Получение версии ActiveX из CAB-файла

Пятница, 28 Декабря 2007 г. 16:43 + в цитатник
Иногда в WEB-проектах на .NET бывает неудобно хардкодить версии ActiveX в CODEBASE. Данный код можно использовать для получения версии ActiveX напрямую из CAB-файла. Работает как на 32-х битных так и на 64-х битных Windows-платформах.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
 
/// <summary>
/// SetupApi Wrapper class
/// Platform SDK: Setup API
/// </summary>
public sealed  class CabinetVersionProvider
{
    /// <summary>
    /// Получает версию из CAB-файла
    /// </summary>
    /// <param name="cabFilePath">Полный путь до CAB-файла</param>
    /// <returns>значение FileVersion из inf-файла CAB-а</returns>
    public static string GetVersion(string cabFilePath)
    {
        return getVersion(cabFilePath);
    }
 
    #region Тонкости реализации
    /// <summary>
    /// The FILE_IN_CABINET_INFO class provides information about a file found 
    /// in the cabinet.
    /// Platform SDK: Setup API 
    /// </summary>
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    private struct FILE_IN_CABINET_INFO
    {
        public String NameInCabinet;
        public uint FileSize;
        public uint Win32Error;
        public ushort DosDate;
        public ushort DosTime;
        public ushort DosAttribs;
 
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
        public String FullTargetName;
    }
 
    /// <summary>
    /// The FILEPATHS structure stores source and target path information. 
    /// Platform SDK: Setup API 
    /// </summary>
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    private struct FILEPATHS
    {
        public String Target;
        public String Source;
        public uint Win32Error;
        public uint Flags;
    }
 
    /// <summary>
    /// Platform SDK: Setup API
    /// </summary>
    private enum FILEOP : uint
    {
        FILEOP_ABORT = 0, // Abort cabinet processing.
        FILEOP_DOIT,    // Extract the current file.
        FILEOP_SKIP        // Skip the current file.
    }
 
    /// <summary>
    /// The FileCallback callback function is used by a number of the setup 
    /// functions. The PSP_FILE_CALLBACK type defines a pointer to this callback 
    /// function. FileCallback is a placeholder for the application-defined 
    /// function name.
    /// Platform SDK: Setup API
    /// </summary>
    private delegate uint PSP_FILE_CALLBACK(IntPtr context, 
                        uint notification, IntPtr param1, IntPtr param2);
 
 
    /// <summary>
    /// The file has been extracted from the cabinet.
    /// </summary>
    private const uint SPFILENOTIFY_FILEINCABINET = 0x00000011;    
    /// <summary>
    /// The current file is continued in the next cabinet.
    /// </summary>
    private const uint SPFILENOTIFY_FILEEXTRACTED = 0x00000013;
    private const uint NO_ERROR = 0;
 
    /// <summary>
    /// The SetupIterateCabinet function iterates through all the files in a 
    /// cabinet and sends a notification to a callback function for each 
    /// file found.
    /// Platform SDK: Setup API
    /// </summary>
    [DllImport("SetupApi.dll", CharSet = CharSet.Auto)]
    private static extern bool SetupIterateCabinet(string cabinetFile, 
                uint reserved, PSP_FILE_CALLBACK callBack, IntPtr context);
 
    [DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
    private static extern uint GetLastError();
 
    private static readonly Dictionary<string,string> m_cache = 
                                            new Dictionary<string, string>();
 
    private static string getVersion(string cabFilePath)
    {
        lock(m_cache)
        {
            string value;
            if(!m_cache.TryGetValue(cabFilePath, out value))
            {
                value = new CabinetVersionProvider(cabFilePath).m_version;
                value = string.IsNullOrEmpty(value) ? null : value;                    
                m_cache.Add(cabFilePath, value);
            }
            return value;
        }
    }
 
    private CabinetVersionProvider(string cabFileName)
    {
        m_version = null;
        m_tempfile = null;
        if (!SetupIterateCabinet(cabFileName, 0, callBack, IntPtr.Zero))
            throw new Win32Exception((int)GetLastError());
        if (m_tempfile != null)
        {
            string fileContent = File.ReadAllText(m_tempfile);
            MatchCollection mc = m_re.Matches(fileContent);
            if(mc.Count>0)
                m_version = mc[0].Groups[1].Captures[0].Value.Trim();
            try
            {
                File.Delete(m_tempfile);
            }
            catch(Exception err)
            {
                Trace.WriteLine(err);
            }
        }
 
    }
 
    private string m_version;
    private string m_tempfile;
 
    private static readonly Regex m_re = 
            new Regex(@"^\s*FileVersion\s*=\s*([^\s]+)\s*$",
                    RegexOptions.IgnoreCase
                        |RegexOptions.CultureInvariant
                        |RegexOptions.Multiline);
 
    private uint callBack(IntPtr context, uint notification,IntPtr param1, 
                                                            IntPtr param2)
    {
        switch(notification)
        {
            case SPFILENOTIFY_FILEINCABINET:
                if (m_tempfile != null)
                    return (uint)FILEOP.FILEOP_SKIP;
                FILE_IN_CABINET_INFO fileInCabinetInfo = 
                        (FILE_IN_CABINET_INFO)Marshal.PtrToStructure(
                                                            param1, 
                                                            typeof(FILE_IN_CABINET_INFO));
                if (fileInCabinetInfo.NameInCabinet.ToLower().EndsWith(".inf"))
                {
                    fileInCabinetInfo.FullTargetName = (m_tempfile = Path.GetTempFileName());
                    Marshal.StructureToPtr(fileInCabinetInfo, param1, true);
                    return (uint)FILEOP.FILEOP_DOIT;
                }
                else
                    return (uint)FILEOP.FILEOP_SKIP;
            case SPFILENOTIFY_FILEEXTRACTED:
                FILEPATHS filePaths =
                    (FILEPATHS)Marshal.PtrToStructure(param1, typeof(FILEPATHS));
                return filePaths.Win32Error;                    
            default:
                return NO_ERROR;                    
        }
    }
    #endregion
}
Рубрики:  девелопмент

Конец интернета...

Четверг, 27 Декабря 2007 г. 15:44 + в цитатник
Да, похоже пора заняться анонимностью
Anonymous P2P - Wikipedia, the free encyclopedia
Рубрики:  жисть

Лучший шутер уходящего года (на мой взгляд)

Среда, 26 Декабря 2007 г. 18:38 + в цитатник
Итак, мне довелось оценить следующие игры:


Первое место делят BioShock (офигенная атмосфера и картинка) и S.T.A.L.K.E.R. (атмосферность и реиграбельность)
На втором месте Half-Life 2: Episode Two
На третьем месте Crysis (только из-за уважения к движку)
На четвёртом месте Call of Duty 4: Modern Warfare
Рубрики:  игры

Crysis пройден

Среда, 26 Декабря 2007 г. 18:29 + в цитатник
Crysis
При всём уважении к создателям игру шедевром назвать не могу. Про движок не спорю, хорош, а вот сама игра - откровенный середнячок с украденным из фильма (никак название не вспомню) сюжетом.
Рубрики:  игры


Поиск сообщений в dimzon541
Страницы: 23 ... 18 17 [16] 15 14 ..
.. 1 Календарь