Каталог RSS-каналов
Статистика

RSS-каналов в каталоге: 3394

Добавлено сегодня: 0

Добавлено вчера: 0

Hi-Tech / Прочее

Хабр / Интересные / Тематические публикации

Интересные публикации из тематических хабов на Хабре

Другие RSS ленты этого сайта

Хабр / Лучшие публикации за сутки

Найдено 4740 записей
Конференция DEFCON 16. «Игры с баркодами». Феликс Линднер, глава Recurity Labs

В этом выступлении речь пойдёт о штрих-кодах – одномерных и двухмерных баркодах, или матричных кодах. Кодировании, декодировании, некоторых уловках, вспомогательных вещах, неразрешенных проблемах. В отличие от одномерного линейного штрих-кода, где информация закодирована в последовательности и толщине вертикальных полосок, двухмерный баркод, или 2D-код содержит информацию и по вертикали, и по горизонтали. Мой доклад состоит из следующих пунктов: быстрое введение в суть баркодов; кодировка и чтение баркодов; сканеры; простые трюки с баркодами; скрытые атаки; чтение выбранных образцов; нерешённые проблемы и вызовы; принципы безопасного использования баркода. Баркод был придуман в 1948 году Сильвером и Вудландом из Технологического института Дрексель...

В macOS High Sierra обнаружились «Черные дыры»

Живешь себе живешь, репу не чешешь, в ус не дуешь. И тут внезапно тебе нужно переезжать с обветшавшего iPhone 6 на новенький iPhone X. А поскольку вся твоя жизнь за минувшие семь лет хранится в фоточках и видосиках старого смартфона, терять это добро тебе очень не хочется. И вот ты бэкапишь свое хозяйство через iTunes на Mac, пытаешься переехать на новую «балалайку» и вдруг оказывается, что места для бэкапа нового телефона на жестком диске твоего компьютера уже нет. Ты начинаешь судорожно расчищать авгиевы конюшни дисковое пространство, но результата «нема». Причем удаление «левых файлов» и очистка корзины ни к чему не приводит. Вот такой триллер разыгрался недавно с вице-президентом Parallels Николаем Добровольским. Под катом детективная история про...

Изучаем параллельные вычисления с OpenMPI и суперкомпьютером на примере взлома соседского WiFi

Во время написания диссертации одним из направлением исследований было распараллеливание поиска в пространстве состояний на вычислительных кластерах. У меня был доступ к вычислительному кластеру, но не было практики в программировании для кластеров (или HPC — High Performance Computing). Поэтому прежде чем переходить к боевой задаче, я хотел поупражняться на чем-то простом. Но я не любитель абстрактных hello world без реальных практических задач, поэтому такая задача быстро нашлась. Всем известно, что полный перебор является самым низкоэффективным способом подбора паролей. Однако с появлением суперкомпьютеров появилась возможность существенно ускорить данный процесс, поскольку, как правило, перебор параллелится практически без накладных расходов. Поэтому...

[Перевод] Неожиданные сложности с заработком в интернете

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

Dev||bet – битва программистов и технологий

Собаки vs кошки, водители vs пешеходы, Coca-Cola vs Pepsi, BMW vs Mercedes, колбаса vs сыр, узвар vs морс, добро vs зло, в конце концов! Но нет, мы, как всегда, спорили о том, какой язык программирования лучше. В ход шли классические аргументы о производительности со ссылками на бенчмарки, которые никто не проверял, синтаксические плюшки, которые используешь раз в год, графики популярности, списки авторитетных программистов использующих тот или иной язык… Затем разговор плавно перешел в обсуждение баттла Оксимирона с кем-то там. Ну и любой разговор дольше 20 минут сводится к обсуждению цены на биткоин. Странным образом три темы слились в одну и так родилась идея dev||bet. Читать дальше →

[Из песочницы] Самый выразительный. Краткое пособие по языку Red

Привет всем! Сегодня я хотел бы рассказать о языке программирования Red. Язык Red является непосредственным преемником более раннего языка REBOL. Оба они малоизвестны в русскоязычном сообществе, что само по себе странно, т.к. указанные языки представляют интерес как с точки зрения оригинального взгляда на то, каким должно быть программирование, так и тем, что отличаются потрясающей выразительностью, позволяя решать сложные задачи простыми способами. Данная статья призвана исправить сложившуюся ситуацию, являясь первым пособием по основам языка Red на русском языке. Читать дальше →

Как собрать GSM телефон на базе SDR

Ни для кого не секрет, что в уже привычных для большинства из нас смартфонах кроме основного процессора существует отдельный модуль связи, благодаря которому смартфон все еще остается телефоном. Вне зависимости от основной операционной системы, будь то Android или iOS, данный модуль чаще всего работает под управлением проприетарной операционной системы с закрытым исходным кодом, и берет на себя всю работу, связанную с голосовыми вызовами, SMS-сообщениями и мобильным Интернетом. В отличие от проприетарного программного обеспечения проекты с открытым исходным кодом всегда получают больше внимания со стороны исследователей безопасности. Возможность заглянуть «под капот» и узнать, как работает тот или иной компонент программы, позволяет не только находить и...

Производительность и рантаймы на конференции JPoint 2018

Все мы имеем какие-то ожидания от конференций. Обычно мы идём на вполне конкретную группу докладов, вполне конкретной тематики. Набор тем отличается от платформы к платформе. Вот что сейчас интересует джавистов: Производительность Виртуальные машины и особенности рантаймов JDK 9/10/... Фреймворки Архитектура Enterprise Большие данные и машинное обучение Базы данных JVM-языки (включая Kotlin) DevOps Разные мелкие темы Программа конференции составляется так, что для каждой из тем стараются подобрать как минимум по одному хорошему докладу. JPoint проводится в течение двух дней, там будет около сорока докладов, поэтому все основные вопросы так или иначе будут освещены. В этом небольшом посте расскажу о тех докладах, которые приглянулись мне как...

[Перевод] Как сделать хорошую UI-анимацию отличной

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

В этой статье мы посмотрим, как в двух системах создавать пользовательские агрегатные и оконные (в терминологии Oracle — аналитические) функции. Несмотря на различия в синтаксисе и в целом в подходе к расширяемости, механизм этих функций очень похож. Но и различия тоже имеются. Надо признать, что собственные агрегатные и оконные функции встречается довольно редко. Оконные функции вообще по каким-то причинам традиционно относят к разряду «продвинутого» SQL и считают сложными для понимания и освоения. Тут бы разобраться с теми функциями, которые уже имеются в СУБД! Зачем тогда вообще вникать в этот вопрос? Могу назвать несколько причин: Хотя оконные функции объективно сложнее обычных агрегатных, но ничего запредельного в них нет; это абсолютно необходимый...

Как не сойти с ума в разработке систем управления нормативно-справочной информацией. Из истории наших проектов

Занимаясь масштабными проектами автоматизации и создавая новые информационные системы, мы каждый раз сталкивались с необходимостью реализации подсистемы ведения справочников, классификаторов, реестров и других подобных объектов, составляющих нормативно-справочную информацию (НСИ) заказчика. За 15 лет работы в ЛАНИТ с системами управления НСИ жизнь подкидывала нам клиентов с самыми различными требованиями. И, конечно, на этих проектах возникали разные ситуации. Я расскажу о нескольких поучительных историях, которые с нами произошли. В статье вы найдете примеры, которые будут полезны многим, кто занимается разработкой программного обеспечения. Ну, а тем, кто работает непосредственно с НСИ, будет еще интереснее – своя рубашка ближе к телу. За иллюстрации...

Яндекс открывает Алису для всех разработчиков. Платформа Яндекс.Диалоги (бета)

Сегодня мы начинаем открытое бета-тестирование платформы Яндекс.Диалоги, с помощью которой любой разработчик сможет обучить Алису новым навыкам и привлечь пользователей к своим сервисам и разработкам. В этом посте мы не будем пересказывать всю документацию, но дадим общее представление о работе платформы на примере самой популярной игры для Алисы. Голосовой помощник Алиса, о котором мы впервые рассказывали на Хабре осенью прошлого года, уже работает в приложении Яндекс, Яндекс.Браузере, а также в бета-версии для Windows. Каждый день миллионы пользователей этих продуктов решают с помощью голосового помощника определённые задачи – например, узнают прогноз погоды. Мы регулярно добавляем новые возможности, но охватить все интересы пользователей самостоятельно...

[Перевод] Почему следует игнорировать истории основателей успешных стартапов

Истории основания — это мифы Истории основания компаний почти всегда неумышленно лгут. Взять Netflix: «Netflix основан в этот день 20 лет назад, потому что Рид Хастингс не успел вернуть видеокассету» Что на самом деле враньё Рид Хастингс много раз говорил, что у него возникла идея Netflix, когда пришлось заплатить $40 штрафа за опоздание с возвратом в прокат видеокассеты с Apollo 13. На самом деле это выдумка. Это печально, потому что такие выдумки неминуемо вводят в заблуждение каждого, кто размышляет, как основать свою компанию [см. также ошибку хайндсайта — примеч. пер.]. Читать дальше →

Многие задачи на алгоритмы требуют знания определённых структур данных. Стек, очередь, куча, динамический массив, двоичное дерево поиска — нечасто решение алгоритмической задачи обходится без использования чего-либо из них. Однако, качественная их реализация — нетривиальная задача, и при написании кода всегда хочется по максимуму обойтись использованием стандартной библиотеки языка. Что касается Python, то в нём есть почти всё. Динамический массив — встроенный тип list. Он же поддерживает и стековые операции: .append() и .pop(). Хэш-таблица — встроенные типы set и dict, а также неизменяемый брат сета frozenset. Куча — list со специальными операциями вставки и удаления, реализованными в модуле heapq. Двусторонняя очередь — это описанный в модуле...

Намедни работая над одной ошибкой в одном опенсорсном проекте, увидел как коллега (тоже работающий параллельно над той же проблемой) залил такой вот коммит [31a078bec7]: /* - * Select the list item based on the index. Negative operand means - * end-based indexing (-2, ...), and -1 means out of range. + * Decode end-offset index values. */ - if (opnd < -1) { - index = opnd+1 + objc; - } else { - index = opnd; - } + index = opnd + (opnd (0 | 1) * (objc - 1 - (-2)); Т. е. он как бы тем самым хотел сэкономить здесь один условный переход. И всё как бы ничего, однако меня всё же насторожила такая казалось бы пустячная «оптимизация» с уклоном в арифметику. Во первых, это изменение касается самой «главной» функции в этом проекте (TEBCresume), ибо она...