Как стать автором
Обновить
17
0
zotia @zotia

Пользователь

Отправить сообщение

Ликвидатор велосипедов: часть 1

Время на прочтение3 мин
Количество просмотров15K
imageЭтим постом я начинаю серию статей, которые должны помочь каждому разработчику избавиться от велосипедов в своих последующих и текущих проектах. Усилить код и увеличить функционал. Каждый из нас хочет внести в свою программу нечто, что сделает ее богаче, но зачастую решение либо не находится, либо лень тратить время на поиски… Либо внутри сидит глупая уверенность что это можно реализовать быстро и не менее функционально. В любом случае я хочу чтобы каждый пробежался глазами по спискам библиотек, которые я вам предоставлю на суд, и чтобы у каждого эти библиотеки отложились в памяти. И когда их функционал пригодится в будущем, я очень надеюсь что вы вспомните этот пост и поищите эти библиотеки вместо того чтобы писать все новые и новые велосипеды, полные палок в колесах.
Начну я с оконных менеджеров.
Читать дальше →
Всего голосов 119: ↑101 и ↓18+83
Комментарии52

Android клиент для piter.fm и moskva.fm

Время на прочтение1 мин
Количество просмотров908
Доброго времени суток.
Итак, прошел примерно месяц с того момента, как я решил попробовать написать что-нибудь для платформы Android. Долгое время удерживало отсутствие реального аппарата и отсутствие свободного времени. Благо не так давно появился аппарат, да и времени стало побольше. После недолгих раздумий в голову пришла идея написать клиентское приложение для всеми нами любимых сайтов http://piter.fm и http://moskva.fm. Приложение решил написать не ради чего-то, а то что его действительно не хватало, по крайней мере мне. Напоминаю, что http://piter.fm и http://moskva.fm являются сайтами, где можно прослушивать не только прямой эфир питерских и московских радиостанций, но и прослушивать его в записи. Было решено сделать приложение максимально простым и удобным, без лишних фич и наворотов. На данный момент реализована возможность прослушивания лишь прямого эфира той или иной радиостанции. Для работы приложения необходимо наличие SD карты и интернета.
Читать дальше →
Всего голосов 75: ↑69 и ↓6+63
Комментарии58

Музыка из кейгенов. Как это работает?

Время на прочтение4 мин
Количество просмотров35K
Еще давно очень многих интересовал один вопрос: «Эта программа занимает всего 100 кб, что за музыку она воспроизводит? Как это работает?»

Так вот, называется это чудо – Трекерная музыка. И что самое главное – она занимает очень мало места, в отличие от .mp3 или .wav. В современных популярных ОС трекерные файлы (MOD, XM, S3M, IT и пр.) проигрываются большинством медиаплееров, например, Winamp, VLC, Amarok, Audacious и другими.

Скачать такую музыку можно, например отсюда — keygenmusic.net, или отсюда www.modarchive.org. Это отнюдь не единственные ресурсы, стоит только обратиться к поиску.

Для того, чтобы воспроизвести такую музыку в своей программе, нам потребуется минимальное знание C++, а также minifmod, доступный в исходниках. Как заявляют разработчики, minifmod добавит всего 50 кб к вашему exe-файлу (без учета сжатия).

читать дальше
Всего голосов 82: ↑67 и ↓15+52
Комментарии112

Система непересекающихся множеств и её применения

Время на прочтение10 мин
Количество просмотров71K
Добрый день, Хабрахабр. Это еще один пост в рамках моей программы по обогащению базы данных крупнейшего IT-ресурса информацией по алгоритмам и структурам данных. Как показывает практика, этой информации многим не хватает, а необходимость встречается в самых разнообразных сферах программистской жизни.
Я продолжаю преимущественно выбирать те алгоритмы/структуры, которые легко понимаются и для которых не требуется много кода — а вот практическое значение сложно недооценить. В прошлый раз это было декартово дерево. В этот раз — система непересекающихся множеств. Она же известна под названиями disjoint set union (DSU) или Union-Find.

Условие


Поставим перед собой следующую задачу. Пускай мы оперируем элементами N видов (для простоты, здесь и далее — числами от 0 до N-1). Некоторые группы чисел объединены в множества. Также мы можем добавить в структуру новый элемент, он тем самым образует множество размера 1 из самого себя. И наконец, периодически некоторые два множества нам потребуется сливать в одно.

Формализируем задачу: создать быструю структуру, которая поддерживает следующие операции:

MakeSet(X) — внести в структуру новый элемент X, создать для него множество размера 1 из самого себя.
Find(X) — возвратить идентификатор множества, которому принадлежит элемент X. В качестве идентификатора мы будем выбирать один элемент из этого множества — представителя множества. Гарантируется, что для одного и того же множества представитель будет возвращаться один и тот же, иначе невозможно будет работать со структурой: не будет корректной даже проверка принадлежности двух элементов одному множеству if (Find(X) == Find(Y)).
Unite(X, Y) — объединить два множества, в которых лежат элементы X и Y, в одно новое.

На рисунке я продемонстрирую работу такой гипотетической структуры.


Как такое сделать и зачем оно нужно
Всего голосов 114: ↑109 и ↓5+104
Комментарии29

Разбор исходного кода языков программирования и языков разметки

Время на прочтение4 мин
Количество просмотров11K
..it is true that asking regexes to parse arbitrary HTML is like asking Paris Hilton to write an operating system..

Последние версии языка Nemerle включают в состав библиотеку для разбора языков, грамматика которых принадлежит классу PEG.

Что такое PEG?


В отличии от других инструментов для создания парсеров, PEG описывает не грамматику, а стратегию её разбора, но фактически описание стратегии разора является описанием грамматики. Для парсера описанного с помощью PEG существует алгоритм (packrat), разбирающий любой текст, удовлетворяющий грамматике из этого класса, за линейное время от длинны текста.

Класс языков, которые можно разобрать с помощью парсеров описанных подобным образом, достаточно широк, чтобы покрыть популярные языки программирования (например, C#) и языки разметки. Очевидно, что он покрывает всю функциональность регулярных выражений.
Про PEG для Nemerle и других .Net языков
Всего голосов 36: ↑33 и ↓3+30
Комментарии15

Подслушиваем в AD

Время на прочтение3 мин
Количество просмотров47K

Введение
Я только недавно столкнулся с виндовыми доменами (Active Directory) и познаю много нового и удивительного. Так уж получилось, что значительное количество пользователей в домене организации имеют права локальных админов (технические специалисты, программисты и другие) (ведь не редко так бывает?). Но последствия от этого колоссальны. В данной статье мы рассмотрим как можно подслушивать звуки (разговоры, переговоры) на удаленных машинах.
Читать дальше →
Всего голосов 99: ↑80 и ↓19+61
Комментарии82

Пи. Научно не популярное

Время на прочтение1 мин
Количество просмотров4.1K
Пи — математическая константа, выражающая отношение длины окружности к длине её диаметра. Обозначается буквой греческого алфавита «пи». Пи в Википедии.


Но речь сегодня не об этом.
Читать дальше →
Всего голосов 277: ↑254 и ↓23+231
Комментарии188

Муравьиные алгоритмы

Время на прочтение8 мин
Количество просмотров83K

Предисловие


Совсем недавно в этом блоге была опубликована статья, посвященная алгоритму поведения роя пчел. Данная статья рассказывает о другом алгоритме роевого интеллекта, называемом муравьиным алгоритмом. Она состоит из введения, вкратце рассказывающего о заимствованном природном механизме, описания оригинального алгоритма Марко Дориго, обзора других муравьиных алгоритмов и заключения, в котором указываются области применения муравьиных алгоритмов и перспективные направления в их исследованиях.

Введение


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

Эти факты, однако, никак не согласуются с успешностью муравьев как вида. Они существуют на планете более 100 миллионов лет, строят огромные жилища, обеспечивают их всем необходимым и даже ведут настоящие войны. В сравнении с полной беспомощностью отдельных особей, достижения муравьев кажутся немыслимыми.
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии43

Как мы использовали SVN в сложном проекте

Время на прочтение5 мин
Количество просмотров7.4K
Начало


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

В качестве основы разработки была выбрана библиотека Qt, Так как до этого все проекты на предприятии велись в Delphi, мы стали первооткрывателями этого мощнейшего инструмента. До этого никто из нас не занимался разработкой коммерческих продуктов с использованием библиотеки Qt.
Читать дальше →
Всего голосов 74: ↑42 и ↓32+10
Комментарии74

МГТУ им. Баумана, Компьютерные системы и сети

Время на прочтение9 мин
Количество просмотров87K
Предлагаю вашему вниманию заметку про кафедру «Компьютерные системы и сети» (ИУ6) МГТУ им. Баумана, которую я закончил три года назад. Прокомментировал основные предметы и учебный процесс в целом. Рассказал то, о чем не говорят в приемной комиссии. Бесспорно, что в Бауманке есть очень сильные преподаватели, идущие в ногу со временем, на лекциях которых по-настоящему интересно. Но, к сожалению, для кафедры ИУ6 это редкость…
Если интересно, то добро пожаловать
Всего голосов 103: ↑85 и ↓18+67
Комментарии145

Как работают алгоритмы сортировки

Время на прочтение1 мин
Количество просмотров22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».
Всего голосов 185: ↑151 и ↓34+117
Комментарии63

Web-сервер на Debian GNU/Linux для начинающих

Время на прочтение1 мин
Количество просмотров19K
Web-сервер на Debian GNU/Linux для начинающих» для начинающих
Руководство рассчитано на пользователей, которые собираются впервые использовать Debian GNU/Linux после работы с MS Windows.

Установка и использование web-сервера на Debian GNU/Linux, рассмотренное в данном руководстве, ориентированы на разработчиков веб-приложений и сайтов, использующие домашний компьютер в качестве платформы для разработки.

«Web-сервер на Debian GNU/Linux для начинающих» содержит в себе четыре главы:

* Часть 1: установка и настройка Debian GNU/Linux;
* Часть 2. Установка и настройка web-сервера;
* Часть 3. Установка и настройка Drupal;
* Часть 4. Установка и работа с Drush.

Подробное содержание
Всего голосов 93: ↑66 и ↓27+39
Комментарии73

Все решения к задачке к Дню Программиста

Время на прочтение8 мин
Количество просмотров1.5K

Я решил объединить все отправленные решения к задаче «С Днем Программиста» в одном топике. При появлении новых решений топик будет обновляться. За понравившиеся решения предлагаю кормить плюсиками авторов, а хабрачитателей награждать инвайтами.
Код на картинке, кстати, тоже решает эту задачу :)
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии28

Экспорт Дней рождения из вКонтакте в Google Calendar

Время на прочтение3 мин
Количество просмотров40K
UPD: Скрипт устарел, он больше не работает и не поддерживается. Попробуйте использовать более новые аналоги, например вот этот.



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

Читать дальше →
Всего голосов 125: ↑117 и ↓8+109
Комментарии94

Foobnix — новый музыкальный плеер

Время на прочтение3 мин
Количество просмотров14K
Думаю ни для кого не секрет что в линуксе великое множество разнообразных музыкальных плееров на любой вкус — Rhytmbox, Exaile, Banshee, DeadBeef, Decibel, Clementine, Amarok, XNoise, QMMP, Audacious, Minitunes, gMusicbrowser, MPD(Sonata...) итд. Все они имеют как преимущества так и недостатки, многие поддерживают плагины для расширения функционала, некоторые умеют использовать скины — казалось бы что совсем не проблема найти то что полностью устроит именно тебя. Но пробовав их все лично я так и не смог остановить свой выбор на одном, нужные мне функции были в разных плеерах. Вот так и пользовался я сразу 3 плеерами:
  • QMMP — для быстрого и удобного проигрывания локальной музыки по каталогам
  • Exaile — для проигрывания музыкальной коллекции и музыки с вКонтакта
  • prostopleer.com — в основном для прослушивания популярных треков с радиостанций(TOP100 песен из 60 радио) в онлайне, иногда скачивая нужные треки себе.
Естественно было не очень удобно и тут случилось чудо — вчера совершенно случайно наткнулся на пост о плеере Foobnix, сначала подумал что это очередной велосипед и даже не хотел пробовать, но все же прочитал описание на сайте, потом поставил и не пожалел. Очень обрадовало то что разработчик русский и довольно активно дорабатывает плеер. На текущий момент последняя версия плеера всего 0.2.0 — но он уже достаточно много умеет.
image
Читать подробное описание под катом
Всего голосов 94: ↑76 и ↓18+58
Комментарии155

Судоку на скорость

Время на прочтение1 мин
Количество просмотров2.4K
Есть у спортсменов одна давно доказанная истина — когда ты один на беговой дорожке, твои результаты далеки от идеала; но когда по соседней дорожке бежит примерно равный соперник, ты способен ставить рекорды. Жажда победы проявляет в организме скрытые резервы. Применив этот же принцип к старой головоломке судоку, можно получить практически новую игру, а процесс поиска цифр способен вызывать совершенно другие эмоции.
Однажды мне пришло в голову, что решать судоку можно (и хотелось бы) одновременно с оппонентами, да еще и видеть при этом, насколько они уже продвинулись в решении. И желание это вылилось в создание небольшой браузерной игры. В этой игре Вы решаете судоку, одновременно ту же головоломку решают Ваши соперники. Цифры по мере решения задачи появляются на экранах сразу у всех игроков — разгадал один, а увидели все. Задача, естественно, — опередить соперников и разгадать как можно больше цифр. Попробовать сыграть можно здесь.
UPDATE. За время хабраэффекта найдено немалое количество мелких и не очень багов. Но за последние 20 минут в логах ни одной даже мелкой ошибки — надеюсь, можно идти спать).
Читать дальше →
Всего голосов 49: ↑38 и ↓11+27
Комментарии39

Анонс коммуникатора Garmin-Asus на Android

Время на прочтение5 мин
Количество просмотров22K
Навигационные смартфоны – довольно новые устройства на мобильном рынке. В прошлом году дебютом стали модели Garmin-Asus G60 и M20. В начале этого года вышла модель M10. А сейчас представляем Вам новую модель Garmin-Asus A10.

image

В отличие от других телефонов с поддержкой GPS, навигационные смартфоны предлагают не только карту с отмеченным на ней вашим местоположением. Это ещё и дополнительные важные функции – такие как навигация, топографическая информация, рекомендации и советы интересных мест или событий на карте, информация о пробках и многое другое, доступное парой касаний пальцем.
Крупнейшие телекоммуникационные компании в этом году сообщили о повышении интереса среди потребителей навигационных услуг и возможностей. Новый Garmin-Asus A10 готов удовлетворить потребности каждого желающего открыть для себя новый мир в движении. Созданный на открытой мобильной платформе Android смартфон сможет стать вашим путеводителем и помощником не только в дороге, но и на работе, отдыхе и развлечениях.
Читать дальше →
Всего голосов 56: ↑30 и ↓26+4
Комментарии81

Delivery Club

Время на прочтение2 мин
Количество просмотров1.1K
Delivery club – это сервис позволяющий заказать еду в Москве из любой службы доставки на 1м сайте, выбрав лучшую/ближайшую/любимейшую службу доставки. Получая при этом ряд вкусностей, таких как бонусные баллы, дополнительный контроль заказов, попинывание служб доставки по вашему заказу. =)
Но это вы все наверняка помните (судя по количеству постоянных клиентов пришедших к нам с хабра)!
image
Нам кстати 1го сентября годик исполнится!
Читать дальше →
Всего голосов 32: ↑18 и ↓14+4
Комментарии26

OBOOBS.RU // Open B(.)(.)BS Project — небольшой проект про сиськи (женские)

Время на прочтение1 мин
Количество просмотров41K
OBOOBS.RU

Привет, хабралюди. Сегодня вдруг уже пятница — идеальный день для показывания вам достаточно необычного ресурса про сиськи. Сделали мы его с другом ещё в прошлом году, но как-то всё допиливали всякие мелочи. А сейчас вдруг решили, что всё, пора рассказать о себе.

Главной целью было сделать неотвратительный ресурс про обнажённых девушек — нам было очень странно от того, что на эту тему не нашлось ничего простого, минималистичного и без невозможного количества порнобаннеров. И мы решили заполнить этот пробел.

Сайт копирует модель коллективной фильтрации от bash.org.ru — состоит из двух разделов: Сигнал (отобранные и разбитые по категориям картинки) и Шум (огромное количество картинок, добавленных самими пользователями, выдаётся пользователям рандомно). Время от времени, самые популярные картинки из Шума уходят в Сигнал, «попадают на главную» (заодно и в RSS валятся). Вот и всё. Можно только добавить, что крутится всё на django (nginx, apache+mod_wsgi), postgresql и prototype.

Приходите к нам смотреть на красивые сиськи!
Всего голосов 372: ↑306 и ↓66+240
Комментарии187

Очередной массовый взлом ICQ-UIN'ов

Время на прочтение1 мин
Количество просмотров2.6K
Сразу от нескольких человек из контакт-листа в течение небольшого интервала пришло предложение скачать файл Snatch.exe под видом очередной мини-игры.

Snatch - Trojan.Win32.Snatch

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

На форумах, например на E1, говорят, что после перезагрузки в асю уже нельзя войти и от вашего UIN'а начинается рассылка этого же файла. Лечится удалением из процессов Snatch.exe и очисткой всех связанных с ним записей в реестре. А вот пароль от ICQ придётся восстанавливать.

Spycheck говорит, что это Trojan.Win32.Snatch.

Что интересно, из разговоров с ботами видно, что создатели вируса не поленились научить их общаться.

UPD. Скачать файл с вирусом для изучения и, собственно говоря, прохождения игры можно здесь. Внимание! Будьте осторожны! Там вирус...
Всего голосов 194: ↑129 и ↓65+64
Комментарии254

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность