Специалист по БД
Опыт создания Ajax-приложения
В начале
В данной статье речь пойдет о написании Ajax-приложения. Если говорить проще — то, о написании сайта – работающего без перезагрузок. Быстро, легко, доступно. В этой статье не будет рассматриваться код серверной стороны, будут только примеры, для лучшего понимания.
Меня давно интриговала тема написания сайта, в котором несколько компонентов (например, flash плееры) не перезагружаются с каждым переходом по ссылкам, а продолжают себе напевать песенки. И вот однажды, набравшись смелости — я начал думать насчет структуры такого вот приложения. Что в итоге получилось — читайте ниже.
Почему фрилансер и заказчик часто считают друг друга идиотами

Осторожно, butthurt.
Новая версия Rusrails.ru — перевод официального руководства по Rails 3.1
Я, в свою очередь, к этому событию приурочил выход новой версии сайта Rusrails.ru, на котором публикую свои переводы официального руководства по Rails.
Над новой версией Rusrails я работал где-то с начала лета в свободное от работы время.
Практика радиосвязи, как она есть
Так же, наверняка, практически всем хабравчанам в школах, на уроках физики, рассказывали о колебательных контурах, распространении и длине волн, и прочих процессах, лежащих в основах любой технологии радио- и беспроводной связи.
Однако, поискав по хабру, я так и не нашел ни одной статьи, в которой рассказывалось бы о радиосвязи, с бытовой и любительской точки зрения. А ведь если подойти к радиосвязи именно с таким, бытовым взглядом – для одних она может стать удобным, а порой и незаменимым помощником во многих делах, а для других – перерасти в интересное увлечение или хобби. Именно с такими намерениями я хочу сегодня попытаться просто и доступно рассказать о радиосвязи, о том, как она есть в жизни, о том, с чем сам имел место столкнуться и познать.
Основы саунддизайна: киберпанк в Древнем Египте

Введение
Недавно был опубликован топик, по результатам обсуждения которого я решил написать эту статью. Мы разберём основы саунддизайна, используя два метода синтеза звука (а именно: субтрактивный и FM) на примере создания подходящего тембра для следующей мелодии. В результате у нас получится вот что.
Я сразу хочу предупредить: после прочтения этой (как и любой другой) статьи вы не станете крутым саунддизайнером — это целая профессия, требующая долгого и упорного изучения. Цель этой статьи — показать, как вообще всё это происходит. Я постараюсь продемонстрировать ход моих мыслей, дать некоторые базовые знания насчёт основных компонентов синтезатора и покажу пару интересных приёмов. Надеюсь, это вдохновит вас двигаться дальше — именно для этой цели в конце статьи я привёл краткий список того, что следует почитать, если тема покажется интересной.
Читаем QR код

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
GStreamer: кодеки с привкусом Linux
Контроль изменения структуры БД
Преамбула
Пару лет назад я и мои сотрудники столкнулись с проблемой сопровождения большого количества аналогичных БД на удаленных филиалах. Удалены они иногда на тысячи километров, а объемы исчислялись гигабайтами – что не позволяло использовать какое-либо зеркалирование серверов. Осложнялась ситуация мелкими отличиями, т.е. 95% бизнес-логики филиалов совпадало, но было ещё 5%, которые сильно мешали и ни о какой автоматической обработке группы филиалов не было и речи.
Трюки с моделями в Qt
В этой небольшой статье я научу вас, одному интересному трюку с моделями, который можно реализовать с помощью MVC фреймворка Qt.
Исходные данные для трюка.
Двухуровневая модель дерева:
|Parent 1
-----Child 1
-----Child N
|Parent N
-----Child 1
-----Child N
Модель списка:
Item1
Item2
Item3
В результате трюка мы получим модель объединяющую две вышеприведенные модели:
|Parent 1
------Child 1
------Child N
|Parent N
------Child 1
------Child N
|Item1
|Item2
|Item3
Приступим к реализации.
И так как же это сделать? Я думаю вы уже догадались что сделать это можно прибегнув к помощи QAbstractProxyModel. А вот и нет! К сожалению стандартный класс QAbstractProxyModel может преобразовать лишь одну исходную модель (что тоже неплохо). Поэтому мы напишем свою ModelJoinerProxy, которая будет компоновать наши две исходные модели в одно целое.
И так приступим:
Введение в многомерный анализ
Некоторое время назад мне довелось организовывать новую группу разработки, которая должна была заняться развитием OLAP и BI продуктов в дружеской софтверной компании. А так как группа была собрана из свежих выпускников ВУЗов, то мне пришлось написать «краткий курс молодого бойца» для того чтобы максимально доступно дать начальные понятия об OLAP людям, которые ни разу с ним не сталкивались, но уже имели опыт программирования и работы с БД.
Выкладываю теперь это Введение в Общественное Достояние.
В статье несколько смешиваются понятия OLAP, Business Intelligence, и Data Warehouse, но и в жизни часто сложно понять, где проходит граница. А уж в реальных проектах, так и подавно, все они ходят рядом. Поэтому прошу не судить строго.
Пишем электронную музыку. VSTi синтезаторы

Сейчас обычного компьютера вполне достаточно для создания качественной электронной музыки. Многие пробовали писать свою музыку, интересовались этой темой. Возникло желание поделиться своим опытом. Первая статья из серии будет на важнейшую тему — VSTi синтезаторы.
Что такое VSTi? Зачем нужны VSTi? Почему не хватит одних только семплов для создания качественной музыки?
Во-первых: такого семпла, который звучал так как хочешь, еще нужно найти. А это не так просто. Естественно существуют продакшен-библиотеки с готовыми мелодическими лупами, но в таком случае создание музыки подобно складыванию конструктора лего.
Во-вторых: семплу нельзя так же просто изменять звучание как звуку синтезатора.
В-треьих: при игре с семплом при помощью миди-клавиатуры стоит учитывать возможные артефакты, такие как алиасинг, разная длительность нот.
Семплы, конечно же, используються в ряде VSTi — семплерах и ромплерах, где например может быть засемплировано пианино или гитара. Что не возможно качественно создать одним синтезом. Но занимают много места и не имеют возможности полностью изменять звук как генерированые синты.
Как же можно создавать свое звучание?
Некоторые советы при работе с PLSQL
В этой части обсудим:
Как DRYить модели
Я тут постараюсь вкратце расписать, как в районе моделей и рыбку съесть, и про DRY не забыть.
Персонал: как не косячить с управлением командой
Вкратце:
- Хотят сотрудники работать по умолчанию или нет?
- Почему авторитарные лидеры вымирают.
- Насколько важно распространение информации (менеджмент «открытых книг»).
- Кто не косячит – тот не работает.
- Как мы собеседуем.
- Как мотивировать команду.
- О рандомных премиях.
- Корпоративы: может, лучше дать всем по $100?
Хорошие привычки в PL/SQL
Chosen: сделай выпадающие списки более дружественными
$(".chzn-select").chosen()
(версия для jQuery)По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.
Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.
Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
Автоконфигурация сетевых интерфейсов в Debian GNU/Linux
Версионная миграция структуры БД: почему так лучше не делать
Предыстория
В сети появляется масса разнообразных статей, посвященных миграции структуры базы данных, в которых предлагается множество вариантов безболезненного решения данной проблемы (стоит учесть, что необходимость в такого рода миграции уже сама по себе является серьезной проблемой). Любопытно, но исключить необходимость в таком решении предлагают существенно реже. Автор уверен, что вместо поиска решения сложной проблемы, лучше постараться ее предотвратить. Сделать это нужно как можно раньше. Ниже вас ждет рассказ о проекте, демонстрирующем негативную сторону миграции структуры базы данных.
Статьи, на которые стоит обратить внимание:
- Версионная миграция структуры БД: от теории к практике
- Версионная миграция структуры базы данных: основные подходы
Хитрости и трюки при использовании Wine

Всем привет!
Прочел статью про «Все тонкости настройки Wine», оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.
В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
Скорее всего данный пост будет интересен новичкам и обычным пользователям GNU\Linux. Тем не менее добротные советы от специалистов не будут лишними.
Information
- Rating
- 6,813-th
- Location
- Екатеринбург, Свердловская обл., Россия
- Date of birth
- Registered
- Activity