Обновить
203
0
anvaka@anvaka

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

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

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

Время на прочтение8 мин
Охват и читатели36K

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


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


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



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


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


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

Читать дальше →

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

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

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

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

Приятного чтения!
Читать дальше →

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

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

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

image
Код + Сайт

А деталей немножко под катом.

Вселенная npm

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

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

весь npm

Можно летать клавишами WASD, или если вы смотрите ее из телефона — просто вращая телефон вокруг (телефон должен поддерживать WebGL).
Читать дальше →

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

Время на прочтение1 мин
Охват и читатели9.5K
Привет, друзья!

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

npm visualization

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

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

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

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

P.S: Забавы ради я также сделал визуализацию в 3D, но пока от нее мало толку (кроме забавы).

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

Время на прочтение1 мин
Охват и читатели4.5K
Привет, Друзья.

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

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



Понимаю, что это очевидно. Но вдруг кому-то пригодится!

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

Время на прочтение1 мин
Охват и читатели5.2K
Привет, Друзья!

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

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

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



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

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

PS: «yo n» в два раза короче, чем «npm init»

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

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

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

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



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

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

читайте под катом

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

Время на прочтение2 мин
Охват и читатели147K
Привет, Хабралюди!

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



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

Как построить свою сеть?

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

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

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

тыць

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

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

image


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

О том, как это работает и ссылки на исходники/демо читайте под катом.
Читать дальше →

Webcam → Pixel Shaders → Fun

Время на прочтение1 мин
Охват и читатели1.3K
Привет, друзья!

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

image


PS: Есть еще три фото с эффектами, но я не хотел вставлять сюда, чтобы обойтись без ката. Отличного экспериментирования!

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

Время на прочтение1 мин
Охват и читатели1.2K
Привет!

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



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

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

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

Отличного программирования, друзья!

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

Время на прочтение1 мин
Охват и читатели605
FunПривет, Хабралюди!

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

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

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

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

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

ЗЫЖ 1996–1997 was declared International Nasreddin Year by UNESCO :) [wiki]

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

Время на прочтение1 мин
Охват и читатели859
Henry Ford
Привет!

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

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

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

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

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

PS: Увы, я не нашел возможности включить комментарии к заметкам, поэтому буду рад вашим комментарям здесь.

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

Время на прочтение2 мин
Охват и читатели837
Привет :)!

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

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

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

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



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

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

Где Мэт?

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

Читать дальше →

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

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

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

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

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

Вопрос навеян Литературой будущего.

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

Время на прочтение1 мин
Охват и читатели931
Привет :)!

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

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

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

ЗЫЖ С Днем Победы!
1

Информация

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