Как стать автором
Обновить
12
0

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

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

Структуры данных для программистов игр: bulk data

Время на прочтение19 мин
Количество просмотров17K
image

Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я использую только для одного конкретного алгоритма и ни для чего больше (например, кучи для реализации очереди с приоритетом в алгоритме поиска пути A*).

В повседневной работе я обычно обхожусь на удивление малым количеством структур данных. Чаще всего мне пригождаются:

  • Общие массивы данных (Bulk data) — способ эффективного хранения большого количества объектов.
  • Слабые ссылки (Weak reference) (или дескрипторы (handle)) — способ обращения к объектам в bulk data без сбоев программы в случае, если объект удалён.
  • Индексы — способ быстрого доступа к отдельным подмножествам в bulk data.
  • Массивы массивов — способ хранения объектов bulk data с динамическими размерами.

Я посвящу несколько статей тому, как я обычно реализую все эти структуры. Давайте начнём с простейшей и самой полезной — bulk data.
Читать дальше →

ТОП-10 видео природы, снятых дронами

Время на прочтение1 мин
Количество просмотров14K
image

Изначально дроны были предназначены для военных целей, но за последние годы их стали больше использовать для съемок видео в самых разных уголках Земли. Редакция RoboHunter решила сгладить наступление осени этой подборкой невероятной красоты.
Читать дальше →

Замена чипсета на материнской плате

Время на прочтение19 мин
Количество просмотров358K
Просматривая недавно архив своих фото, я обнаружил фотографии со своей прошлой работы, которые было бы интересно посмотреть многим. Фотографии сделаны для себя мобильным телефоном Samsung Galaxy S в разное время, некоторые смазаны, но, увы — что есть и других уже не будет.

Прежде чем увлечься разработкой под Android, я пару лет ремонтировал компьютеры и ноутбуки. Ниже я рассказу об одной из сложнейшей операции по ремонту матплат и видеокарт — замене чипсета, далее «чип». А в конце статьи немного о том, почему ноутбуки ломаются. Думаю, что стоит предупредить — «не пытайтесь повторить это дома».
Читать дальше →

Самые популярные торрент-сайты: рейтинг на начало 2015 года

Время на прочтение2 мин
Количество просмотров52K
В начале 2015 года KickassTorrents вырвался на первое место по трафику, а следом за ним идёт Torrentz. «Икона» файл-шаринга The Pirate Bay пока ещё не работает, но его суммарные клоны, копии и последователи участвуют в рейтинге совместно.

Остальные пункты списка заняты уже известными сайтами. С прошлого года произошла лишь одна замена – место выбывшего Bitsnoop.com занял Limetorrents.cc. Один из старейших сайтов, Demonoid, вернувшийся в онлайн после долгого отсутствия, хоть и не попал в рейтинг, но неуклонно карабкается вверх. Мы ещё можем увидеть его в чарте.

Итак, сам чарт (основан на данных от Alexa и U.S. Compete, и некоторых других показателях):
Смотреть чарт

10 сайтов для поиска работы в Европе

Время на прочтение2 мин
Количество просмотров326K
Поиск работы – задача не из простых, особенно в текущих неблагоприятных экономических условиях. Европейский ресурс Tech.eu в честь запуска своего сервиса по поиску работы подготовил список из десяти сайтов, которые помогут вам подыскать себе место под европейским солнцем, если вы, по какой-либо причине, желаете уехать на заработки в ЕС.
Завожу трактор

10 роботов, больше всех повлиявших на историю

Время на прочтение4 мин
Количество просмотров19K
image

Было бы неправильно, если GeekTech ничего не написал бы для Недели робототехники, и если есть вещь, которую этот блог любит, то это роботы. Роботы постоянно вокруг нас, начиная от кофеварки на кухне, заканчивая сборочными линиями на работе. Но откуда пришли первые роботы? Кто были основоположниками тех роботов, которых мы видим сейчас?

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

Дарим роботов на Новый год

Время на прочтение5 мин
Количество просмотров15K
Новый год осталось ждать уже недолго и многие уже распланировали свои отпуска. С другой стороны о подарках мы начинаем задумываться зачастую только в последние предновогодние дни. Для тех, кто покупает подарки заранее или просто хочет подготовить необычный подарок, подготовлена данная обзорная статья. Всем остальным рекомендую сохранить статью в закладках, чтобы числа 28го внезапно вспомнить о ней, открыть, и, не ломая голову, бегом в магазин. Как вы уже поняли из заголовка, выбирать мы будем исключительно из роботов, ну и, возможно, пару радиоуправляемых моделей.

image

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

Кто кого читает в ЖЖ — анализ пересечения аудиторий топовых блоггеров

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

Начало


Тема исследования связей в социальных сетях становится все более актуальной по разным причинам: попытка ответить на вопрос о степени связности участников сетей; скорости и путях распространения информации; об эффективности целевой рекламы, в конце концов. Да и сам процесс исследования и поиска неявных связей затягивает!

Для своих исследований в этом направлении я выбрал самый «кипящий» кусок рунета, а именно – русский сегмент Живого Журнала. Туманно сформулированный вопрос звучал примерно таким образом: можно ли выделить блоггерские «группировки» исходя из структуры связей между пользователями сервиса ЖЖ, т.е. располагая лишь информацией о «френдах».

Выдвинув в качестве рабочей гипотезы идею о том, что подобную информацию можно извлечь из анализа аудиторий популярных журналов я столкнулся с задачей получения достоверных данных об этих аудиториях. Базовые средства сервиса livejournal не дают возможность получить полный список читателей блога мультитысячника. Поэтому, первым шагом, пришлось собрать структуру связей русского ЖЖ на домашнем компьютере.

Забегая вперед скажу: социальный граф русского ЖЖ в моем исследовании имеет 2,08 млн. вершин и 58,05 млн. дуг. Интересно? Тогда под катом довольно много букв, цифр и картинок.

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

Какие средства публикации и просмотра фотопанорам существуют для тех, кто не прибегает к услугам внешних хостингов?

Время на прочтение7 мин
Количество просмотров14K
Спору нет: Gigapan, 360 Cities, ViewAt всё это неплохие глобальные сборники и хостинги фотопанорам для публикации и просмотра всеми желающими. О достоинствах 360 Cities многие из нас узнали, разглядывая восьмидесятигигапиксельную панораму Лондона; кроме того, панорамы 360 Cities дней пять назад были включены в фотослой Google Earth. Отдельным слоем в Google Earth показываются и избранные панорамы из Gigapan; другим достоинством Gigapan является флэшёвый демонстратор многомегапиксельных и даже многогигапиксельных фотографий, который может бесплатно размещаться на других сайтах и подкачивает увеличенное изображение по мере нужды (примерно подобно тому, как Google Maps или Google Earth подкачивает свои детальные спутниковые фотографии). Это явное преимущество по сравнению с сайтом 360 Cities (который требует платы за размещение панорам за пределами некоммерческих вебсайтов) и с фотопроигрывателем ViewAt (который сперва подкачивает всю панораму из Сети, и лишь затем начинает показывать её).

Но я собрал вас поговорить о другом: наверное, есть и такие аналогичные средства для демонстрации фотопанорам, которыми пользуется фотограф, желающий разместить фотопанорамы на своём собственном сайте вместо внешнего хостинга? Или (что примерно то же самое) такие средства, которыми пользуется бизнес: музей, или картинная галерея, или какой-нибудь магазин — желающий разместить фотопанорамную экспозицию своего товара в Интернете?

Что это за средства? Как организуется просмотрщик на сайте, как организуется фотоматериал для просмотра и для подкачки по мере нужды? Есть ли открытые, свободные, или хотя бы бесплатные, готовые решения для этой цели? А если нет открытых и свободных, то каковы платные?

У меня до сих пор нет настолько хорошего ответа на эти вопросы, который бы вполне меня устраивал. Я предлагаю, однако, обозреть более дюжины решений, самому мне попадавшихся; быть может, сообщество Хабрахабра заполнит пробелы в моих изысканиях.

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

Шпионские гаджеты от АНБ

Время на прочтение10 мин
Количество просмотров395K
imageСреди документов опубликованных Эдвардом Сноуденом, бывшим сотрудником ЦРУ и Агентства национальной безопасности США, были обнаружены материалы описывающие некоторые детали технологий шпионажа используемых АНБ. Список программных и аппаратных средств оформлен в виде небольшого каталога. Всего сорок восемь страниц отмеченных грифами «Секретно» и «Совершенно секретно», на которых дано краткое описание той или иной технологии для слежки. Данный список не является исчерпывающим. Представлены техники связанные с получением скрытого доступа к вычислительной технике и сетям, а также способы и устройства радиоэлектронной разведки связанные с мобильной связью и оборудование для наблюдения. В этой статье я расскажу об этих методах шпионажа, далее будет четыре дюжины слайдов(осторожно, трафик).
Узнать больше

Распределенный музыкальный плейер на Raspberry Pi

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

Давно собирался написать этот пост, но прогресс шел медленно. К ускорению темпа подтолкнул этот вопрос, где я имел неосторожность обмолвиться, что пишу такой пост, в результате чего он вызвал живой интерес, поэтому мне ничего не оставалось делать, как выполнять данное обещание, за что выражаю отдельную благодарность автору вопроса M03G, с чьей подачи и был получен мной этот ускоряющий пендель. А так как пост, похоже, увидит свет в пятницу, я позволил себе довольно вольный (извините, вышел каламбур невольный) стиль изложения. Надеюсь, все останутся довольны.

(Да, пост во многом пересекается с постом Распределенный аудиоплеер на Odroid U2, но чуть проще в настройке)
Читать дальше →

Виза L1 США, один шаг до Грин Карты

Время на прочтение4 мин
Количество просмотров116K
image Виза L1 выдается менеджерам высшего звена зарубежных компаний, которые открывают представительство в США. Эта виза позволяет совершить трансфер управляющего сотрудника в США, где он будет жить и работать в филиале своей компании. Получив эту визу, сотрудник может получить визы для своей жены и детей и они смогут легально приехать и жить в США. Спустя год, сотрудник должен предоставить в миграционную службу результаты работы компании в США и, в случае положительных результатов, получить продление визы на 2 года и право подавать документы на Грин Карту. В общей сложности по визе L1 можно жить и работать в США 7 лет.

Главная проблема, которую решает виза L1,
Читать дальше →

Мотошлем со встроенной системой навигации

Время на прочтение3 мин
Количество просмотров14K
Привет, Хабр!

Недавно появилась первая информация об одном интересном проекте.

Что за проект?

Это мотошлем-навигатор с технологией дополненной реальности.
Коммерческих аналогов у него нет, никто в мире такого еще не сделал и не делает. И такими шлемами пока еще не пользуется никто, кроме, разве что, американских пилотов F-35 и русских вертолетчиков. Но авиационные шлемы большие, тяжелые, очень дорогие и не работают вне кокпита. А еще, конечно, простому смертному никогда не дадут не то что их приобрести, но даже как следует рассмотреть.

По-моему, может получиться по-настоящему крутая штука. Байкеры до сих пор пользуются бумажными картами или обычными навигаторами, которые крепят на руль (ими мало кто пользуется, это нужно делать с осторожностью и лучше всего во время остановки, иначе есть большая вероятность разложиться). А как насчет того, чтобы почувствовать себя Железным Человеком? Бесценно!

Что в нем особенного?
Читать дальше →

Частые ошибки при разработке lockfree-алгоритмов и их решения

Время на прочтение13 мин
Количество просмотров60K
На хабре уже было несколько статей про lock-free алгоритмы. Этот пост — это перевод статьи моего коллеги, которую мы планируем публиковать в нашем корпоративном блоге. По роду деятельности мы пишем огромное количество lock-free алгоритмов и структур данных, и этой статьей хочется показать, насколько это интересно и сложно одновременно.



Эта статья во многом похожа на эту статью, но в той статье рассматриваются не все проблемы, с которыми можно столкнуться, разрабатывая lock-free структуры данных, и уделяется очень мало внимания решению этих проблем. В этой статье хочется детально остановиться на некоторых решениях, которые мы используем в реальной реализации lock-free структур данных в нашем продукте, и больше внимания уделить оценке производительности.
Читать дальше →

Дистанционное обучение с помощью мобильных устройств

Время на прочтение4 мин
Количество просмотров104K
Еще 10—20 лет назад полноценное дистанционное обучение было практически невозможным. Необходимость переезда в другой город или даже страну являлась, наверное, одной из наиболее частых причин, почему предпочтение отдавалось местным вузам, вместо того чтобы поступать в университеты своей мечты. Да, существует заочное образование, но мы прекрасно понимаем, что в большинстве случаев данная форма образования — всего лишь для галочки. К счастью, в настоящее время есть возможность учиться, было бы желание. Для тех, у кого с желанием все в порядке, прошу под кат.

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

27+ ресурсов для онлайн-обучения

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

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

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.

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

Как правильно сортировать контент на основе оценок пользователей

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


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

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

Список команд чата Skype

Время на прочтение6 мин
Количество просмотров692K
...Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми...Крис Касперски

Доброго времени суток!

Skype сейчас я встречаю чаще на компьютерах чем другие IM клиенты, мне он практически заменил icq, вся рабочая переписка ведется в skype, но речь пойдет не о том, что лучше или популярней. Часто бывает так, что участвуешь сразу в нескольких чатах где количество участников превышает 10, что собственно и приводит к тому, что на рабочем столе и в трее постоянно обновляется количество новых сообщений, а также уведомления в виде всплывающих сообщений, а теперь представьте что у вас 3 окна чата с друзьями, 1 с вашим боссом, другой с девушкой — все это в сумме начинает запутывать, отвлекать и порой раздражать. Хотелось бы расставить приоритеты…

Раньше я чаще всего настраивал «политику» уведомлений только через глобальные настройки программы
Случилось так, что я узнал, что в каждом окне чата skype возможно использование команд, например /alertsoff отключит уведомления для конкретного окна чата, соответственно /alertson включит их обратно.
Поискав немного я наткнулся на некое how-to, оказывается у skype чата довольно много текстовых команд, подобие IRC команд. Далее я постарался попробовать все возможные из них на двух имеющихся у меня платформах, как оказалось не все и не везде работает… Прошу под кат.

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

Про C++ алиасинг, ловкие оптимизации и подлые баги

Время на прочтение6 мин
Количество просмотров43K
С удивлением обнаружил, что про явление алиасинга (aliasing) здесь постов нет. Ситуацию нужно исправить, тк. алиасинг в любой сколько-то сложной C++ программе обязательно хоть где-нибудь, да есть. Это может быть хорошо, давая возможность ловких оптимизаций, а может быть плохо, внося повышенной паршивости баги. Под катом вкратце про оба случая (ну и неизменное «компилятор бьет спина», конечно; для разнообразия сегодня это gcc).
Читать дальше →

Восстановление расфокусированных и смазанных изображений

Время на прочтение10 мин
Количество просмотров223K
Восстановление искаженных изображений является одной из наиболее интересных и важных проблем в задачах обработки изображений – как с теоретической, так и с практической точек зрения. Частными случаями являются размытие из-за неправильного фокуса и смаз – эти дефекты, с которым каждый из вас хорошо знаком, очень сложны в исправлении – именно они и выбраны темой статьи. С остальными искажениями (шум, неправильная экспозиция, дисторсия) человечество научилось эффективно бороться, соответствующие инструменты есть в каждом уважающем себя фоторедакторе.

Почему же для устранения смаза и расфокусировки практически ничего нету (unsharp mask не в счет) – может быть это в принципе невозможно? На самом деле возможно – соответствующий математический аппарат начал разрабатываться примерно 70 лет назад, но, как и для многих других алгоритмов обработки изображений, все это нашло широкое применение только в недавнее время. Вот, в качестве демонстрации вау-эффекта, пара картинок:



Я не стал использовать замученную Лену, а нашел свою фотку Венеции. Правое изображение честно получено из левого, причем без использования ухищрений типа 48-битного формата (в этом случае будет 100% восстановление исходного изображения) – слева самый обычный PNG, размытый искусственно. Результат впечатляет… но на практике не все так просто. Под катом подробный обзор теории и практические результаты.
Осторожно, много картинок в формате PNG!
Читать дальше →
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность