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

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

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

Создание примитивного компьютера с нуля

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

Компьютер — это просто. Или нет?


Любой человек, интересующийся сферой информационных технологий, хоть раз задумывался о том, как на самом деле работает компьютер. А и действительно, с помощью компьютера можно сделать столько всего удивительного, что невозможно поверить, что всё, что происходит внутри него, — сложение чисел. Почему бы тогда не сделать свой самому?

image

Эта мысль явно прослеживается в книге Чарльза Петцольда «Код» — хорошее чтиво для тех, кто хочет разобраться в устройстве компьютера на пальцах не тратя особо времени. Эта книга произвела сильное впечатление на меня, да так, что я решил, что компьютер и вовсе банально простой агрегат и ничего сложного в нём нет.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии36

Дозиметр для Серёжи. Часть II. «столетние трубки» vs мирный атом

Время на прочтение27 мин
Количество просмотров58K
В первой части своего повествования я рассказал о производителях, без сомнения, ТОП-овых белорусских дозиметров. Несмотря на все их достоинства, основные недостатки — отсутствие в розничной продаже и высокая цена даже на вторичном рынке — сводят полезность упомянутых приборов для рядового пользователя к нулю. Основная претензия к оборудованию для контроля радиационного фона со стороны обывателя — должно быть просто и дешево. Поэтому сегодня я попробую описать свое видение простых, сделанных на коленке сигнализаторов радиоактивности. Никаких там сцинцилляторов за сотни и тысячи долларов, намотки трансформаторов и травления печатных плат. Сегодня под катом то, что под силу каждому человеку обладающему стандартным уровнем технической грамотности.

Читать дальше →
Всего голосов 86: ↑82 и ↓4+78
Комментарии176

Анализ эмоциональной окраски отзывов с Кинопоиска

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

Вступление


Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно распространенной среди тех, кто желает освоить базовые концепции NLP, и может стать аналогом 'Hello world' в этой области.

В этой статье мы пройдем все основные этапы процесса Data Science: от создания собственного датасета, его обработки и извлечения признаков с помощью библиотеки NLTK и наконец обучения и настройки модели с помощью scikit-learn. Сама задача состоит в классификации отзывов на три класса: негативные, нейтральные и позитивные.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии11

Нетипичный «ls» или как развлекаются линуксоиды

Время на прочтение2 мин
Количество просмотров33K
Однажды в телеграм чат питерского сообщества линуксоидов SPbLUG я кинул забавную задачку:
Выведите список файлов в домашней директории максимально возможным количеством способов, без использования ls или его алиасов(1 способ — 1 балл)

Такое же задание чуть позже прилетело в ещё один чат, и вот что из этого получилось:
Читать дальше →
Всего голосов 77: ↑72 и ↓5+67
Комментарии136

Нейронные сети для трекинга рук в режиме реального времени

Время на прочтение4 мин
Количество просмотров25K
Недавно исследователи из GoogleAI показали свой поход к задаче трекинга руки и определения жестов в реальном времени. Я занимался подобной задачей и потому решил разобраться с тем как они подошли к решению, какие технологии они использовали, и как добились хорошей точности при риал тайм работе на мобильном устройстве. Также запустил модель на android и протестировал в реальных условиях.

Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Как обойти капчу, используя распознавание звука

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


Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии9

Секреты, советы, запреты: как создать крутой экшен для Google Ассистента

Время на прочтение8 мин
Количество просмотров4.4K
Экосистема вокруг Google Ассистента развивается очень быстро. В апреле 2017 года пользователям были доступны всего 165 экшенов, а сегодня только на английском их – более 4500. Насколько разнообразным и интересным станет русскоязычный уголок этой вселенной, зависит от разработчиков. Дмитрий Чечёткин, руководитель стратегических проектов Just AI и автор «Да, милорд», одной из самых популярных игр для Ассистента не только в России, но и в мире (в нее сыграли уже больше 240 тысяч человек), делится важными лайфхаками по созданию экшенов для Google Ассистента. Зачем отделять код и контент от сценария? О чем нужно помнить, работая над разговорным интерфейсом? В общем, разбираемся, как запилить экшен мечты.



Взболтать, но не смешивать: роль сценария, контента и кода


Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Телега для датасайентиста

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

How to deploy Python Telegram bot using Webhooks on Google Cloud Platform


Вместо предисловия


image

— Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она.
— А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас).


Мы сидели в Бине и за чашкой кофе обсуждали возможности тестирования идей с моделями искусственного интеллекта на близком и не очень круге друзей. Лена, моя бывшая коллега, и во всех отношениях не блондинка, только что закончившая магистратуру, рассуждала так. Создав бота, можно сэкономить силы и время на интерфейсе, сосредоточившись на ядре с машинным обучением. Согласитесь, что устоять против такой логики “спортсменки, комсомолки и просто красавицы” в то прекрасное воскресное утро было невозможно. Решено. Телеграм-бот, значит телеграм-бот.


Первым делом я залез в гугл и нашел большое число ссылок “как сделать бот за 30 минут”. Это меня настолько воодушевило, что дальше названий я не пошел и занялся созданием ядра. В самом первом приближении мне предстояло написать систему обработки поисковых запросов с использованием NLP (natural language processing). Написание ядра заняло некоторое, вполне разумное, время (все же опыт кока-колой не пропить). И через несколько дней я был готов к тому, чтобы за пару часов обернуть первую тестовую версию ядра в пару другую команд send-receive, запустив все это в Телеграме на благо моим друзьям. Но не тут-то было.


Неожиданно возник целый клубок проблем. Потратив пару дней на поиски в интернете и общение с коллегами по цеху, я понял, что очевидное не очевидно, и еще одна “инструкция” точно не повредит. Так и появилась эта статья.

Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии35

Решение задания с pwnable.kr 08 — leg, и 10 — shellshock. ARM ассемблер. Уязвимость bash

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

В данной статье вспомним синтаксис ARM ассемблера, разберемся с уязвимостью shellshock, а также решим 8-е и 10-е задания с сайта pwnable.kr.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии0

Решение задания с pwnable.kr 02 — collision. Коллизия в хеш-функции

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

В данной статье вспомним про колизии в хеш-функциях, и решим второе задание с сайта pwnable.kr.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

Курс Молодого Геймдизайнера: как считать баланс персонажей и снаряжения без математики

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


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

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

Статья будет полезна тем, кому надо заняться балансом, но не знает с чего начать, а также начинающим геймдизайнерам, которые будут выбирать специализацию. Ну и всем, кто просто интересуется, чем занимаются ГД, когда не придумывают новые виды лутбоксов.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии38

Анализ приложения защищенного виртуальной машиной

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

К сожалению, статья будет достаточно тяжелая для обычного прикладного программиста, не интересующегося тематикой защиты ПО, но тут уж ничего не поделать.

Для более или менее адекватного восприятия статьи потребуется минимальные знания ассемблера (его будет много) а так-же навыков работы с отладчиком.

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

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

В качестве реципиента, по совету одного достаточно компетентного товарища, я выбрал немножко старый (но не потерявший актуальности, в силу качества исполнения) keygenme от небезызвестного Ms-Rem.

Вот первоначальная ссылка, где он появился: http://exelab.ru/f/index.php?action=vthread&forum=1&topic=4732
А потом он попал вот сюда: http://www.crackmes.de/users/ms_rem/keygenme_by_ms_rem/
Где данному keygenme был выставлена сложность 8 из 10 (*VERY VERY* hard).
Хотя, если честно, это слегка завышенная оценка — я бы поставил в районе 5-6 баллов.

Пожалуй, начнем.
Читать дальше →
Всего голосов 154: ↑151 и ↓3+148
Комментарии75

VMWARE vSphere 5.0: Опыт внедрения на примере муниципалитета г. Томска

Время на прочтение9 мин
Количество просмотров53K
Я не являюсь экспертом, а просто администрирую небольшую сеть, я как любой человек допускаю ошибки, потому описываю все не так как оно правильно должно было бы быть, а как оно было на самом деле. Так что некоторые «ляпы» допущенные мной за время проделанной работы прошу не рассматривать слишком строго.

Введение

На дворе 2012 год. Я уже три года работаю в бюджетной организации под названием муниципалитет города Томска. Если первые полгода пришлось разбираться и «въезжать» в структуру организации сети и «что» и «откуда» растет с точки зрения сетевого оборудования, то последние 2.5 года пришлось потратить на поддержку серверного «хозяйства». А его как оказалось совсем чуть-чуть: лес состоящий из 25 доменов, на каждый 1-2 контроллера + 1-2 файл-сервера + сервер с БД + роутер если подразделение подключено через стороннего провайдера (часто роль первых трех выполнял один сервер, но об этом позже). И так сложились обстоятельства, что оборудование имеет привычку стареть. При этом в последний раз покупка оборудования была в 12.01.2007 – два «новых» сервера уже заметно постарели (5 лет прошло). А выделение новых средств хватало исключительно на поддержку старых серверов, а именно зип-пакета из винчестеров на случай если один в рейде выйдет из строя. На мой постоянный вопрос: «А что мы будем делать, если накроется сама плата рейда?» бывалые администраторы разводили руками. Однако время шло, нештатных ситуаций было все больше, случалось и так, что за ночь вылетали и по два винчестера в одном рейде. Мы (коллектив комитета информатизации администрации города Томска) понимали, что надо что-то менять. Или старые сервера на новые или смотреть в сторону виртуализации.


Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии48

Windows Azure Virtual Machines — обзор новой функциональности

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

Что вы увидите в этой статье?
1. Отличия нового сервиса от VM-роли
2, Архитектура виртуальных машин
3. Виртуальные сети
4. Доступность виртуальных машин и гарантии
Практика — создание фермы веб-серверов в Windows Azure

Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии9

Управление виртуальными машинами Azure с помощью PowerShell

Время на прочтение6 мин
Количество просмотров13K
PowerShell – это очень мощный инструмент, нужно только знать, как его правильно применять. Важно также отметить, что несколько сейчас PowerShell предоставляет функционал больший, чем использование графических элементов управления: всё, что можно выполнить из графического интерфейса, можно реализовать при помощи командлетов PowerShell. Наоборот это правило не работает. В случае с Microsoft Azure с помощью PowerShell вы можете сделать все теже действия, что и через портал управления, кроме создания самой подписки. Применение Azure PowerShell позволяет контролировать и автоматизировать развертывание рабочих нагрузок и управлениями ими. В этой статье мы поговорим о том, как можно использовать Azure PowerShell для управления виртуальными машинами.

Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Комментарии7

OSSIM — разворачиваем комплексную open source систему управления безопасностью

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


OSSIM (Open Source Security Information Management) — система управления, контроля и обеспечения информационной безопасности.
OSSIM «из коробки» включает в себя такой функционал как:
  • Сбор, анализ и корреляция событий — SIEM
  • Хостовая система обнаружения вторжений (HIDS) — OSSEC
  • Сетевая система обнаружения вторжений (NIDS) — Suricata
  • Беспроводная система обнаружения вторжений (WIDS) — Kismet
  • Мониторинг узлов сети- Nagios
  • Анализ сетевых аномалий – P0f, PADS, FProbe, Arpwatch и др.
  • Сканер уязвимостей – OpenVAS
  • Мощнейшая система обмена информацией об угрозах между пользователями OSSIM — OTX
  • Более 200 плагинов для парсинга и корреляции логов со всевозможных внешних устройств и служб

Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии37

Анализ изображений и видео. Классификация изображений и распознавание объектов

Время на прочтение1 мин
Количество просмотров26K
Сегодня мы публикуем седьмую лекцию из курса «Анализ изображений и видео», прочитанного Натальей Васильевой в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.



Всего в программе девять лекций, из которых уже были опубликованы:
  1. Введение в курс «Анализ изображений и видео»;
  2. Основы пространственной и частотной обработки изображений;
  3. Морфологическая обработка изображений;
  4. Построение признаков и сравнение изображений: глобальные признаки;
  5. Построение признаков и сравнение изображений: локальные признаки;
  6. Поиск по подобию. Поиск нечетких дубликатов.

Под катом вы найдете план новой лекции и слайды.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии0

Программируем роботов — бесплатный робосимулятор V-REP. Первые шаги

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


Программирование роботов — это интересно.

Многие наверное видели японских гуманоидных роботов, или французский учебный робот NAO, интересным выглядит проект обучаемого робота-манипулятор Baxter. Промышленные манипуляторы KUKA из Германии — это классика. Кто-то программирует системы конвейерной обработки (фильтрации, сортировки). Дельта роботы. Есть целый пласт — управление квадрокоптером/алгоритмы стабилизации. И конечно же простые трудяги на складе — Line Follower.

Но всё это как правило — не дешевые игрушки, поэтому доступ к роботам есть в специализированных лабораториях или институтах/школах где получили финансирование и есть эти направления. Всем же остальным разработчикам (кому интересна робототехника) — остаётся завистливо смотреть.

Некоторое время назад я вышел на достаточно интересную систему — 3д робосимулятор V-REP, от швейцарской компании Coppelia Robotics.

К своему (приятному) удивлению я обнаружил, что эта система:
  • имеет большой функционал (система разрабатывается с марта 2010 года)
  • полностью open-source (выложена в открытый доступ в 2013 году)
  • кроссплатформенная — windows, mac, linux (работает на Qt)
  • имеет API и библиотеки для работы с роботами через C/C++, Python, Java, Lua, Matlab, Octave или Urbi
  • бесплатная для некоммерческого использования!

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

Поработав некоторое время с этой системой, я решил рассказать про неё читателям хабра.

Да, и на картинке скриншот из V-REP, и модели роботов — которые вы можете программировать, и смотреть поведение, прямо на вашем компьютере.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии24

Lua за 15 минут

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

Для всех, кто хотел разобраться с Lua (скриптовый язык для разработки игр и не только, список), но никак не находил времени, Tyler Neylon приготовил небольшой подарок:

http://tylerneylon.com/a/learn-lua/

Посвящается всем, кто предпочитает один большой список из говорящих самих за себя сниппетов кода (с небольшими комментариями к 95% case'ов) длинным мануалам с огромной иерархией. Очень удобно для тех, кто уже умеет программировать и просто хотел бы разобраться с новым для себя языком. Весь «мега-сниппет» на английском, но примеры несложно читаются.

P.S. А для всего остального есть Hyperpolyglot.
Всего голосов 75: ↑71 и ↓4+67
Комментарии49

Язык программирования J. За что любить?

Время на прочтение13 мин
Количество просмотров93K
image
J – самый ненормальный и самый эффективный язык из известных мне языков. Он позволяет быстро разрабатывать, а также вызывать ненормативную лексику у людей, незнакомых с ним и смотрящих на код.

J слишком необычный. И сложный для изучения. У людей, сталкивающихся с J не хватает мотивации, чтобы его изучить. Синтаксис непривычный.
В этом посте я хотел помочь вам заглянуть дальше, что будет, если вы его изучите и чем он интересен. По своему опыту знаю, что преимущества этого языка сразу не очевидны. В посте я не собираюсь останавливаться на разборе конструкций. Только в обзоре. Предлагаю просто окунуться в примеры, попробовать ощутить мощь языка. Узнать, чем прекрасен язык, без изучения. Писать статьи, обучающие программированию на нем – дело сложное и думаю, не нужное. Он не так прост, чтобы это сделать кратко, а с обучающими материалами на официальном сайте нет никаких проблем. Главное – желание. Им и займемся.
Читать дальше →
Всего голосов 98: ↑86 и ↓12+74
Комментарии130

Информация

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