Search
Write a publication
Pull to refresh
1
0
Николай Курков @NikKurkov

User

Send message

Из записной книжки Мистера Томпкинса

Reading time10 min
Views18K
Мистер Томпкинс — человек уже довольно приличного возраста. Первое знакомство с ним состоялось в далеком 1938 году, когда физик и одессит Георгий Антонович Гамов опубликовал в Британском журнале Discovery серию рассказов о человеке, который в своих снах попадал в альтернативные миры, где значения физических констант радикально отличаются от значений оных в реальном мире, что приводит к совершенно неожиданным результатам. Так Гамов популярно объяснял концепции современной физики неискушенному читателю. Незадачиливым же соней был тот самый Мистер Томпкинс.

Практически 60 лет спустя Том ДеМарко решил поделиться свой безграничной мудростью и в столь же популярной форме преподнести идеи из Peopleware, написанной в соавторстве с Тимоти Листером. Итогом стал "Роман об управлении проектами", в котором наш старый знакомый Мистер Томпкинс похищается сексапильной брюнеткой Лаксой Хулигэн и увозится в загадочную страну Моровию, где ему представляется возможность провести настоящий эксперимент по управлению проектами разработки программного обеспечения…

В конце каждой главы Мистер Томпкинс подводит итоги и записывает свои мысли, которые, по сути, являются аксиомами и постулатами управления проектами по ДеМарко и Листеру. Разумеется, лучше будет прочесть всю книгу в целом — иначе не понять, как эти принципы применяются в «реальной» жизни. Но если времени нет (или же просто хочется освежить память), то вашему вниманию предагается…
...Записная книжка Мистера Томпкинса

Создаем OLAP куб. Часть 2

Reading time4 min
Views66K
OLAP

Итак, продолжаем создавать куб.
Напомню, что в предыдущей статье, мы создавали Data Warehouse для хранения голосов хабра-пользователей за хабра-топики. Для тех, кто хочет начать сразу создавать куб, я выложил скрипт, который создает и наполняет хранилище (на моей машине скрипт занял 10 минут и нагенерил 1866268 хабра-голосов).
Для того, чтобы создать OLAP куб, нам понадобится:
  • SQL Server, на котором хранится наш HabraDW (подойдет любой);
  • Microsoft SQL Server, с запущенными Analysis Services (2005/2008);
  • Business Intelligence Studio, которая входит в пакет клиентских приложений для Microsoft SQL Server-а, и интегрируется с Visual Studio, если она у вас установлена (2005/2008);
Читать дальше →

Вирус для Delphi

Reading time1 min
Views6.9K
Сегодня мы выпустили новость о распространении вируса  Win32/Induc.A для среды разработки Delphi. Не так давно вирус активно обсуждался на хабрахабре.

Win32/Induc.A вполне безобиден, однако представляет интерес своим механизмом распространения. Сначала происходит заражение среды Delphi, вследствие чего программы, компилированные на инфицированном компьютере, также становятся носителями кода вируса.  Система раннего обнаружения угроз  ESET ThreatSense.Net зафиксировала более 30 000 уникальных образцов вредоносного ПО Win32/Induc.A в течение первых 24 часов с момента внесения данного вируса в сигнатурную базу 18 августа 2009 года.

Другой интересной фишкой вируса стало то, что он также распространяется вместе с троянской программой Win32/Spy.Banker. По всей вероятности, создатели трояна сами стали жертвами таких же вирусописателей, и программа Win32/Spy.Banker была скомпилирована хакерами в среде Delphi на зараженных вирусом Win32/Induc.A компьютерах.

 

Как говорил Кэлвин Кулидж

Reading time1 min
Views11K
image

Nothing in this world can take the place of persistence.

Talent will not; nothing is more common than unsuccessful people with talent. Genius will not; unrewarded genius is almost a proverb. Education will not; the world is full of educated derelicts.

Persistence and determination alone are omnipotent. The slogan «press on» has solved and always will solve the problems of the human race.

Или по русски:

Ничто не может заменить настойчивости: ни талант — нет ничего более обычного, чем талантливые неудачники, ни гениальность — гений-неудачник уже вошёл в поговорку, ни образование — мир полон образованными изгоями.

Всемогущи лишь упорство и настойчивость. Девиз «поднажми / не сдавайся» решал и всегда будет решать проблемы человечества.

(с) Кэлвин Кулидж, 30-ый президент США

QIP: точки над «i»

Reading time12 min
Views18K
Вам случалось быть недовольными QIP? Ну да, нам тоже.

Цель данной статьи: раз и навсегда поставить все точки над «i» по вопросу QIP Infium, его сервисов и текущей ситуации, в которой находится проект. Она расскажет и объяснит вам всё положение спокойными словами, без негодующих воплей и обожающих визгов.
Эта статья:
  • не защищает QIP и/или РБК;
  • не является рекламным проектом РБК;
  • описывает текущую ситуацию, сложившуюся вокруг проекта QIP;
  • полезна тем, кто считает, что разработчики утаивают от них все порочащие нововведения;
  • особенно полезна тем, кто думает, что привязка ко всем сервисам — обязательное условие работы QIP;
  • написана адекватным языком — для адекватных комментаторов;
  • написана совместными усилиями всей командой поддержки, тестирования и расширения QIP Infium. Нами же будут даваться в комментариях любые ответы на вопросы, которые возникнут по статье. Милости просим.

Полный и подробный рассказ с ответами

TAG_ADD Plugin

Reading time3 min
Views1.1K
Привет, %username%
Как-то раз мне пришлось писать форму для добавления постов в блог. Помимо стандартных полей (название, дата, текст и.т.д.) необходимо было привинтить юзабельную форму добавления тегов.
Т.к. я кодю в jQuery, то и выбор был однозначным.
Вот необходимые задачи, которые я поставил перед собой:
  1. Легко в настройке
  2. Все теги храняться в одном файле (в кэше)
  3. Минимальная нагрузка на сервер и клиента
  4. Список тегов — подсказок открывается только для выбранного запроса на определенный тег.

Инструкция, ссылки и.т.д.

Правила работы с e-mail в нашей компании

Reading time2 min
Views4.4K
За четыре года наш коллектив вырос с 3 до 70 человек, появилось три офиса плюс общение со штаб-квартирами. Поэтому по ходу пришлось менять и стиль, и правила работы в компании. В итоге в области коммуникаций это вылилось в следующий свод правил — часть уже можно встретить в литературе по тайм-менеджменту, часть придумали сами. Возможно, это будет полезно и вашей компании. Подходит для компаний, где у всех есть компьютер и e-mail.
Читать дальше →

Отдается/продается MyNotifier, информер для фрилансеров

Reading time2 min
Views1.6K
MyNotifier.ru Logo Здравствуй, Хабрахабр!

Полтора года назад я сделал сайт для фрилансеров, который собирал информацию о заказах с шести крупнейших фриланс-сайтов и доставлял горяченькими прямо на рабочий стол пользователей Windows. Сервис не раскручивался и никогда не приносил мне денег. За полтора года я несколько раз переделывал сайт, он менял сервера; дважды меня кидали с новой версией виндового клиента; постоянно выравнивал трафик на сервере, чтобы не переплачивать… Сервис принес мне много знакомых и новых заказчиков.

Про сервис написано здесь, а тут про историю его создания.

С момента создания утекло много воды. Я почти не посещаю сайты фриланса — оброс работой и постоянными заказчиками. Появились сервисы, аналогичные моему, например alllance.

Второго июня сайт Free-lance.ru изменил дизайн, как следствие, перестали отрабатывать парсеры, забирающие с него информацию. Обещая себе каждый день, что выкрою минутку их исправить, я заставляю подписчиков ждать этого события уже 10 дней. Так или иначе, я принял решение передать сайт на попечение другого хорошего человека. С целью найти такового, я и пишу этот пост.
Читать дальше →

Максимальный поток минимальной стоимости

Reading time15 min
Views86K
Транспортная задача (классическая) — задача об оптимальном плане перевозок товара со складов в пункты потребления на транспортных средствах.

Для классической транспортной задачи выделяют два типа задач: критерий стоимости (достижение минимума затрат на перевозку) или расстояний и критерий времени (затрачивается минимум времени на перевозку).

Под катом очень-очень много текста, т.к. рассказывается один из вариантов решения данной задачи «в картинках» для тех, кто мало знаком с графами. Листинг прилагается.

Путешествие в тысячу миль начинается с первого шага

судьба маленького разработчика в большой компании, или нужно ли бороться с ветрянными мельницами

Reading time3 min
Views1.6K
Сначала необязательное предисловие. За этот топик я получил инвайт на хабр (спасибо ecl). Не собирался его публиковать, но вчера история получила неожиданное продолжение, поэтому не удержался.
Сказ прост.

Начал я работать в маленькой конторе (человек 15-20), которая была единственной точкой разработки одной небольшой Канадской фирмы. Там я познал, что такое XP, Scrum, самостоятельное принятие решений и в общем свобода. Ну тогда-то я этого не понимал, я думал, что Scrum — фуфло, а по остальному — думал так везде.
Поработав годик-полтора за студенческую зп, я решил, что стою больше.

Без труда устроился в большую контору, которая была одной из многих точек разработки огромной западной
компании.
Система оплаты в этой конторе заслуживает отдельного упоминания: сидишь, ничего не делая (без проекта) — получай зп. В проекте — получай еще и премию (раз в квартал — еще одна зп).
Не участвуешь в проекте — хочешь — ковыряй в носу, хочешь участвуй в разработке внутреннего интранета.

Я с первых дней оказался в этом говинтранете. На мой неискушенный взгляд, система была спроектирована криво, реализована соответственно, только хуже. Я пошел к человеку, который за «это» отвечал.

-Почему вот так? Так задумано? — Спросил я.
-Нет — говорят, просто так, недоделка.
— А почему вот так? -ответ тот же
и т.д.
-А почему проект под CVS, а не под SVN, скажем? Ведь CVS — это позавчерашний день!
-Админы никак не могут SVN репозитарий настроить. (проект уже шел 1.5 года)

Следующий шок ждал меня в проекте.
Бюрократия…
Я мог тупо неделю сидеть без работы, так как на стороне головной компании мне неделю не заводили какой-либо аккаунт. И никого это не волновало. Ни заказчиков, ни моего менеджера.
Проект, расчитанный на 3 месяца, координально поменял свои задачи за месяц до окончания — и все забегали, как потные мыши.
— ну, пивообще! -подумал я.
В результате по окончанию проекта получился бублик без дырки, а мы получили премию!!!
Ну ладно — подумал я — может, исключение.

И просидел без проекта 4 месяца.

Так как участвовать в говразработке интранета я очень не хотел, то пошел по топ манагерам.
Давайте — говорю — сделаем такой вот внутренний проект, у нас 10 человек без проекта сидит. Новые интересные технологии — не EJB2, а RESTful, JavaFX, Groovy. Мне говорят:
— Чувак, ты крутой, давай!
Но тут меня ждал еще один удар — никто из 10 человек не хотел что-то делать. вот примерный разговор с каждым из них:

— Зачем? Я получу премию?
— Нет.
-А смысл?
-Проф рост.
-Не, спасибо, я буду ждать проекта.

Начальство, узнав об этом, только пожало плечам:
— Чувак, ты крутой.
и продолжило заниматься своими архиважными делами.

И я начал свой проект один.
Через месяц у меня появился один человек в проекте. через еще неделю — два…
… а потом меня взяли в проект. и внутренний проект загнулся сразу, оба помощника вернулись к ничего не деланию.

К чему я это все?
Возьмем абстрактно-среднестатистического программиста.
Вот тут все говорят — он в первую очередь должен получать удовольствие от своей работы, деньги — они вторые по мотивации.
А что получается? — он доволен. Проект интересный — хорошо. не интересный — ничего. нет проекта — нормально. Деньги-то платят.
Т.е. уважаемые хабрапользователи, когда говорят о мотивации, говорят о мотивации своей, а не среднестатистического программиста, скажем.
А он хочет денег.
И стабильности.
Причем стабильности в первую очередь, даже если это стабильность с небольшими деньгами. среднестатистический программист не пойдет в другую контору, если ему предложат на 20% больше зп. и тем более не пойдет на такую же или меньшую зарплату, но на интересную работу.
И останется среднестатистическим программистом.
Но при большом желании его можно воспитать. собственным примером. Стоит ли это того — другой вопрос.

Хочу отметить, что я не пытаюсь донести мысль: «все люди как люди, а я — Джимми Хендрикс». Я до сих пор работаю в этой конторе. и знаете почему?
Потому что это болото — затягивает.
Потому что лучше так, чем совсем без работы, реалии сейчас совсем другие, чем год назад, и молодому программисту не так просто найти работу.

Я силюсь понять среднестатистического программиста, потому что понимание его, будет, чувствую, мне очень полезно в будущем, как и вам надеюсь…
Но они — другие.

P.S. Чем все закончилось — напишу через недельку, не буду пока говорить «гоп» пока не перепрыгну.

jQuery Ui.datetimepicker

Reading time1 min
Views32K
Привет! Сегодня решил сойти с ума! Конечно родной datepicker в ui это хорошо, но когда нужно и параметр «время» – данного виджета не хватает.
Внимание! Писал все быстро, инструкцию не пишу т.к. хватает этой.
Думаю разберетесь.
Демо тут.

Июньский фуршет

Reading time1 min
Views1.7K
Здравствуйте, Хабраюзеры! С вами июньский хабравыпуск ХабраФуршета!

Напоминаю формат:

Человек, являющийся специалистом в той или иной области, оставляет коммент, где жирным шрифтом пишет область своей специализации. Например: «Обход антивирусных эвристиков», «Альпинизм, снепплинг» или даже «Именно я меняю фон в выпусках погоды». Фуршет — это очень хороший способ получить ответы на вопросы, которые можно узнать только у специалистов, ответы которые не найти в гугле. Для специалистов же — это хорошая возможность помочь тем, кто лишь начинает в их области или просто ей интересуется. Тематика не ограничена только IT.

Предыдущие выпуски:

Майский фуршет
Апрельский фуршет

Топик будет апдейтится, в него будут вынесены самые интересные ветки.

UPD:

Практикующий юрист
Макросы в MS Word, Excel
Программирование на Visual Basic for Application

Израильская армия, и Израиль вообще
Хостинг, техническая поддержка
Разработчик плагинов и хаков для JIRA
Радиоведущий
Организация концертов
Yota WiMAX Интернет
Ди-джеинг, продюсинг
Электронная музыка
Ableton Live

Сделал полноценный ремонт в 3х-комнатной квартире:)
Искусственные (плановые) языки: эсперанто, идо, интерлингв(а/о).
Системные скрипты на Python
Мошенничество с пластиковыми картами (в свое время разработчик ПО для POS-терминалов).
GPSS (язык моделирования)
Паркур, акробатика, общая физподготовка, сноуборд
КВН
Производство ТВ продукта, съёмка в концертных залах(как технические так и организационные вопросы), съемка в студии(ток-шоу).

Гонки на клавиатуре

Reading time1 min
Views6.1K
typeracer.ruПредставляю обществественности свой проектик — онлайн-игру Гонки на клавиатуре. Это игра на яваскрипте, клавиатурный тренажер, скрещенный с автогонками. Цель проста — набирать текст быстрее соперников. Можно играть в одиночку, можно с другими посетителями сайта, можно создать отдельную игру для себя и своих друзей.

По сути, это русскоязычный клон аналогичной игры typeracer.com, но с рядом своих фишек.

Таймер «Самоконтроль» с новым дизайном

Reading time1 min
Views14K
image

Всем привет, вот и подошло время для нового обновления таймера «Самоконтроль». Теперь он стал красивее и умеет делать чуть больше вещей.

Страница с таймером: http://www.boomstudio.ru/portfolio/files/experiments/timer_control/

Если быть точнее, то появились следующие штуки:
1) Улучшенный дизайн (за это отдельное спасибо Станиславу Щербакову )
2) Появилась возможность ставить таймеры на паузу. Для этого достаточно «отжать» уже нажатую кнопку (кликнуть повторно по нажатой кнопке).
3) Теперь программа сама следит за обновлениями. Если ваша версия таймера устареет, то программа покажет сообщение о наличии новых версий программы. Правда скачивать и распаковывать обновления, пока, придётся всё-таки самим.
4) Теперь можно изменять названия кнопок и цвет таймеров. Эти настройки вынесены во внешний XML файл.

P.S.: Если кому-то будет интересно, то вот предыдущие обсуждения программы на хабре:
Обсуждение #1: habrahabr.ru/blogs/arbeit/59123
Обсуждение #2: habrahabr.ru/blogs/arbeit/59477

Совершенный код

Reading time4 min
Views19K
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
Damian Conway, co-designer of Perl 6

Хороший программный код определяется как минимум тремя признаками: однозначность, эффективность и сопровождаемость.

Однозначность – это в первую очередь стиль кодирования. Однозначность определяется тем, какие имена переменных и функций выбирает программист, как форматирует код, как обрабатывает ошибки и формирует структуру кода.

Эффективный код — это код, состоящий из эффективных алгоритмов. Эффективный не значит хрупкий, сложный или трудно сопровождаемый. Эффективность кода достигается путем использования сильных сторон языка и в то же время избеганием его слабостей.

Сопровождаемость заключается в том, что код пишется в первую очередь для тех, кто будет его сопровождать. Сопровождаемость – легкость использования написанного кода, минимизация возможности появления ошибок при его изменении.
Читать дальше →

О всемогущем рандоме

Reading time5 min
Views7.9K
image

Умный shuffle для плееров



В топике хотелось бы поделиться мыслями насчет того, каким должно быть «случайное воспроизведение» в плеерах (особенно это касается портативных плееров типа iPod)
Сам я являюсь владельцем iPod touch и постоянно пользуюсь им в машине, подключая его через AUX к магнитоле.
Фирма Apple изобрела какой-то «умный плейлист» — так называемый genius, но он как-то использует интернет и мнения других пользователей itunes.

Хотелось бы слышать и слушать именно то, что хочется слышать. Под катом собственно суть идеи.
Читать дальше →

Концепт программы для общения

Reading time3 min
Views2.6K
Написал и попросил запостить zelenov.
_________

Сейчас каждый новый месседжер вызывает огромный диссонанс в обществе, и многие просто метаются между разными программами. Может, просто нет лидера, а все программы похожи друг на друга как две капли воды?


Читать дальше →

Пособие: Красивая и удобная выпадающая панель для входа/регистрации

Reading time2 min
Views3.4K
Помните мою выпадающую панель для входа/регистрации, реализованную с помощью Mootools 1.2? Я подумал, что её можно было бы улучшить как с точки зрения дизайна, так и с точки зрения функциональности, и я это сделал! Но с этого времени уже на jQuery.

screenshot and demo
Читать дальше →

Evernote и «Вселисделал»: диктуйте заметки по телефону

Reading time3 min
Views3.9K
image

Перед нами постоянно стоит задача предлагать пользователям новые варианты для создания заметок в разных ситуациях. Уже есть клиентские приложения Evernote для разных платформ и мобильных устройств, тесная интеграция с операционными системами и браузерами — все это позволяет достаточно быстро и удобно создавать текстовые, аудио- и фотозаметки и синхронизировать их. Но есть одно «но». До сих пор пользователь все равно зависел от наличия Интернета. Кажется, нам помогли обойти и этот момент.

Да, действительно доступ к Интернету есть не всегда, но зато практически постоянно под рукой есть мобильный телефон. Итак, благодаря сервису «Вселисделал», теперь появилась возможность надиктовывать аудиозаметки и даже помечать их метками простым звонком на бесплатный номер. За несколько дней тестирования мы уже успели наиграться с этой функцией и остались в полном восторге. Самое подкупающее в этой возможности — простота и универсальность. Фиксировать свои мысли можно практически в любой ситуации — на ходу, за рулем в машине, на утренней пробежке и т. д.

Как это работает?

Для работы нужны связанные аккаунты в сервисах «Вселисделал» и, разумеется, Evernote. Небольшая инструкция о том как это сделать чуть ниже.
image
Когда все настроено, достаточно позвонить на бесплатный номер 8-800-100-3342 и после приветствия системы продиктовать пришедшую на ум мысль, предварив ее ключевым словом EVERNOTE (произносится как ЭВЕРНОУТ). Например: «ЭВЕРНОУТ. Не забыть взять на завтрашнюю встречу распечатку презентации. МЕТКА «важно». Через пару минут соответствующая заметка с распознанным текстом уже появится в Evernote, и ей будет назначена метка «важно». При этом к заметке будет прикреплен WAV-файл с исходной записью вашего голоса. Стоит отметить, что возможность добавлять заметки голосом доступна даже в базовом аккаунте «Вселисделал», то есть бесплатна для пользователей.
image

Как привязать аккаунт во «Вселисделал» к аккаунту Evernote?
Читать дальше →

Лучшие стартапы января

Reading time6 min
Views1.4K
image
Январь получился богатым на интересные проекты. Как в кино, фильмы вышедшие в Январе, как правило претендуют на Оскар, так и в стартапах, некоторые проекты вышедшие в Январе точно будут претендовать на попадание в десятку по итогам года. Тут вам и проект Бондарчука, в который собираются вложить 8 миллионов долларов, и перерождение chat.ru и инновационное для рунета интернет-телевидение.

Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Backend Developer
Lead
From 120,000 ₽
SQL
MySQL
Database
Oracle
Microsoft SQL Server
Software development
Delphi
SAS
BI
Business Intelligence