Search
Write a publication
Pull to refresh
2
0
Сергей Викторыч @SpyDeX

ПО (разработка, разработка и ещё раз разработка)

Send message

Методы обнаружения «склеенных» файлов

Reading time7 min
Views39K


Многие могли слышать о таких файлах, как rarjpeg'и. Это особый вид файлов, представляющий собой склеенную вплотную jpeg-картинку и rar-архив. Он является прекрасным контейнером для скрытия факта передачи информации. Создать rarjpeg можно с помощью следующих команд:

UNIX: cat image1.jpg archive.rar > image2.jpg
WINDOWS: copy /b image1.jpg+archive.rar image2.jpg

Или же при наличии hex-редактора.

Разумеется, для скрытия факта передачи информации можно использовать не только формат JPEG, но и многие другие. Каждый формат имеет свои особенности, благодаря которым он может подходить или нет для роли контейнера. Я опишу, как можно найти приклеенные файлы в наиболее популярных форматах или же указать на факт склейки.
Читать дальше →

Легион одиноких мужчин

Reading time21 min
Views160K

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


image

В четверг, 13 июля 1995 года высокое давление в верхних слоях атмосферы над Чикаго опустило огромное количество горячего воздуха на землю, из-за чего температура подымалась до отметки 41°C. В городе Среднего Запада, не готовом к тропической жаре, деформировались дороги, на улицах ломались машины и закрывались школы. В пятницу три трансформатора энергетической компании Consolidated Edison вышли из строя, оставив 49000 людей без электричества. В апартаментах небоскрёбов без кондиционирования воздуха температура поднималась до 49°C даже с открытыми окнами. Жара не ушла и в субботу. Тело человека способно справляться с такой жарой лишь в течении 48 часов подряд, после чего оно начинает отключать защитные механизмы. Отделения скорой помощи в больницах были так переполнены, что не принимали жертв солнечного удара. Воскресенье было не лучше, в результате чего выросло количество смертей – от обезвоживания, жары и почечной недостаточности. Морги переполнились, тела хранились в грузовиках для перевозки мяса. В целом 739 человек погибло в этот период сильной жары.
Читать дальше →

Управление памятью в Python

Reading time9 min
Views119K


Одна из главных проблем при написании крупных (относительно) программ на Python — минимизация потребления памяти. Однако управлять памятью здесь легко — если вас вообще это волнует. Память в Python выделяется прозрачно, управление объектами происходит с помощью системы счётчиков ссылок (reference count), и память высвобождается, когда счётчик падает до нуля. В теории всё прекрасно. А на практике вам нужно знать несколько вещей об управлении памятью в Python, чтобы ваши программы эффективно её использовали. Первая вещь, надо хорошо в ней разбираться: размеры основных объектов в Python. И вторая вещь: как устроено управление «под капотом» языка.


Начнём с размеров объектов. В Python есть много примитивных типов данных: целые числа (int), long (версия int с неограниченной точностью), числа с плавающей запятой (они же числа с двойной точностью, double), кортежи (tuple), строковые значения, списки, словари и классы.

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

Простые модели экономической динамики на Python

Reading time5 min
Views9.3K

Введение


В моих публикациях [1,2] экономические задачи рассматривались в статике без учёта времени. В задачах оптимизации экономической динамики анализируются изменение экономических параметров и их взаимосвязей во времени. В моделях экономической динамики время может рассматриваться как дискретное изменяющееся скачком, например, за год. Для описания таких процессов используются разностные уравнения. При непрерывном изменении во времени для описания параметров модели используются дифференциальные уравнения.

Постановка задачи


Для первого знакомства с моделями экономической динамика достаточно рассмотреть две типовые модели. Это паутинообразная модель и модель и модель Калдора в которых и реализованы два указанных подхода к описанию экономической динамики.
Читать дальше →

Чистый код на PHP

Reading time19 min
Views114K


Это принципы разработки ПО, взятые из книги Clean Code Роберта Мартина и адаптированные для PHP. Это руководство не по стилям программирования, а по созданию читабельного, многократно используемого и пригодного для рефакторинга кода на PHP.


Не каждый из этих принципов должен строго соблюдаться, и ещё с меньшим количеством все будут согласны. Это лишь рекомендации, не более, но все они кодифицированы в многолетнем коллективном опыте автора Clean Code.


Статья вдохновлена clean-code-javascript.

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

Разработка игр для консоли на Arduino в летнем лагере

Reading time3 min
Views8K
В прошлом году мы в летней компьютерной школе проводили кружок по Arduino. Там поучаствовали и преподаватели, в результате чего появилась 8-битная игровая консоль с экраном 64x64.

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


4095 светодиодов и все-все-все
Читать дальше →

Низкие ветвистые деревья

Reading time5 min
Views5.7K

Под сим поэтическим названием скрывается идея удобного представления древовидных структур данных и практической его реализации. Может, что-то подобное где-то уже было, но я не встречал; и тут мой приятель Эдуард Аверюшкин предложил интересную идею, которую я попытался развить.


Классическое представление дерева сущностей (например, меню разделов сайта, главное меню в программах) довольно удобно и наглядно в случае «высокого» дерева с не слишком глубокой вложенностью элементов. Будь то выпадающее меню (как главное строковое меню программ) или раскрывающееся (как в левой панели популярных файловых менеджеров), всё довольно удобно и наглядно. А что если дерево низкое и развесистое? У каждого родителя детей мало, зато вложенность достигает, скажем, 10. Или 50…


Низкие ветвистые деревья


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

Прототип проекта стоимостью $86 миллионов в 57 строках кода

Reading time5 min
Views51K


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


Представлюсь: меня зовут Иван Греков, я из фронтенд-команды Badoo. Мне очень понравился этот пост, я просто не смог пройти мимо и не перевести его. Этот пост – отличный источник вдохновения для любителей прототипирования устройств и open-source-решений. Перевод публикуется с сохранением авторской точки зрения и, надеюсь, будет интересен вам.

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

Отчёт Backblaze по надёжности HDD: диски Enterprise выходят из строя чаще, чем потребительские модели

Reading time3 min
Views33K


Компания Backblaze опубликовала обновленную статистику надёжности жёстких дисков за II кв. 2017 г. Компания периодически меняет парк HDD и обновляет статистику, которую она впервые опубликовала в январе 2014 г.

Со времени предыдущего отчёта за I кв. 2017 года облачные хранилища Backblaze увеличились на 635 дисков, так что их общее количество достигло 83 151 штуки. Это не такое уже и значительное добавление. Для сравнения, в первом квартале база выросла более чем на 10 000 дисков. По сравнению с этим нынешние 635 «новичков» выглядят бледно. С другой стороны, уже сейчас мы можем подвести первые итоги по надёжности в том числе тех десяти тысяч HDD, которые были добавлены в первом квартале.

Backblaze отмечает, что прибавка в 635 HDD — это относительная цифра. В реальности вступил в строй 4921 новый накопитель, а вышли из строя 4286 старых диска. Они не сломались, просто Backblaze планомерно проводит миграцию дисков с низкой плотностью на диски с высокой плотностью. Кроме того, количество Enterprise-моделей HDD увеличено на 3595 штук и достигло 6054 дисков.

Итак, к статистике надёжности.
Читать дальше →

Техническая реализация нового продукта Yota для смартфонов

Reading time3 min
Views8.7K
25 июля 2017 года мы представили новый продукт для смартфонов. Его основное отличие от всего, что до этого существовало на рынке – это возможность самостоятельно выбрать только то, что нужно клиенту. Отдельно пакет минут, отдельно пакет трафика, отдельно безлимитный доступ к мобильным приложениям самых популярных соцсетей и мессенджеров.
В основу новой линейки легла технология DPI, которая и позволила нам предложить клиентам максимально простой и удобный продукт.
Читать дальше →

«Человек посередине», использующий отозванные сертификаты. Часть 2

Reading time13 min
Views13K

В нашей предыдущей статье были описаны основные механизмы проверки статуса сертификатов (проверки, является ли сертификат отозванным). В этой статье мы ответим на следующие вопросы:

1. Как механизмы проверки статуса сертификатов реализованы в современных Веб-браузерах?
2. Кто виноват? Почему они реализованы именно так?
3. Что делать? Какие есть перспективы?

Эта статья будет полезна тем, кому интересно разобраться в применяющихся на практике механизмах проверки статуса сертификатов.

На Хабре уже писали на данную тему (например, тут и тут), мы же в этой статье решили привести ещё более подробное описание проверок, выполняемых современными браузерами, более актуальную информацию об их настройках, и, наконец, описание того, как можно исправить сложившуюся ситуацию в будущем.
Читать дальше →

Кораблестроение 17 века и ваши неудачные проекты по разработке: найдите пять отличий

Reading time3 min
Views36K
На конференции Monitorama Пит Чеслок из Threat Stack провел параллель между историей строительства шведского корабля «Васа» и провальными проектами по разработке. Делимся с вами отрывком его выступления.

image

Корабль «Васа» должен был стать главным боевым кораблем шведского флота, но затонул с порывом ветра при первом же выходе из гавани в 1628 году, 53 члена экипажа погибли. Выживший капитан был немедленно отправлен в тюрьму: на допросе он клялся, что пушки были надежно закреплены, и экипаж был трезв. После расследования никто не был наказан или признан виновным, и инцидент был классифицирован как «Воля Божья». Почему затонул корабль и причем тут управление проектами?
Читать дальше →

Роботы ищут друзей

Reading time1 min
Views9.1K
image

В прошлом посте я предложил провести эксперимент и уговорить UBTech подарить одного робота Jimu семейному хабропользователю для бесчеловечного эксперимента — хабрапользователь дает робота ребенку и ставит ему swift playground, а через месяц пишет пост что из этого получилось.

Смысл в том, что бы посмотреть чему ребенок научится сам, без помощи взрослых. И главное — сможет ли ребенок научится кодить на SWIFT по настоящему.

В итоге UBTech согласилась дать одного робота, а вот желающих его получить оказалось сильно больше.
Читать дальше →

SpaceX успешно запустила в космос тайваньский спутник и… потеряла миллионы долларов США

Reading time3 min
Views68K


Компания SpaceX, которую упорно развивает Илон Маск, делает значительные успехи в плане создания ракет с возвращаемыми первыми ступенями. Их можно использовать повторно (понятно, после оценки состояния экспертами и ремонта). В четверг SpaceX провела успешный запуск тайваньского спутника Formosat 5, после чего вернула на землю очередную ступень, плавно опустив ее на свою платформу, которая находится в океане.

Ракета Falcon 9 стартовала с калифорнийского космодрома Вандерберг. Спутник связи вышел на расчетную орбиту уже через 11 минут после старта. Представители SpaceX заявили, что это уже пятнадцатый по счету запуск с успешным возвращением на Землю первой ступени. Запуск, вывод спутника на орбиту и возврат ступени прошли без сучка и задоринки. С технологической точки зрения все отлично. Но этого, к сожалению, нельзя сказать о финансовой стороне дела. Сейчас SpaceX потеряла более десяти миллионов долларов США.

С ветерком! Как мы внедряли бесконтактную оплату поездок в метро

Reading time7 min
Views19K
Бесконтактная оплата банковскими картами на транспорте в России развивается с 2015 года, когда Mastercard запустил пилотный проект по внедрению технологии в московском метро — тогда билетные автоматы оснастили бесконтактными ридерами для покупки в одно касание. Сейчас бесконтактные банковские технологии на общественном транспорте внедрены или внедряются в Москве, Московской области, Санкт-Петербурге, Новосибирске, Улан-Удэ, Твери, Белгороде, Нижнем Новгороде и еще целом ряде городов.

Одно касание обеспечивает комфортное перемещение

В этой статье я расскажу о том, как компания ЛАНТЕР (входит в группу ЛАНИТ) оснастила Московский метрополитен ридерами и разработала программное обеспечение, позволяющее оплачивать проезд с помощью банковской карты или мобильного устройства с банковской картой «внутри».
Читать дальше →

Электронная самоделка своими руками «Осадная катапульта»

Reading time2 min
Views20K
image
Всем привет. В предыдущей статье я описал создание дистанционного пульта управления для моделей собранными своими руками из простого игрового джойстика, который я изготовил для радио кружка, но на этом я не остановился и меня как говорится, понесло в творческом направлении. Когда были завершены дистанционные пульты, захотелось создать управляемую модель с дистанционным управлением. Машинку либо катер на радиоуправлении мне не очень хотелось создавать, их и так много сделано. Хотелось чего-то оригинального. Тогда пришла идея создать катапульту, пусть детишки порадуются. Своего рода злые птички Angry Birds.
Читать дальше →

Почему ваш мозг ненавидит других людей

Reading time19 min
Views145K

И как заставить его думать по-другому


image

Ребёнком я увидел версию фильма «Планета обезьян» от 1968 года. Как будущий приматолог я был им заворожён. Много лет спустя я нашёл анекдот о съёмках этого фильма: в обед люди, игравшие шимпанзе, и люди, игравшие горилл, ели отдельными группами.

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

Все люди проводят разделительную черту «свой/чужой» по расам, этническим признакам, полу, языковой группе, религии, возрасту, социально-экономическому статусу, и так далее. И в этом нет ничего хорошего. Мы делаем это удивительно быстро и эффективно с нейробиологической точки зрения. У нас существует сложная систематика и классификация способов, которыми мы наговариваем на «них». Мы делаем это с изменчивостью, варьирующейся от мелкой минутной агрессии до дикарской резни. А также мы постоянно определяем, что плохого в «них», основываясь на чистых эмоциях, за которыми следует примитивная рационализация, которую мы путаем с рациональностью. Грустно.
Читать дальше →

Особенности разработки мобильной MMO RTS. Часть 6

Reading time3 min
Views6.9K
Это последняя статья из моего цикла. В ней будет много о менеджерской и организационной сторонах разработки.


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

Четыре типажа программистов

Reading time17 min
Views217K

Привет.


Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.

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

Деривативы на морковках

Reading time8 min
Views160K
carrotДеривативы — это производные финансовые инструменты. Производные они потому, что основываются на каком-то ином активе. Сами по себе деривативы — пустышки, их стоимость определяется ценой базового актива — продукта, ценной бумаги, валюты, долгового обязательства — то есть того, от чего они производны.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity