Pull to refresh
3
0

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

Send message

Дисплей объемного изображения с механической разверткой на основе OLED матриц

Reading time5 min
Views9K
Нет, нет, это не новшество какой-либо технической компании. Лишь идея витающая в воздухе — где и как она приземлится еще не известно. Современное серийное производство OLED матриц может дать толчок в развитии объемных дисплеев — появилась техническая возможность наладить их массовое изготовление.

Предистория

Первые системы телевидения (дальновидения) имели в своей конструкции специальный вращающийся диск, который обеспечивал развертку изображения на строки Одна из таких систем была реализована загадочным изобретателем трех эпох, Львом Сергеевичем Терменом (вступил в КПСС в 1991 году, потому что лично обещал Ленину).
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments14

Взлом с продолжением

Reading time4 min
Views44K
Одно время я работал на free-lance.ru. С утра я обычно мониторил заказы, а после обеда непосредственно работал. Однажды я наткнулся на заказ, сумма за выполнение которого была очень аппетитной. Я сразу отписался по заказу, и буквально через минуту получил ТЗ на проект в личку. Поначалу меня удивила скорость ответа, и то что меня сразу выбрали исполнителем, но с другой стороны такое уже частенько бывало. Файл с ТЗ мне показался странным, в него была встроена ссылка на flash ролик. Проверив файл на вирусы и получив ответ, что угроз не обнаружено, я таки усыпил свою бдительность и щелкнул по ссылке на flash ролик. А щелкать не стоило.
Читать дальше →
Total votes 306: ↑290 and ↓16+274
Comments300

ИИ на пяльцах: 5 полезных приемов

Reading time4 min
Views5.4K

Вашему вниманию представляю свой вольный перевод, обещанный г-ном Takezo в его комменте о будущем ИИ в GameDev.

Введение


Прикольно наблюдать за внутриигровой визуализацией, особенно если ты сам ее и создал! Однако, в погоне за этим ярким впечатлением легко забыть, что не нужно визуализировать все подряд.
Ниже вы найдете видео туториал по визуализации геймплея и ИИ, записанный в секретной исследовательской лаборатории AiGameDev.
Читать дальше →
Total votes 104: ↑96 and ↓8+88
Comments19

Кухонный компьютерный стол

Reading time3 min
Views62K
image

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

Идея преображения кухонного стола в компьютерный возникла во время прогулки по известному шведскому магазину, где я увидел стол с поднимающейся крышкой — экономия пространства, удобство и уют в одном лице. Но мне он не подходил по двум причинам: цена (около 7500 руб.) и поверхность столешницы — явно не для кухни.
Читать дальше →
Total votes 355: ↑345 and ↓10+335
Comments204

Наносим удар по ddos ботнету своими силами

Reading time7 min
Views35K


Доброго времени суток уважаемое хабрасообщество, по просьбам хабровчан решил поделится некоторыми своими наработками борьбы с ддосом на основании личного практического опыта отражения атак.
В данной статье не будет очередного нового способа, как защититься от ддоса своими силами, информации по этому предостаточно. Мы зайдем немного с другой стороны.
Как говорится лучшая защита — нападение. Вот мы и будем с вами наносить удар по самому больному месту ддосеров — по ботам. Дополнительным приятным бонусом для нас будет то, что мы сделаем доброе дело и освободим хоть какую-то часть зараженных машин из плена злых ботнетчиков.
Понятно, что ботнет нам не убить, однако нанести порой вполне существенный удар можно, особенно если основную часть ботнета составляют дедики с руткитами, которые порой создают основную проблему при отражении атаки. Ну и кулхацкеру васе с его сотней кровью и потом добытых ботов тоже можно очень неплохо напакостить. Ибо боты, особенно на хороших каналах и из хороших регионов, стоят денег и порой немалых. Если они начнут дохнуть от посыпавшихся абуз, ддосерам может быть накладно продолжать ддосить вас и они могут повысить цену для заказчика или вообще приостановить атаку. Намного проще ддосить того, от кого не будет лишнего шума.

Читать дальше →
Total votes 157: ↑153 and ↓4+149
Comments61

Решение судоку с помощью веб-камеры в реальном времени

Reading time12 min
Views60K

Предисловие




Это приложение может и не имело практической ценности, но опыта прибавило действительно много. Я бы хотел немного поразмышлять на тему компьютерного зрения. Эта область является одной из самых захватывающих в современных компьютерных вычислениях, и она очень сложна. Что легко и просто для человеческого мозга, то очень сложно для компьютера. Многие вещи до сих пор остаются невозможными с сегодняшним уровнем развития IT.

Программа написана с помощью низкоуровневого языка C++, потому что я действительно хотел понять, как же это все работает изнутри. Если вы тоже хотите начать изучение компьютерного зрения, то для этого пригодиться библиотека OpenCV. На CodeProject вы сможете найти несколько уроков по ней. Изображение с веб-камеры получается с помощью исходного кода Вадима Горбатенко (AviCap CodeProject).
Читать дальше →
Total votes 363: ↑360 and ↓3+357
Comments67

Уменьшена экспонента умножения матриц

Reading time2 min
Views8K
Новости из мира науки: матрицы размера теперь умеют умножать за . Другими словами, доказано, что , где  — экспонента умножения матриц. Доказала это совсем недавно Вирджиния Василевска-Вильямс, улучшив тем самым оценку , полученную Копперсмитом и Виноградом в 1987 году. Я напишу про важность этого алгоритма совсем немножко. Тем, кому интересно узнать побольше, предлагается почитать посты Скотта Ааронсона, Ричарда Липтона и Билла Гасарша.

Итак, многие теоретические верхние оценки на время работы алгоритмов используют экспоненту умножения матриц. В частности, много алгоритмов на графах эксплуатируют данную идею: если A — матрица смежности графа, то  — количество (не обязательно простых!) путей длины k между вершинами i и j. Эта простая идея позволяет за время проверить, есть ли в графе треугольник (3-клика): нужно возвести матрицу смежности в куб (для этого потребуется два умножения матриц) и посмотреть на диагональ. Отметим, что речь здесь именно о теоретических оценках, поскольку продвинутые алгоритмы умножения матриц хоть и обгоняют асимптотически простой кубический алгоритм, но на практике дают ускорение только на огромных размерах матриц.

Ещё несколько примеров:
Читать дальше →
Total votes 85: ↑79 and ↓6+73
Comments42

Пишем примитивный и никому не нужный компилятор

Reading time9 min
Views170K
Я считаю, что каждый программист должен написать свой компилятор.

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

В посте мы рассмотрим, как можно написать свой компилятор C-подобного языка меньше чем за час, исписав всего 300 строчек кода. В качестве бонуса, сюда входит и код виртуальной машины, в байткод которой будет компилироваться исходник.
Читать дальше →
Total votes 247: ↑231 and ↓16+215
Comments67

О большой глупости маленьких компаний

Reading time3 min
Views1K
По долгу службы я, периодически, сталкиваюсь с разного рода должностным несоответствием.
Например с тех.поддержкой которая не знает, как работает поддерживаемый продукт.
Но с таким знакомы все и никого этим не удивишь. Расскажу о совершенно вопиющем случае.

Как я ломал сайты

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

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

Выяснилось, что сайт хостится компанией, которая его и раскручивает. Для управления служит программа DBedit, найти которую на сайте компании оказалось уже проблемой. Успешно справившись я приступил к подключению CMS к сайту. У меня был подробный мануал, созданный для людей совершенно разной компьютерной грамотности. При чтении сего манускрипта у меня и закрались первые сомнения в адекватности компании хостера.
Читать дальше →
Total votes 116: ↑98 and ↓18+80
Comments23

Делаем приватный монитор из старого LCD монитора

Reading time2 min
Views972K


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

Всё что Вам нужно – это пара старых очков, нож для бумаги и растворитель для краски.

Читать дальше →
Total votes 1486: ↑1468 and ↓18+1450
Comments327

PVS-Studio: анализируем код Doom 3

Reading time6 min
Views3.5K
Doom 3 and PVS-Studio
Компания id Software имеет лицензию на PVS-Studio. Тем не менее, мы решили проверить исходные коды Doom 3, которые недавно были выложены в сеть. Результат — ошибок найдено мало, но всё-таки найдено. Я предполагаю, что это можно объяснить так.

Часть кода Doom3 используется и сейчас и, наверное, там ошибки уже исправлены. Часть кода устарела и не используется. Скорее всего, именно там и найдены подозрительные участки кода.

Для тех, кто интересуется данной тематикой, предлагаю вниманию фрагменты кода, на которые указал анализатор PVS-Studio. Как всегда напоминаю, что рассматриваю только некоторые предупреждения. Другие участки проекта требуют знания структуры программы, и я их не изучал.

Читать дальше →
Total votes 170: ↑128 and ↓42+86
Comments110

SwimBrowser — браузер, который управляется посредством Kinect

Reading time1 min
Views791


В стремлении найти дополнительные области применения такого интересного устройства, как Kinect, разработчики придумывают много всякой всячины, буквально каждый день появляется что-то новое, имеющее отношение к Kinect. На этот раз появился целый браузер, заточенный под работу с Kinect, и получивший название SwimBrowser. Название браузера, по мнению разработчика, показывает его возможности — вы должны совершать движения руками для «плавания» по просторам Сети.

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments30

Рекурсивный zip-архив

Reading time5 min
Views40K
Многие хабрапользователи наверняка знакомы с квайнами — программами, выводящими собственный исходный код. Сегодня я хочу показать как сделать интересный вариант квайна — ZIP-архив, который распаковывается сам в себя.

Читать дальше →
Total votes 171: ↑168 and ↓3+165
Comments55

Моё путешествие в будущее

Reading time5 min
Views133K


Был тихий осенний вечер. Ничто не предвещало беды. Смеркалось. Я заканчивал плановый upgrade компьютера, в процессе которого по затерявшимся уже в истории причинам понадобилось сбросить BIOS. Дело не хитрое. Расположение батарейки и перемычки Reset на материнской плате известны – вперед! После включения и загрузки Windows 7 мне в ультимативном порядке было заявлено, что на дворе далекое будущее, а именно – 14201-ый год.



Приключения только начинались…
Читать дальше →
Total votes 607: ↑583 and ↓24+559
Comments197

Как я наказал Firaxis или история о том, как перебрать бинарный движок через глушитель

Reading time6 min
Views114K
image

Речь пойдёт о далёком 2005 году, когда только-только вышла Civilization4 от Sid Meier. К тому времени я плотно висел в Civilization3, прошёл её раз дцать на самых разных картах, и тут вышла долгожданная четвёрка. Это были годы P3-512Mb для mid-end и P4-1Gb в hi-end. Только топовые конфиги в те годы имели два гига памяти на борту.

Civilization 4 вышла с графикой уровня года 2002-2003го, что в принципе нормально для мэинстрима тех времён, особенно учитывая что это пошаговая стратегия, а не шутер. Но жрала с течением игры до 900Mb оперативки, что приводило к жуткому свопу, особенно на больших картах, особенно к концу игры, особенно на ноутбуках. Народ недоумевал, я тоже. Учитывая, что в те же годы вышел Far Cry с куда более красивой графикой, и который вполне игрался на максимуме даже с 512Mb на борту, такое поведение Civilization 4 выглядело крайне странным. Захотелось разобраться и покарать…
Читать дальше →
Total votes 551: ↑547 and ↓4+543
Comments177

Читаем QR код

Reading time5 min
Views1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Total votes 623: ↑614 and ↓9+605
Comments109

http://(Любое_слово).jpg.to

Reading time1 min
Views2.4K
Начал работу сайт jpg.to, с помощью которого удобно на лету получать иллюстрации по ключевому слову. Указываете слово в URL на любом языке — и получаете нужную картинку. Картинки берутся с Google Image Search, в URL можно использовать кириллицу. Например, котята.jpg.to.

Это может пригодиться для быстрого постинга картинок в чате/почте, а также для автоматического иллюстрирования контента. Можно сделать скрипт, который будет подгружать картинки по контексту страницы или по тексту во время набора пользователем. Jpg.to — минималистическая альтернатива гугловским API, которые запланированы к закрытию.

Автор обещает в ближайшее время добавить дополнительный функционал, в том числе парсинг условий поиска картинок:
  • размер: keyword.jpg.to/large, keyword.jpg.to/medium
  • цветовая гамма: keyword.jpg.to/red, keyword.jpg.to/green, keyword.jpg.to/white
  • тип картинки фото/клипарт: keyword.jpg.to/photo, keyword.jpg.to/clipart
  • выбор случайной картинки (keyword.jpg.to/random.jpg) или по номеру в результатах поиска (keyword.jpg.to/301.jpg)
  • информация об авторе и возможность удаления картинки из выдачи по требованию автора
Total votes 142: ↑129 and ↓13+116
Comments62

Еще раз о поиске простых чисел

Reading time7 min
Views225K
Скульптура `Решето Эратосфена` (Стэнфордский университет) В заметке обсуждаются алгоритмы решета для поиска простых чисел. Мы подробно рассмотрим классическое решето Эратосфена, особенности его реализации на популярных языках программирования, параллелизацию и оптимизацию, а затем опишем более современное и быстрое решето Аткина. Если материал о решете Эратосфена предназначен в первую очередь уберечь новичков от регулярного хождения по граблям, то алгоритм решета Аткина ранее на Хабрахабре не описывался.

На снимке — скульптура абстрактного экспрессиониста Марка Ди Суверо «Решето Эратосфена», установленная в кампусе Стэнфорского университета
Читать дальше →
Total votes 159: ↑151 and ↓8+143
Comments28

Клиент-серверный чат, используя сокеты Qt/C++

Reading time6 min
Views137K

Предисловие


Статья ориентирована в основном на новичков. Целью ее написания является быстрое и максимально подробное описание сокетов, для начального понимания сети и сокетов. В свое время искал подобную, но нужны были подробные примеры. В стандартном примере fortune server/client, который идет с qt очень плохо показывают возможности сокетов.

Итак, сервер умеет:
  • «Слушать» произвольный адрес, порт
  • Авторизовать клиента по имени
  • Отправлять общие, приватные, серверные сообщения
  • Отправлять список пользователей
Клиент умеет подавать соответствующие запросы серверу.

Для понимания это будут Гуи-приложения:

image

В qt существуют классы QTcpSocket и QTcpServer для работы с сокетами. Используя сигналы и слоты, с ними можно работать в неблокирующем (асинхронном режиме). Это значит, если подключение к серверу занимает заметное количество времени, гуи не блокируется, а продолжает обрабатывать события, а когда произойдет подключение (либо ошибка), вызовется определенный слот (в текущем случае подключенный к сигналу connected()).
Читать дальше →
Total votes 39: ↑21 and ↓18+3
Comments13

Теория шести рукопожатий: еще одно подтверждение

Reading time4 min
Views77K
Однажды в студеную зимнюю пору я столкнулся с упоминанием того, что кто-то в Facebook пытается подтвердить теорию шести рукопожатий. Для тех кто не в курсе, эта теория заключается в том, что все жители земли в среднем знакомы друг с другом через цепочку из пяти друзей (т.е. шести рукопожатий). Подробнее об истории этой теории можно прочитать в википедии, там же можно узнать о том, что Майкрософт несколько лет назад пыталась подтвердить эту теорию на основе данных о контакт-листах мессенджера MSN — в результате у них получилось 6,6 рукопожатий, что вполне вписывается в теорию.

Очень мне захотелось эту теорию подтвердить самому, используя данные, которые есть под рукой — ВКонтакте. Для претворения моей странной идеи в жизнь надо было решить целый комплекс проблем:
  1. На каких данных это все расчитывать.
  2. Где эти данные взять.
  3. Как эти данные сохранять.
  4. Каким алгоритмом воспользоваться для расчетов.
подробнее о том, что получилось
Total votes 211: ↑203 and ↓8+195
Comments102

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity