Home
Mike's Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Mike's LiveJournal:

    [ << Previous 20 ]
    Friday, October 23rd, 2009
    9:08 am
    Django
    С горя пошел изучать Django.
    Thursday, October 22nd, 2009
    3:03 pm
    Быдлокодер (aka Горе-программист; англ. Code Monkey)
    Почти все, что я программирую, коллегам приходистя переписывать: "Он писал это, не вникая в суть проблемы", "Это написано абы как". Бедные коллеги! Что ж я могу сделать, если я такой идиот и думаю в основном спинным мозгом. Нет, пожалуй, мне пора переквалифицироваться в тестеры, хватит уже мучить коллег и юзеров. Хотя тестером может я еще и худшим буду, чем программером...
    Monday, October 19th, 2009
    10:16 am
    ISO files parser/creator
    Мдаааа...написать его оказалось мегажестью... я даже не ожидал. STL, к сожалению, так и не узнал в процессе написания.
    Sunday, October 4th, 2009
    11:40 pm
    Высокая Нотка на "Детском Радио"
    Вот и обзавелось "Детское Радио" своим музкультпросветработником. Ля-ля-ля-ля-ля-ля-ля-ля-ля-а-а-а! И всё бы ничего, да только наступил маленькой Высокой Нотке на ухо Боооольшой басовитый - и очень тяжелый - медведь. Не, я серьезно. Взяли бы на роль и.о. Высокой Нотки чувиху, умеющую хотя бы немного петь (я уж не говорю имеющую слух, это почти невозможно в условиях Д.Р., хотя подошла бы любая выпускница Гнесинки) - было бы гораздо приятнее, да и детям не портился бы слух. А тем временем В.Н. продолжает петь горлом, мимо нот и - о боже - на всю страну и портить слух всем детям Р.Ф. (а ведь детское радио слушают и в Ульяновске, и в Самаре, и в Р.Н.Д. (http://www.deti.fm)!
    Friday, October 2nd, 2009
    11:07 am
    Застрелиться
    Yandex.Server выдает сообщение (у них вообще с английским беда):
    Service shot down
    Wednesday, September 2nd, 2009
    10:22 pm
    Текучка
    Сегодня не буду, вопреки обыкновению, себя бичевать. Сами можете оценить мои профессиональные "достижения".
    Первая половина дня прошла под знаком Unicode. После неторопливой работы я эасобачил массив на 65536 элементов, по которому можно преобразовывать любую самую затейливую буковку из Unicode в ANSI (никто и не утверждал, что успешно, но все, что может, он преобразовывает!). Универсальный конвертер сделан (облом произошел только с китайско-японскими языками, но это как-нибудь потом настрою)!
    Вторая часть дня прошла в обсуждениях и обдумываниях распределенной атаки на пароли по сети. Нужно было продумать и заимплементить одну важную фичу. Когда один компьютер и один поток - это хорошо. Когда два - уже хуже. Когда их много, мозги перестают справляться. ООП рулит, но он значительно превышает по возможностям возможности моего мозга. В результате заимплементил какую-то кривизну, которую придется еще выпрямлять и выпрямлять.
    Tuesday, August 11th, 2009
    8:05 pm
    На днях написал код, кидающий в большом количестве исключения из конструктора и (о ужас!) сам конструктор был аж на 2 экрана. В результате подвергся (о боже!) публичному остракизму с заведением кейса и последующим рефакторингом. Welcome to http://govnokod.ru!
    Monday, August 10th, 2009
    2:15 pm
    http://geo-search.ru
    Зыпустили прыэктик:
    http://geo-search.ru/
    Welcome!
    Saturday, May 9th, 2009
    11:09 am
    Bad karma
    Шо ето за на? Юмористы, блин...

    -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
    7D9F1538F9 796 Fri May 8 19:47:38 *********@ergosolo.ru
    (host mx1.yandex.ru[77.88.21.89] said: 450 4.5.0 Bad karma! (in reply to RCPT TO command))
    *********@yandex.ru
    Tuesday, March 3rd, 2009
    6:02 pm
    Friday, January 16th, 2009
    12:00 pm
    prototype.js
    Дмитрия Котерова в топку! http://www.prototypejs.org/, и поля доступны в Python через req.values!
    Saturday, January 10th, 2009
    9:38 am
    AJAX и Python
    Прикручиваю subj[0] к subj[1]. Использую библиотеку великого гуру Дмитрия Котерова: http://en.dklab.ru/lib/JsHttpRequest/.
    Как-то странно получается...тело аякс-запроса доступно через cgi.FieldStorage.value, а дальше надо, видимо, как-то извращаться...извращаюсь:

    def unescape( self, text ):
        """Removes URLencoded character references from a text string."""
        def fixup( m ):
            text = m.group(0)
            if text[:2] == "%u":
                # unicode character reference
                try:
                    return unichr(int(text[2:], 16))
                except ValueError:
                    pass
            else:
                # ascii character reference
                try:
                    return chr(int(text[1:], 16))
                except ValueError:
                    pass

            return text # leave as is
        re.sub("%u\w{4}", fixup, text)
        return re.sub("%\w{2}", fixup, text)

    def parseRequest( self, content ):
        plist = map(lambda x: x.strip(), content.split('&'))
        pdict = {}
        for p in plist:
            i = p.find('=')
            if i >= 0:
                name = p[:i].strip().lower()
                value = p[i+1:].strip()
                if len(value) >= 2 and value[0] == value[-1] == '"':
                    value = value[1:-1]
                pdict[name] = self.unescape( value )
            return pdict

    def do( self ):
        logging.debug( 'Check.do, req=%s' % ( self.req.fieldStorage(), ) )

        d = self.parseRequest( self.req.fieldStorage().value )
    Sunday, December 28th, 2008
    8:12 am
    Гуру STL тоже делают ошибки
    Из книги Скотта Майерса "Эффективное использование STL":
    "Библиотека STL не содержит умных указателей с подсчетом ссылок. Написание хорошего умного указателя (то есть такого, который бы всегда правильно работал) - задача не из простых, и заниматься ею стоит лишь в случае крайней необходимости. Я привел код умного указателя с подсчетом ссылок в "more Effective C++" в 1996 году. Хотя код был основан на хорошо известной реализации умного указателя, а перед изданием книги материал тщательно проверялся опытными программистами, за эти годы было найдено несколько ошибок. Количество нетривиальных сбоев, возникающих при подсчете ссылок в умных указателях, просто невероятно."
    А вы говорите...если уж даже великий гуру сделал столько ошибок в кажущихся несложными реализациях, что говорить о простых смертных. Коммерческий софт просто кишит ошибками (только 99.99% из них не проявляются и никогда не проявятся на практике).
    Friday, December 26th, 2008
    5:33 pm
    Оптимизаторы
    Воспоминание: повёрнутые на оптимизации яндексоиды оптимизируют даже подсчет количества выставленных битиков в числе, дабы не делать лишние сдвиги!
    Суровая правда жизни: клали мы (разработчики коммерческого софта) на всякую оптимизацию, оборачивая даже (!) STL-ные контейнеры.
    Wednesday, December 24th, 2008
    5:56 pm
    Сортированная "мапа"
    Вот что делает с программерами отсутствие знания STL-я.
    Понадобилось решить элементарную задачку: из файла (не будем уточнять, какого именно) читаются строки и некие значения, соответствующие этим строчкам. Это классический "хэшмэп". Сейчас апологеты STL-ля съедят меня с криками "в STL нет хэшмэпа, есть просто мэпа!!!". Успокойтесь. Я, как только речь заходит про STL, начинаю сразу в нем "плавать", как тюлень, случайно попавший не в свой водоем, так что не буду с вами спорить. Так вот, вернемся к задачке. Строки читаются произвольно, а пишутся в лексикографическом порядке (естественно, с соответствующими им значениями из hashmap). Что это? Сразу наступил глубокий затык и коллапс. Задачка-то для младшей школы...Ай-яй-яй-яй-яй. Вот что делает с программерами оборачивание STL-ля.
    Thursday, December 18th, 2008
    11:05 pm
    Работайте в Acronis-е!
    Открытое письмо на вакансию www.acronis.ru/company/employment/vacancy/vacancy.html

    >Проектировщик/программист С++ (СPP developer)

    >Career code: cpp design


    Девелопмент или дизайн? Определитесь может быть все-таки? Понятно, что без дизайна нет девелопмента, зато без девелопмента бывает дизайн, но все-таки...тут девелопмент или дизайн?

    >Requirements:
    >-отличное знание C++, STL, синхронизации;


    Дуб дубом. 8 лет программирую на С++, а ни STL-ля, ни синхронизации не знаю. На вопрос: "какие объекты синхронизации в Windows Вы знаете?" отвечаю: "Критические секции, эвенты. Больше ничего.". "Ничего? А семафоры?". "Нет". После чего разговор переходит в другое русло. На вопрос: "Как? Вы не знаете STL-я?" отвечаю: "Да, не знаю, потому что он у нас весь обернут", на что получаю кислую мину, мол, так делают только идиоты, и отправляюсь восвояси.

    >-умение разбираться в чужом исходном коде;

    Эт пожалуйста, сколько угодно. Люблю разгребать лопатой (или даже руками) отстой.

    >-опыт разработки ПО на C++ более 3-х лет.

    Более 8 лет, но так и не научился программировать нормально. На проектировщика не потяну.

    >Salary: starts from 78500 RUR

    Ууууууу! За такую зарплату я готов по 24 часа в сутки разгребать чужой исходный код, и даже без лопаты.

    >Working conditions:
    >Мы предлагаем работу в стабильной и успешной компании, полное соблюдение ТК РФ, перспективы карьерного роста
    >и достойную оплату труда (по результатам собеседования).

    Да, да, да. А вы еще не обанкротились? И когда планируете?

    >Для сотрудников:
    >- бесплатное питание;
    >- корпоративный абонемент в фитнес-клуб;
    >- комплексная медицинская страховка (ДМС);
    >- офис находится рядом со ст. м. Савеловская/Отрадное;
    >- интересные условия по переезду для кандидатов из других регионов.

    >Send your resume via e-mail: hr@acronis.ru or use the form below. Please specify the career code "cpp >design" in the Subject of your message.


    Да, да, да, обязательно пошлю, но я же тупой дятел, и вы меня все равно не примете на работу, но начнете названивать каждые полгода и приглашать на собеседования, на котором опять выяснится, что я не знаю ни STL-ля, ни объектов синхронизации, потом опять у HR-а закончится оперативка и он опять названивать начнет (быстро забывает, что я не знаю STL-ля и объектов синхронизации, памяти не хватает).
    Wednesday, December 17th, 2008
    1:45 pm
    Текущая директория в виндах
    Понятие "текущей директории" в Windows атрофировано, как и многое из того, что ее предшественник MS DOS взял из linux. Вот, взгляните сюда:

    getcwd.c

    _TSCHAR * __cdecl _tgetdcwd_nolock (
    int drive,
    _TSCHAR *pnbuf,
    int maxlen
    )
    {
    ...
    /* Get the drive index of the default drive */
    ...
    /*
    * Get the current directory string on that drive and its length
    */
    ...
    ret = GetFullPathName( drvstr, maxlen, p, &pname );

    ...
    return p;
    }



    Теперь вопрос на засыпку: от чего зависит текущая директория в Windows?
    Monday, December 15th, 2008
    11:38 am
    Надо и поворчать
    Разгрести десятки мегабайт исходников вручную (типа убрать кучу навоза лопатой) - это работка для меня, а вот придумать креатифф - нее, тут сразу найдутся охотники...
    Friday, December 12th, 2008
    4:48 pm
    Ясность и чистота кода VS "лишь бы работало"
    Меня часто ругают за грязный код. За copy/paste. За баги. Но позвольте! Дорога к т.н. "чистому" коду лежит как раз через copy/paste и через "грязный код". Код должен пройти много стадий рефакторинга, прежде чем он превратится в образчик чистоты (тьфу!), где даже комар носа не подточит, где царит идеальная стерильность, как в операционной, где все выверено до последней буковки, где улучшать уже нечего. До этой стадии "нирваны" дойдет далеко не весь написанный код, а хорошо, если 1/100 его часть, а все остальное так и останется "грязным мусоросборником", неясным, нечистым, непонятным отстоем.
    Thursday, December 11th, 2008
    2:45 pm
    Idea Fix
    Goщgle сделал онлайн-версию Офиса. Adobe скоро сделает online-версию Photoshop-а.
    А мне бы сделать нотный редактор-онлайн.
    Прикиньте: онлайн-редактор с продвинутыми фичами, как в Finale, добровольцы будут туда перебивать все произведения мировой музыкальной культуры, будет онлайновая библиотека партитур - рай для музыкантов, откуда каждый композитор типа Шнитке сможет запэйстить к себе в сочинение целые цитаты из классиков, а каждый композитор не типа Шнитке будет иметь в арсенале готовые паттерны типа "вставить генеральную паузу" или "вставить стандартный рок-н-ролльный квадрат" или "поместить в корзину всю партитуру". Нет проблемы с публикацией нот новоиспеченных композиторов, с поиском нот для исполнителей и дирижеров...ээх, мечты, мечты...А ведь такого редактора реально сейчас нет! И можно заработать миллионы, миллиарды долларов на баннерной рекламе, если занять эту нишу первым!!! Срочно! Срочно! Все бросать и делать редактор!
[ << Previous 20 ]
About LiveJournal.com

Advertisement