Search
Write a publication
Pull to refresh
1
0
Владимир Пестов @KozzyKoder

User

Send message

HOLO — The Music Amalgamation System

Reading time9 min
Views22K
HOLO — приставка от греческого ὅλος, «весь».
Введение

Не без волнения рад представить вашему вниманию свою разработку, позволяющую объединять музыкальную библиотеку в единое целое с целью поиска «похожей» музыки.
Ещё несколько лет назад, на пике самостоятельного изучения MATLAB, мне захотелось создать программу, которая позволяла бы по заданному образцу музыки находить другие композиции «в том же духе». Куча уважительных причин заставляли откладывать реализацию всё дальше и дальше, но в какой-то момент дело сдвинулось с мёртвой точки. В результате, слегка изменив основу для разработки, первая версия программы была сделана.
Длинная статья

Нужно ли учиться в университете?

Reading time4 min
Views84K
Последнее время подобные обсуждения на околоайтишных ресурсах — не редкость. Мнения айтишников все больше и больше сводятся к тому, что учеба в университете — обычная трата времени, потому что они — [айтишники без диплома, бросили университет, купили диплом] — нужное подчеркнуть. Такая точка зрения понятна и имеет право на существование. Но хочу поговорить об этом вопросе с другого ракурса. Конечно же, в каждом конкретном случае все индивидуально, но некие общие выводы можно сделать.

Сам закончил университет и защитил кандидатскую диссертацию (кстати, она была очень тесно связана с тематикой работы в ИТ компании), поэтому может сложиться впечатление, что я буду оправдывать нашу образовательную систему. Это не так, но, в любом случае, постараюсь быть объективным.
Читать дальше →

Преобразование меню в выпадающий список на маленьких экранах

Reading time2 min
Views28K
image

В качестве примера того, что мы получим в результате, можно посмотреть сайт «Five Simple Steps» с адаптивной версткой. Когда окно браузера имеет маленькую ширину, меню в верхнем правом углу превращается из обычного ряда ссылок в выпадающее меню.
Читать дальше →

Сердитый Гражданин

Reading time3 min
Views12K


Хорошо бы превратить телефон в палочку-выручалочку, наделенную безграничной властью. Каждая уважающая себя корпорация сейчас делает проекты по дополненной реальности – но nokia city lens и goolge glass по сути лишь выводят подсказки к объектам.

А что, если мы сможем менять свое окружение одним кликом на своем смартфоне? Именно так летом родился наш проект “Сердитый Гражданин” – видишь коммунальную проблему, фоткаешь ее на телефон и… все, она автоматически решается сама в установленный законом срок.

Когда мы запускали проект этим летом, все звучало подозрительно просто:

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

Оптимизация запросов в SQLite. Используем rowid

Reading time2 min
Views30K
Во время недавней оптимизации запросов в базу данных наткнулся на описание работы SQLite с rowid. Если вкратце: в каждой таблице есть int64 столбец rowid, значение которого является уникальным для каждой записи в таблице. Посмотреть значение можно по имени «rowid» и в запросе * оно не показывается.

Записи хранятся как B-дерево по rowid. И это делает очень быстрым поиск и выборку по rowid. В два раза быстрее чем по primary key или по индексированному полю. Как я понял, поиск по индексированному столбцу — это поиск по B-дереву, в результате которого мы находим rowid. И уже имея rowid — ищем нужную запись.

Напрашивается очевидный вопрос: как сделать чтобы rowid и наш PRIMARY KEY совпадали?
Читать дальше →

Проект Дневники Инженера: challenge accepted!

Reading time2 min
Views4.2K
imageКогда из разработчика становишься консультантом или коучем, то сразу появляются следующие вопросы:
  • А почему ты перестал быть программистом?
  • Как ты можешь учить, если сам не кодишь?
  • Неиграющий тренер?
  • ваш вопрос

Что самое главное — вопросы такого типа нельзя считать на 100% троллингом, все они обоснованы. Чтобы как-то ответить на эти вопросы и было решено стартовать этот проект. Проект частично будет обучающим (будет рассмотрены техники XP и гибкого тестирования), частично развлекательный, частично направленный на развитие сообщества и так далее. Больше подробностей под катом.
Читать дальше →

SQL-доступ к NoSQL-данным: реализация SQL-процедуры в Caché с динамическим определением возвращаемых метаданных

Reading time13 min
Views5.5K
Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.

О том, как снять это ограничение, рассказано под катом.
Читать дальше →

Кто использует Node.js: Trello (Часть 1)

Reading time6 min
Views11K
Довольно часто встречаю вопросы типа: «А кто вообще из крупных/известных/заметных IT компаний использует в производстве Node.js?». 19 января 2012 года в блоге компании Fog Creek, основанной небезызвестным Джоелом Спольски (Joel Spolsky), была опубликована статья «The Trello Tech Stack». Странно, что на Хабре это как-то обошли вниманием. Поэтому, чтобы исправить этот недостаток, а заодно показать пример использования Node.js в крупном проекте, я сделал перевод этой статьи.

Сама статья довольно объемная, поэтому разбита на две части:

Часть 1
  • CoffeeScript
  • Клиент
    * Backbone.js
    * HTML5 History API
    * Mustache
  • Pushing and Polling
    * Socket.io and WebSockets
    * AJAX запросы

Часть 2
  • Сервер
    * node.js
    * HAProxy
    * Redis
    * MongoDB
  • Итак, нравится ли нам это?

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

О портировании мобильных приложений на платформы Windows Phone и Windows 8

Reading time5 min
Views12K
Многие компании задумываются о разработке мобильных клиентов для своих сервисов для Windows Phone и Windows 8. В большинстве случаев мобильные клиенты для iOS/Android уже написаны и задача компании — портировать их на мобильные платформы Windows. О том, с какими вопросами / проблемами / особенностями могут столкнуться компании и разработчики мне бы хотелось поговорить в этой статье.
Сделайте также!

Самая частая постановка задачи, с которой нам приходилось сталкиваться, звучит таким образом: вот клиент для Android/iOS, сделайте так же.

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

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

Жизнь и смерть информационных технологий

Reading time6 min
Views44K
В этой заметке хотелось бы поговорить о технологиях, устройствах и других интересных фишках из мира ИТ, которые не стали популярными, уступили или вскоре уступят свое место под солнцем в процессе эволюции.

Почему нумерация дисков в Windows начинается с буквы С?


Вопрос «What are the Windows A: and B: drives used for?» не так давно был задан на популярном Q&A-сайте www.superuser.com, который в данный момент лидирует по количеству голосов.

Один из лучших комментариев звучит так: «Знание ответа на этот вопрос заставляет меня чувствовать себя таким старым...» (Knowing the answer makes me feel so old...).

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

Управление разработкой в стиле BDSM

Reading time5 min
Views9.7K
Управление разработкой — очень интересная штука, она вроде бы как есть, а, с другой стороны, ее как бы и нет. При этом на этой зыбкой грани между явью и фикцией многие люди довольно недурно зарабатывают, и ваш покорный слуга в том числе.

Честно говоря, написание этого текста преследовало вполне корыстные цели: он является некоторой лакмусовой бумажкой для отправки людям, с которыми предстоит сотрудничать.

И, расставив все точки над i, нужно либо кидаться с головой в бездну страстей, либо окончательно размежеваться. Итак, немного о том, почему бывают факапы и чем их нельзя исправить.
Часть первая: Bondage

Инженерный подход к подготовке специалистов по программной инженерии

Reading time15 min
Views37K
Статья посвящена использованию методологий и инструментов, применяемых в программной инженерии, для организации процессов воспитания и обучения студентов по IT-специальностям. Предложено использовать модель зрелости процессов (CMM) для образования, системы управления версиями, системы отслеживания ошибок, формальные онтологии, проектную методологию и коллективные формы изучения дисциплин.



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

Плагины для ReSharper 7.1

Reading time2 min
Views8.9K
Только недавно мы выпустили ReSharper 7.1, но уже пора поздравить плагинописателей, которые сумели подготовить свои плагины для новой версии. Большинство выпущенных плагинов являются OSS-проектами, над которыми авторы работают в свободное время, так что нам бы хотелось поблагодарить их за поддержку нашей экосистемы. Вот небольшой обзор плагинов, которые уже готовы для работы с R# 7.1.

Если интересно...

Онлайн-инструменты для кодеров

Reading time2 min
Views286K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

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

Законы Мерфи в IT

Reading time6 min
Views48K
Не так давно мне довелось беседовать с разработчиком, не понимавшим, почему полностью резервированная связь между ЦОДами не может гарантировать 100% доступность сервиса.
Читать дальше →

Microsoft терпит неудачу?

Reading time12 min
Views330K
На SlashDot и других западных площадках активно обсуждается интересная статья Charlie Demerjian «Microsoft has failed». Она написана сложным английским, но поднимает актуальные вопросы, не ограничиваясь, к примеру, вопросами удобства или неудобства плиточного интерфейса. Хоть про автора говорят, что часто пишет слишком мрачно, но на мой взгляд, материал — в стиле доброго сарказма неравнодушного человека, и вполне достоин публикации и обсуждения на хабре. Переведена 1в1, без изменений.

Microsoft терпит неудачу?


Nov 14, 2012
Charlie Demerjian @ semiaccurate.com

У Microsoft большие проблемы: 2 основные продуктовые линейки терпят неудачу, и поиски виноватых ускоряются. В этот раз за провал Windows 8 винят Стива Синофского (Steve Sinofsky), но настоящая проблема заключается в модели поведения, которую иллюстрируют такие действия.
Microsoft сильно не соответствует реалиям сегодняшнего дня: те немногие рынки, на которых она играет, испаряются с поражающей воображение скоростью. Давно известная привычка компании отгораживаться от остального мира, игнорируя мнения окружающих, работает неплохо до тех пор, пока нет достойной альтернативы, и такая стратегия была для компании основополагающей настолько давно, что ничего другого не осталось. Модель работает, но с ростом стен безразличия растет раздражение клиентов, тем самым увеличивая ценность возможных альтернатив. Этот цикл повторяется до тех пор, пока альтернатив нет. Как только они появляются, то всё рушится с устрашающей быстротой.
Читать полностью

[ANN]ounce книг 11'2012

Reading time5 min
Views19K
Подобные анонсы книг выходят у меня не так и часто, но от этого они не становятся менее полезными. Как обычно, я подготовил список новинок компьютерной или околокомпьютерной литераторы на русском и английском языках, которые вышли недавно в свет, или же появятся в какое-то ближайшее время.
Это не список рецензий, а всего лишь перечень книг, которые я сам с удовольствием прочитаю в ближайшее время. Так что мое мнение основано скорее на имени автора и какого-то «средневзвешенного» мнения народа в наших с вами интернетах, и оно вполне может измениться после более близкого знакомство с этими творениями. Тем не менее, все они, как минимум, заслуживают нашего с вами внимания и достойны добавиться в бесконечный список книг на полке “to-read”.


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

Сайт для программиста [на Node.js]. Просто. Стильно. Бесплатно

Reading time5 min
Views93K

Большинству программистов нужен сайт или хотя бы своя страничка в сети. Да что там программистам, почти у всех обычных людей уже есть свой сайт, пусть даже в виде аккаунта Вконтакте.

Меня аккаунт Вконтакте, и даже в Фейсбуке в качестве своего сайта не устраивает. Слишком много лишнего, навязанный формат и прочие неудобства.

Если бы я не был веб-разработчиком, мне пришлось бы плакать и грызть кактус. К счастью, я им являюсь, поэтому решил сделать себе сайт сам. Чтобы выкладывать на нём статьи вроде этой, небольшие хобби-проекты, и чтобы было что указать в поле «сайт» профиля на Хабре.

Если вы тоже хотели бы иметь сайт, который полностью контролируете, на котором всё именно так, как вам хочется, но всё никак руки не доходили разобраться и сделать, то эта статья для вас.

Некоторые знания HTML и JS вам пригодятся. Опыт работы с Node.js не обязателен.

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

Dart: веб-компоненты в действии

Reading time3 min
Views12K

Веб-компоненты — новый веб стандарт, разрабатываемый Google. Некоторые считают, что он должен стать трендом в ближайшее время. И я, попробовав его в деле, пожалуй соглашусь с таким мнением.
Подробное описание стандарта: habrahabr.ru/post/152001

Разработчики дарта не стали ждать и начали реализовывать поддержку веб-компонентов уже сейчас. После того как я об этом узнал, мой интерес к дарту усилился в двойне. Изучив статью с примерами, мне показалось что с веб-компонентами можно творить чудеса:

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

О вреде part time занятости

Reading time3 min
Views43K
Part Time — это зло.
Не абсолютное, конечно, зло, но в 90% случаев это так.

Под part time я имею ввиду «параллельную» работу над разными задачами в рамках разных проектов и/или в одном проекте но в рамках различных областей компетенций. «Параллельная» в кавычках т.к. по имеет место переключение между задачами до их их полного завершения.

Давайте попробуем разобраться в причинах и последствиях такого широко распространенного явления.
Читать дальше →

Information

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