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

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

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

Библиотека быстрого поиска путей на графе

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

Привет, Друзья!


Я написал библиотеку поисков путей на произвольных графах, и хотел бы поделиться ей с вами.


Пример использования на огромном графе:



Поиграться с демо можно здесь


В библиотеке используется мало-известный вариант A* поиска, который называется NBA*. Это двунаправленный поиск, с расслабленными требованиями к функции-эвристике, и очень агрессивным критерием завершения. Не смотря на свою малоизвестность у алгоритма отличная скорость сходимости к оптимальному решению.


Описание разных вариантов A* уже не раз встречалось на хабре. Мне очень понравилось вот это, потому повторяться в этой статье я не буду. Под катом расскажу подробнее почему библиотека работает быстро и о том, как было сделано демо.

Читать дальше →
Всего голосов 114: ↑112 и ↓2+110
Комментарии53

Самые популярные слова в двух терабайтах кода

Время на прочтение6 мин
Количество просмотров26K
Привет, друзья! Я тут проанализировал 2ТБ кода и получил самые популярные слова в разных языках программирования. Результаты можно посмотреть в виде облаков тегов и простым списком:

image
Сайт находится здесь, а его исходники можно почитать на гитхабе.

Под катом описано в деталях о том как собирались данные, как строился сайт и как укладывались облака. И немножко наблюдений.

Приятного чтения!
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии65

Я тут это… Трекалку для времени написал. За 628 минут

Время на прочтение2 мин
Количество просмотров35K
Привет, Друзья! Пару недель назад я подумал: «А можно ли использовать гугловые таблицы (Google Sheets), как простое и безопасное хранилище данных?». О, а еще мне давно хотелось написать трекалку времени.

И вот что получилось:

image
Код + Сайт

А деталей немножко под катом.
Всего голосов 64: ↑58 и ↓6+52
Комментарии49

Вселенная npm

Время на прочтение3 мин
Количество просмотров31K
Привет, Друзья!

Хотел поделиться с вами своим последним мини-проектом: трехмерной визуализацией всего npm. Вселенная выглядит примерно так:

весь npm

Можно летать клавишами WASD, или если вы смотрите ее из телефона — просто вращая телефон вокруг (телефон должен поддерживать WebGL).
Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии22

Визуализация npm

Время на прочтение1 мин
Количество просмотров9.2K
Привет, друзья!

Я просто хотел поделиться с вами своей визуализацией зависимостей пакетов на npm'e. Выглядит это так:

npm visualization

Вы ему говорите имя пакета, он вам в ответ весь граф зависимостей. Затем можно проанализировать кто поддерживает пакеты и какие есть лицензии в графе.

Все исходники доступны здесь: github.com/anvaka/npmgraph.an
Рабочая версия сайта здесь: npm.anvaka.com/#

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

Надеюсь, кому-нибудь пригодится. Буду рад любым пожеланиям!

P.S: Забавы ради я также сделал визуализацию в 3D, но пока от нее мало толку (кроме забавы).
Всего голосов 37: ↑35 и ↓2+33
Комментарии14

Отладка Chrome Dev Tools из Chrome Dev Tools

Время на прочтение1 мин
Количество просмотров4.4K
Привет, Друзья.

Просто хотел поделиться небольшим советом: Если вам когда-нибудь будет любопытно почитать исходники Google Chrome Dev Tools, то к ним можно подцепиться средствами самого Хрома.

Откройте Dev Tools в плавающем окне и нажмите Ctrl + Shift + J (на макоси Cmd + Option + J). Вот скринкаст:



Понимаю, что это очевидно. Но вдруг кому-то пригодится!
Всего голосов 15: ↑7 и ↓8-1
Комментарии4

yo n — быстрое начало для нового node.js проекта

Время на прочтение1 мин
Количество просмотров5.1K
Привет, Друзья!

Я просто хотел поделиться с вами простым проектом, который, надеюсь, поможет сохранить несколько минут при создании очередного node.js пакета. Вот все, что сделает проект, после набора в командной строке yo n:

1. Запустит «npm init»
2. На основе ваших ответов из package.json, создаст файл с лицензией, readme, начальный файл и включит тестовый фреймворк.
3. Создаст и опубликует проект на GitHub'e.

А вот и видео всего описанного выше в действии:



Исходники на гитхабе: github.com/anvaka/generator-n

Надеюсь, пригодится :)!

PS: «yo n» в два раза короче, чем «npm init»
Всего голосов 20: ↑13 и ↓7+6
Комментарии2

Поиск похожих проектов на GitHub

Время на прочтение3 мин
Количество просмотров19K
Привет, Друзья!

Гитхаб — прекрасный сайт. Но представьте, что вы нашли проект А, и хотите узнать какие еще существуют похожие проекты. Как быть?

Именно с таким вдохновением уселся я разбирать API GitHub'a. Спустя пару недель свободного времени вот что получилось:



Для большинства проектов находится пара действительно интересных предложений. Вот несколько примеров: angular.js, front end bookmarks, three.js

Основная идея для построения рекомендаций — «Разработчики которые поставили звездочку этому проекту, также поставили звездочку...». А детали идеи, ее недостатки и ссылка на код — ниже.

читайте под катом
Всего голосов 68: ↑63 и ↓5+58
Комментарии33

Визуализация «В Контакте»: Скажи мне, кто твой друг?

Время на прочтение2 мин
Количество просмотров145K
Привет, Хабралюди!

У меня есть хобби. Я ночами (в нерабочее время) пишу библиотеку укладки графов: vivagraph.js. Хотел поделиться с вами, узнать что думаете. Визуализировал я сеть друзей своих на «В Контакте» с использованием WebGL. Но лучше один раз увидеть, чем читать, верно?



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

Как построить свою сеть?
Всего голосов 314: ↑302 и ↓12+290
Комментарии256

Внедрение кода в Silverlight

Время на прочтение4 мин
Количество просмотров2.4K
imageВ свободное время я занимаюсь разработкой Snoop'a. Это отличное подспорье WPF разработчикам, которое не имеет хороших бесплатных аналогов в мире Silverlight. Snoop внедряет свою сборку в WPF процесс и раскладывает его по полочкам.

Мне стало любопытно: можно ли внедрить произвольную сборку в исполняющийся сильверлайт процесс извне браузера? (можно) Об этом и пойдет речь под катом.

тыць
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Верхом на… сетевом пакете

Время на прочтение4 мин
Количество просмотров6.1K
Я задумался над вопросом: сколько стран предстоит пройти одному сетевому пакету с момента ввода в браузер habrahabr.ru и до приветливого мигания диода на Том Самом Сервере.

image


Начался путь с беспроводного роутера, в моей прихожей. Потом — укртелекомовский сервак (он скрытым пожелал остаться). Затем, минуя Будапешт, направился пакетик в Штаты. Петлял недолго там, и залетев в Германию и Лондон, осел в России где-то.

О том, как это работает и ссылки на исходники/демо читайте под катом.
Читать дальше →
Всего голосов 107: ↑81 и ↓26+55
Комментарии31

Webcam → Pixel Shaders → Fun

Время на прочтение1 мин
Количество просмотров1.2K
Привет, друзья!

О поддержке веб камеры в четвертом сильверлайте писали уже не раз. Я же хотел бы поделиться исходниками, демонстрирующими несколько эффектов, примененных к выходу с камеры. Если у вас есть камера и установленный Silverlight 4.0 Beta 1, вы можете посмотреть на себя с необычной стороны в живой демке.

image


PS: Есть еще три фото с эффектами, но я не хотел вставлять сюда, чтобы обойтись без ката. Отличного экспериментирования!
Всего голосов 28: ↑15 и ↓13+2
Комментарии9

Шейдеры и немного магии

Время на прочтение1 мин
Количество просмотров1.1K
Привет!

В последнее время я «проникся» идеей создания custom-эффектов в Silverlight 3 beta/WPF. В качестве упражнения решил сделать эффект Джинна на Silverlight. Эффект Джинна — это эффект сворачивающегося окошка в Mac OS:



Для правильной работы демки вам понадобится… Silverlight 3 beta — справа ссылка на установку необходимого рантайма. Итак, вот что из этого получилось: демо (потягайте зеленый квадратик-лампу, нажмите Help).

Для тех, кому интересно узнать, как создавать свои собственные эффекты, и что именно стоит за Genie, я написал этот пост.

Авось, кому-нибудь когда-нибудь да пригодится :).

Отличного программирования, друзья!
Всего голосов 65: ↑40 и ↓25+15
Комментарии27

Ходжа Насреддин

Время на прочтение1 мин
Количество просмотров558
FunПривет, Хабралюди!

Поправьте меня, пожалуйста, если нарушаю правила Хабра сим постом (ибо остатки кармы все же важны :) ).

Вчера закончил читать «Повесть о Ходже Насреддине» в исполнении Соловьева. Ни на секунду не мог избавиться от вопроса: «Почему? Почему до сих пор нет мульт-шедевра по книге?».

Если вы читали книгу, думаю, вы меня понимаете. Если же нет — только представьте себе главного героя, с острым умом изысканнейшего мошенника, и потрясающим, добрым сердцем, что ведет Ходжу по жизни. Представили? Теперь добавьте к этому колорит Ближнего Востока XVIII века. И, завершающий штрих — серенький ишак (хм… в каком мульте я уже видел серого ишака?). Эта гремучая смесь, в красивой упаковке (например, от Пиксара, или от Мельницы) способна взорвать смехом не один кинотеатр.

Кстати, для Пиксара, с его футуристическим, крышусносящими мультиками, это могло бы быть чем-то новеньким :).

Сюда пишу, в надежде, что пост попадется на глаза нужным людям :). Ведь как там, в Теории Малого Мира? Все мы знакомы со Стивом Джобсом через 6 рукопожатий?

ЗЫЖ 1996–1997 was declared International Nasreddin Year by UNESCO :) [wiki]
Всего голосов 33: ↑17 и ↓16+1
Комментарии9

Генри Форд об IT

Время на прочтение1 мин
Количество просмотров798
Henry Ford
Привет!

Во время очередной вылазки на книжный рынок, встретилась автобиография Генри Форда, по смешной цене (4 у.е.).

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

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

1. Форд пишет про IT, а не про автомобили.
2. Гуру маркетинга и радикальный предсказатель бизнеса Том Питерс шагает в ногу с идеям Форда сто лет спустя.
3. Вспоминается Майкл Делл: «Все что не помагает — идет лесом», «Давайте упростим это» и т.п.

По ходу чтения отмечал для себя занятные идеи. Все они зашарены в Google Notebook'e — надеюсь, они также будут интересны и вам.

PS: Увы, я не нашел возможности включить комментарии к заметкам, поэтому буду рад вашим комментарям здесь.
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

Паттерн Break (перерыв)

Время на прочтение2 мин
Количество просмотров762
Привет :)!

Нашел у Кента Бека в «TDD» один прекрасный паттерн: Break. Думаю, в равной степени он подходит как фрилансерам, так и офисным проффи.

«Что делать, если вы почувствовали усталость или зашли в тупик? Прервите работу и отдохните.

Выпейте кофе, пройдитесь или даже вздремните. Стряхните с себя эмоциональное напряжение, связанное с решениями, которые вы принимаете, и символами, которые вы набираете на клавиатуре.

Иногда самого короткого перерыва достаточно для того, чтобы недостающая идея возникла в вашей голове. Возможно, вставая из-за компьютера, вы неожиданно нащупаете нужную нить: «Да я же не попробовал этот метод с пересмотренными параметрами!» В любом случае прервитесь. Дайте себе пару минут. Идея никуда не убежит.



  • В масштабе нескольких часов держите бутылку с водой рядом с вашей клавиатурой и время от времени прихлебывайте из нее. Благодаря этому естественная физиология будет подсказывать вам, когда и зачем необходимо сделать короткий перерыв в работе.
  • В масштабе дня вы должны хорошо отдохнуть после завершения рабочего времени.
  • В масштабе недели вы отдыхаете в уик-энд. И это наполняет вас силами и идеями, благодаря чему вы можете приступать к новой рабочей неделе. (Моя жена утверждает, что самые лучшие идеи возникают у меня вечером в пятницу.)
  • В масштабе года вы получаете отпуск, что позволяет вам полностью освежиться. Французы подходят к этому вопросу очень правильно — двух последовательных недель отпуска недостаточно. В течение первой недели вы сбрасываете с себя рабочее напряжение, а в течение второй недели вы подсознательно готовите себя к работе. Поэтому для того, чтобы хорошо отдохнуть и эффективно работать в течение всего следующего года требуется три, а лучше четыре недели отдыха.
»

ЗЫЖ Я не люблю хабракат. Это мой личный пункт: когда вечером читаешь хабра-топ Google reader'ом очень раздражает необходимость кликать на «читать дальше», переключать контекст, ждать пока загрузится страница и в итоге видеть Error 502: Bad gateway. Не пинайте, пожалуйста.
Всего голосов 17: ↑15 и ↓2+13
Комментарии11

Где Мэт?

Время на прочтение1 мин
Количество просмотров563
Смотрю этот ролик уже пятый, не последний, раз. Не могу понять, что цепляет и откуда столько счастья и улыбки. Хочется поделиться:

Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии23

Что не так с книгами?

Время на прочтение1 мин
Количество просмотров640
Привет, хабралюди!

А вам никогда не казалось, что с книгами что-то не так? Т.е. в корне не так. Человечество пропустило что-то в своем развитии. Что-то настолько же важное, как и колесо. Ну или, может быть, еще просто не дошло до этого.

Должен быть еще какой-то способ передачи и распространения информации. Более эфективный и удобные чем все ныне существующие?

Мне иногда кажется, что если бы можно было писать сны и просматривать их в любое удобное время, то… не знаю, что тогда — наверное, мы бы развивались немножко быстрее. А может, вся наша жизнь и есть один большой сон (ага, матрица)?

Вопрос навеян Литературой будущего.
Всего голосов 10: ↑5 и ↓50
Комментарии1

Многонаправленный перевод

Время на прочтение1 мин
Количество просмотров884
Привет :)!

Google теперь разрешает переводить тексты и сайты с любого языка на любой. Ограничение на Англо-Какой_то и Какой_то-Английский направления исчезли, а страничка перевода была немного обновлена.

Что интересно, их AJAX Language API тоже поддерживает переводы в разных направлениях, хоть об этом и умалчивают в документации. Не медля, решил воспользовался сим замечательным фактом: мой доморощенный ассоциативный переводчик обзавелся новым интерфейсом и возможностями :). Появился быстрый своп языков (наведите на ») и возможность смены safe search'a картинок на лету.

Буду рад, если кому-то пригодится :)!

ЗЫЖ С Днем Победы!
Всего голосов 20: ↑12 и ↓8+4
Комментарии14
1

Информация

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