Сэм Арон (Sam Aaron), один из разработчиков Overtone, выложил впечатляющее видео, как он синтезирует мелодии в редакторе Emacs, используя различные приёмы — триггеры инструментов, назначение будущих событий и проектирование сэмплов — на языке Clojure. Музыка звучит сразу после написания строчки кода (live coding).
Владимир Губарьков @xonix
CTO
CPIO под микроскопом
4 min
17K
Данный архив позволяет собирать любое число файлов, директори и других объектов файловой системы (символических ссылок и т.д.) в единый поток байт.
Давайте на примерах рассмотрим формат этого архива.
+26
Проблема «maximum-subarray» на примере курса доллара
3 min
7.2KВ чём суть
В статье предлагается найти промежуток дат, за который можно было заработать больше всего на разнице в курсе доллара к рублю за последние 5 лет.

На русском языке наименование проблемы будет звучать примерно как максимальная сумма элементов подмассива в массиве. В статье приведен алгоритм вычислений, а так же результат его работы.
+10
Разбор атак на части: SYN-flood
6 min
55KSpoofed SYN — атака, при которой заголовки пакетов подделывается таким образом, что место реального отправителя занимает произвольный либо несуществующий IP-адрес.
Так как по сути SYN является частым инструментом "интенсивной конкурентной борьбы" и — в то же время — большинство решений DDoS mitigation показывают впечатляющую эффективность именно на этом виде атак, то и мы начнем c SYN-flood, рассмотрев spoofed-вид атаки, как самый грозный из них.
+44
Интернет-радио своими руками
4 min
234KКак сделать свою радиостанцию в интернете?

Для ответа на этот вопрос, сначала нужно спросить себя о том, зачем нужно делать эту радиостанцию и что она будет из себя представлять. Но если Вы уже давно нарисовали в своей голове этот маленький «бизнес-план», то «добро пожаловать под кат» к изучению мат-части.
+28
Тюнинг для папки Public в Dropbox
3 min
6.9K
Однако, такое простое задание как поделится файлами с незарегистрированным пользователем будет весьма накладно: придется давать ссылку на каждый файл (предварительно поместив их в папку Public), который требуется передать. Поэтому Вы наверняка воспользуетесь либо одним из известных файлообменников или же простой электронной почтой. Но почему бы не организовать такой файл-хостинг с удобным интерфейсом у себя в Dropbox?
+52
Почему в WiMax и LTE используют OFDM
18 min
124KTutorial

Аббревиатура OFDM расшифровывается как Orthogonal frequency-division multiplexing. В русскоязычной литературе встречается несколько различных переводов, несущих, в принципе, один смысл: OFDM — это механизм мультиплексирования (уплотнения) посредством ортогональных поднесущих.
В статье описаны плюсы и минусы механизма OFDM. Рассмотрен принцип функционирования с физико-математической позиции. Статья содержит вводное описание радиофизических терминов, необходимых для понимания материала широкому кругу читателей.

Иллюстраций: 18, символов: 27 399, строк кода: 99.
+265
Сегментация изображения
5 min
95KСегментация изображения
Одной из основных задач обработки и анализа изображений является сегментация, т.е. разделение изображения на области, для которых выполняется определенный критерий однородности, например, выделение на изображении областей приблизительно одинаковой яркости. Понятие области изображения используется для определения связной группы элементов изображения, имеющих определенный общий признак (свойство).
Один из основных и простых способов — это построение сегментации с помощью порога. Порог — это признак (свойство), которое помогает разделить искомый сигнал на классы. Операция порогового разделения заключается в сопоставлении значения яркости каждого пикселя изображения с заданным значением порога.

+59
Использование Spring в OSGi-контейнере
14 min
48K
Вряд ли найдётся Java разработчик, который не знает что такое Spring Framework. Одними из базовых технологий данного фреймворка являются IoC контейнер и поддержка AOP. Эти технологии позволяют успешно разбивать архитектуру приложения на обособленные слои, как на уровне классов, так и на уровне компоновки объектов во время выполнения. Казалось бы, что приложение отлично структурировано на элементы/слои, но по своей сути оно остаётся монолитным. Монолитным во время выполнения (runtime)! Только в рамках данного фреймворка не существует универсальных решений этой проблемы. Чуть меньшее количество Java разработчиков слышало об OSGi. Это спецификация модульных систем для Java платформы. Использование конкретной реализации данной спецификации в качестве основы приложения позволяет сделать его модульным, как во время выполнения, так и на физическом уровне (уровне файлов). О синергии этих технологий и пойдёт речь в этой статье.
+49
Clonezilla Server — бэкап 100 ПК по ночам теперь не проблема
2 min
51KЕсли вы не знакомы с проблемой, когда из-за неверного обновления Ubuntu или от шалостей очередного вируса в Windows, систему нужно поднимать с колен, то дальше будет скучно.
Бэкап — это страховка системного администратора. Обычно бэкапируют данные, которые можно безвозвратно потерять — базы 1С, файлы и папки, БД Oracle, конфиги DHCP и т.д. Что же происходит с ПК, на котором трудиться обычный клерк, если неожиданно помирает HDD? Начинается круговерть — ставим ОС, накатываем ПО, учетки, принтеры и т.д.
А как же топ-директора, главный бухгалтер и другие важные личности, которым во-первых нужно так, как было, а во-вторых рабочий и настроенный компьютер уже через 30-60 минут?
Использовать Clonezilla Server (CE)!
Бэкап — это страховка системного администратора. Обычно бэкапируют данные, которые можно безвозвратно потерять — базы 1С, файлы и папки, БД Oracle, конфиги DHCP и т.д. Что же происходит с ПК, на котором трудиться обычный клерк, если неожиданно помирает HDD? Начинается круговерть — ставим ОС, накатываем ПО, учетки, принтеры и т.д.
А как же топ-директора, главный бухгалтер и другие важные личности, которым во-первых нужно так, как было, а во-вторых рабочий и настроенный компьютер уже через 30-60 минут?
Использовать Clonezilla Server (CE)!
+3
История интернет-магазина, ставшего мировым монополистом за $5 000
10 min
86KTutorial
Прочитав много литературы по истории бизнеса и наблюдая рост популярности Интернет-торговли, автору этих строк хотелось реализовать свои знания на практике. Искали подходящую тему для проекта. Необходимыми условиями были:
1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина
По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина
По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
+636
Мигель де Икаса даёт советы по Unix
2 min
6.4KОдин из самых известных Unix-программистов Мигель де Икаса (основатель проектов GNOME и Mono) в своём блоге дал парочку советов, как повысить продуктивность работы в шелле Unix. Он говорит, что иногда встречает молодых хакеров и бывает поражён, насколько мало трюков они знают.
Мигель де Икаса рекомендует ликбез по-быстрому:
1. Прочитать «Unix. Программное окружение» Кернигана и Пайка [русское издание], займёт несколько дней, от силы неделю. Книжка очень старая (1984), но лучше всех разъясняет автоматизацию различных действий в консоли. Вторая книжка — UNIX for the Impatient, чтобы прокачать навыки.
Мигель де Икаса рекомендует ликбез по-быстрому:
1. Прочитать «Unix. Программное окружение» Кернигана и Пайка [русское издание], займёт несколько дней, от силы неделю. Книжка очень старая (1984), но лучше всех разъясняет автоматизацию различных действий в консоли. Вторая книжка — UNIX for the Impatient, чтобы прокачать навыки.
+61
Строим DSL на C# при помощи парсер-комбинаторов
9 min
13KTranslation

Перевод статьи Николаса Блумхардта, известного .NET разработчика, автора IoC/DI контейнера Autofac. В этой статье Николас показывает на реальном примере как с наименьшими усилиями написать парсер предметно-ориентированного языка программирования с помощью Sprache, библиотеки парсер-комбинаторов.
Наш текущий проект включает в себя небольшой процесс подачи и утверждения заявок на создание учетных записей пользователей. Это хороший пример для обсуждения предметно-ориентированных языков и Sprache. Сейчас я опишу некоторые требования.
Набор типов учетных записей пользователей является неограниченным; в настоящее время это «служащий», «подрядчик», «временный сотрудник» и так далее. Для получения учетной записи, пользователь должен заполнить соответствующую анкету.
При сборе и сохранении данных анкеты, её содержание не имеет значения, пока соответствующая информация не будет представлена администратору, который в конечном итоге утвердит или отклонит заявку.
+38
Стереоизображение — это просто
3 min
52KПривет, %username%.
В данной статье я хочу рассказать, как можно самостоятельно создать стереоизображение при помощи графического редактора и небольшой программы.


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


Введение
Для начала рассмотрим, как устроено стереоизображение и как на него смотреть.
+180
Вы еще не авторизуетесь по ключам? Тогда мы идем к вам
3 min
194KЕсть куда более полезная и подробная памятка по ssh от amarao, а эта статья пусть останется в том виде, в котором была написана в далеком 2011.
Этой заметкой я хочу показать, что использовать ключи для авторизации это просто.
Начнем с того, что нам понадобится PuTTY.
Идем на http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html и качаем следующее:
PuTTY — ssh-клиент
Pageant — агент для хранения ключей (зачем объясню позже)
PuTTYgen — генератор ключей
+34
Продолжения в Haskell
6 min
5.4KПродолжение — это состояние программы в определённый момент, которое мы потом можем использовать, чтобы вернуться в то состояние.
С помощью продолжений можно реализовать обработку исключений, подобие goto и множество других вещей напоминающих императивные конструкции.
Также, используя продолжения можно улучшить производительность программы, убирая ненужные «обёртывания» и сопоставления с образцом.
В этой статье я расскажу, как можно реализовать продолжения в Haskell, и покажу несколько интересных функций работающих с ними.
С помощью продолжений можно реализовать обработку исключений, подобие goto и множество других вещей напоминающих императивные конструкции.
Также, используя продолжения можно улучшить производительность программы, убирая ненужные «обёртывания» и сопоставления с образцом.
В этой статье я расскажу, как можно реализовать продолжения в Haskell, и покажу несколько интересных функций работающих с ними.
+32
Монады с точки зрения теории категорий
9 min
36KTranslation
Введение
Кажется, монады в программировании стали загадкой века. И для этого есть две причины:- недостаточное знание теории категорий;
- многие авторы стараюстся не упоминать категории вообще.
Мы начнём с простого введения в категории и функторы, затем дадим определение монады, приведём простые примеры монад в категориях и в конце приведём монадическую терминологию используемую в языках программирования.
Я уверен, что монады с точки зрения категорий почти элементарны.
Содержание
+84
Как начать работать с GitHub: быстрый старт
6 min
1.3M
Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.
В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.
В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.
+148
Почему находится всё: ответ Яндексу от разработчиков Shop-Script
5 min
46KМы являемся разработчиками скрипта интернет-магазина Shop-Script, который волей-неволей стал замешан во вчерашней истории о том, что Яндекс проиндексировал приватные данные покупателей многих интернет-магазинов. В статье шла речь о магазинах, работающих на основе движка Shop-Script. Я понимаю, что могу получить много гневной критики от тех, кто считает, что вина полностью на разработчике движка, однако, считаю необходимым отразить нашу позицию и постараюсь объективно описать, что произошло, обсудить возможные решения.
Вчера, конечно, было неожиданностью узнать о сложившейся ситуации. Первое, что мы сделали — это проверили, все ли магазины подвержены такой проблеме. Оказалось, что далеко не все. Было преподложение, что проблема может быть в магазинах, которые установили какой-нибудь плагин или сторонний серверный модуль. Но оказалось, что дело и не в этом. Все магазины, у которых страницы с приватными данными клиентов появились в результатах поиска Яндекса, объединяло одно — установленный код Яндекс.Метрики. В точности, как и в недавнем случае с «Мегафоном».
Далее — о том, откуда взялись ссылки на приватные страницы, и как они могли попасть в индекс Яндекса, масштабности проблемы и возможных решениях.
Вчера, конечно, было неожиданностью узнать о сложившейся ситуации. Первое, что мы сделали — это проверили, все ли магазины подвержены такой проблеме. Оказалось, что далеко не все. Было преподложение, что проблема может быть в магазинах, которые установили какой-нибудь плагин или сторонний серверный модуль. Но оказалось, что дело и не в этом. Все магазины, у которых страницы с приватными данными клиентов появились в результатах поиска Яндекса, объединяло одно — установленный код Яндекс.Метрики. В точности, как и в недавнем случае с «Мегафоном».
Далее — о том, откуда взялись ссылки на приватные страницы, и как они могли попасть в индекс Яндекса, масштабности проблемы и возможных решениях.
+98
Неограниченый объём облачного хранилища
2 min
9.5KНа сегоднящний день известно множество сервисов, предоставляяющих доступ облачного хранения данных (наиболее популярный из них — dropbox). Почти во всех есть бесплатный аккаунт с ограниченным объёмом данных. В статье Прокачиваем DropBox в режиме «Full auto» рассказывалось как можно увеличить объём вашего dropbox аккаунт а на 8 Гб не тратя при этом никаких усилий.
Однако в данной статье пойдёт речь о получении «неограничнного» объёма в облаке, используя сервисы на основе WebDAV.
Кому интересно – добро пожаловать!
Однако в данной статье пойдёт речь о получении «неограничнного» объёма в облаке, используя сервисы на основе WebDAV.
Кому интересно – добро пожаловать!
+20
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity