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

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

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

Время на прочтение 8 мин
Количество просмотров 34K
Разработка веб-сайтов *JavaScript *Программирование *Разработка игр *Алгоритмы *

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


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


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



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


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


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

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

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

Время на прочтение 6 мин
Количество просмотров 25K
Разработка веб-сайтов *Open source *JavaScript *Программирование *Big Data *
Привет, друзья! Я тут проанализировал 2ТБ кода и получил самые популярные слова в разных языках программирования. Результаты можно посмотреть в виде облаков тегов и простым списком:

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

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

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

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

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

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

image
Код + Сайт

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

Вселенная npm

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

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

весь npm

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

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

Время на прочтение 1 мин
Количество просмотров 8.8K
JavaScript *Node.JS *
Привет, друзья!

Я просто хотел поделиться с вами своей визуализацией зависимостей пакетов на 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.3K
JavaScript *Google Chrome
Привет, Друзья.

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

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



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

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

Время на прочтение 1 мин
Количество просмотров 4.8K
JavaScript *Node.JS *
Привет, Друзья!

Я просто хотел поделиться с вами простым проектом, который, надеюсь, поможет сохранить несколько минут при создании очередного 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 мин
Количество просмотров 18K
Разработка веб-сайтов *Open source *JavaScript *
Привет, Друзья!

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

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



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

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

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

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

Время на прочтение 2 мин
Количество просмотров 144K
Разработка веб-сайтов *JavaScript *
Привет, Хабралюди!

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



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

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

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

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

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

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

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

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

image


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

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

Webcam → Pixel Shaders → Fun

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

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

image


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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

5 декабря

Время на прочтение 1 мин
Количество просмотров 449
Чулан
Привет!

Не знаю, что это на меня нашло, и вроде бы не 9-е мая, но все же: под катом парад с Дня Победы 1945-го года.

Читать дальше →
Всего голосов 53: ↑21 и ↓32 -11
Комментарии 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

Где Мэт?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация

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