Pull to refresh
205
0
anvaka @anvaka

User

Send message

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

Reading time8 min
Views35K

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


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


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



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


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


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

Читать дальше →
Total votes 114: ↑112 and ↓2+110
Comments53

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

Reading time6 min
Views26K
Привет, друзья! Я тут проанализировал 2ТБ кода и получил самые популярные слова в разных языках программирования. Результаты можно посмотреть в виде облаков тегов и простым списком:

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

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

Приятного чтения!
Читать дальше →
Total votes 84: ↑81 and ↓3+78
Comments65

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

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

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

image
Код + Сайт

А деталей немножко под катом.
Total votes 64: ↑58 and ↓6+52
Comments49

Вселенная npm

Reading time3 min
Views31K
Привет, Друзья!

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

весь npm

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

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

Reading time1 min
Views9.1K
Привет, друзья!

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

npm visualization

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

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

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

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

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

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

Reading time1 min
Views4.4K
Привет, Друзья.

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

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



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

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

Reading time1 min
Views5K
Привет, Друзья!

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

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

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



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

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

PS: «yo n» в два раза короче, чем «npm init»
Total votes 20: ↑13 and ↓7+6
Comments2

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

Reading time3 min
Views18K
Привет, Друзья!

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

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



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

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

читайте под катом
Total votes 68: ↑63 and ↓5+58
Comments33

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

Reading time2 min
Views145K
Привет, Хабралюди!

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



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

Как построить свою сеть?
Total votes 314: ↑302 and ↓12+290
Comments256

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

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

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

тыць
Total votes 14: ↑14 and ↓0+14
Comments6

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

Reading time4 min
Views5.9K
Я задумался над вопросом: сколько стран предстоит пройти одному сетевому пакету с момента ввода в браузер habrahabr.ru и до приветливого мигания диода на Том Самом Сервере.

image


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

О том, как это работает и ссылки на исходники/демо читайте под катом.
Читать дальше →
Total votes 107: ↑81 and ↓26+55
Comments31

Webcam → Pixel Shaders → Fun

Reading time1 min
Views1.2K
Привет, друзья!

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

image


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

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

Reading time1 min
Views1.1K
Привет!

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



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

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

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

Отличного программирования, друзья!
Total votes 65: ↑40 and ↓25+15
Comments27

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

Reading time1 min
Views538
FunПривет, Хабралюди!

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

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

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

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

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

ЗЫЖ 1996–1997 was declared International Nasreddin Year by UNESCO :) [wiki]
Total votes 33: ↑17 and ↓16+1
Comments9

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

Reading time1 min
Views759
Henry Ford
Привет!

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

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

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

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

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

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

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

Reading time2 min
Views736
Привет :)!

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

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

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

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



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

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

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

Reading time1 min
Views611
Привет, хабралюди!

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

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

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

Вопрос навеян Литературой будущего.
Total votes 10: ↑5 and ↓50
Comments1

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

Reading time1 min
Views853
Привет :)!

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

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

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

ЗЫЖ С Днем Победы!
Total votes 20: ↑12 and ↓8+4
Comments14
1

Information

Rating
Does not participate
Location
Seattle, Washington, США
Date of birth
Registered
Activity