Search
Write a publication
Pull to refresh
134
0
Александр Борзунов @hx0

User

Send message

Пять популярных мифов про C++, часть 2

Reading time17 min
Views46K
Часть 1

4.2 Разделённое владение shared_ptr

Не у каждого объекта может быть один владелец. Нам надо убедиться, что объект уничтожен и освобождён, когда исчезает последняя ссылка на него. Таким образом, нам необходима модель разделённого владения объектом. Допустим, у нас есть синхронная очередь, sync_queue, для общения между задачами. Отправитель и получатель получают по указателю на sync_queue:

void startup() 
{ 
  sync_queue* p = new sync_queue{200}; // опасность! 
  thread t1 {task1,iqueue,p}; // task1 читает из *iqueue и пишет в *p 
  thread t2 {task2,p,oqueue}; // task2 читает из *p и пишет в *oqueue 
  t1.detach(); 
  t2.detach(); 
} 

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

Интерактивные карты кибератак в реальном времени

Level of difficultyEasy
Reading time4 min
Views83K
«Кибервойны — это уже реальность и нам, простым смертным, остается только наблюдать за ними...»

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

Как сделать греческие буквы в формулах прямым шрифтом в LaTeX

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

Это картинка, которая показывает, как будут выглядеть формулы, написанные в LaTeX, если подключить мой пакет:


Если кому-то такое вдруг понадобилось, то см. под кат.

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

Код, которого нет

Reading time7 min
Views90K
Привет, хабравчане!

Около года назад Хабр захлестнула волна постов на тему "%string% в N строчек на JavaScript". Уже и не вспомню, чем все закончилось, но началось все с «Excel в 30 строк». Следом появилось много и других интересных вариаций на эту тему, даже игра в ноль строк на JS, но это уже совсем другая история…

Как я ни старался придумать что-то еще более компактное — ничего не выходило. Тогда было принято решение посмотреть на проблему под другим углом. Примерно в этот момент в голове промелькнул вопрос: а можно ли «сколлапсировать» код так, чтобы его не было вообще? И тут мне позвонил Дэвид Блейн.

Я попробовал добавить немного магии и вот что у меня получилось.

image
Сим салабим!

Вышел новый PyCharm 4: больше да лучше!

Reading time3 min
Views39K
Всем пятничный привет от JetBrains!

Мы рады рассказать вам, что на днях вышел новый PyCharm 4, который уже доступен для скачивания.

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

В ней мы сделали упор на инструменты для научного программирования. Пожалуй, главной и долгожданной особенностью этого релиза является поддержка IPython Notebook прямо в PyCharm:

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

Установка, настройка и использование сканера уязвимостей сервера rkhunter

Reading time3 min
Views78K
На хабре не раз было упомянуто приложение под названием rkhunter. Хотелось бы остановиться на нем по подробней.

Rkhunter — это сканер различных видов локальных (потенциальных) уязвимостей (бэкдоров, эксплоитов и руткитов) со своей регулярно обновляемой базой.
Он написан на bash и perl, поэтому будет работать под любой серверной ОС на базе unix без каких-либо проблем.



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

Как драйвер Windows коварно ломает звук в Linux или мучительные поиски бага

Reading time4 min
Views91K

Вместо вступления

Дешевая «комната страха» — темно и везде грабли.
Задумчиво поглядывая на падение в глубокие бездны коррекцию курса рубля, я решил, что оставаться со стремительно девальвирующей бумагой на руках смысла нет и пора обновить устаревшее железо. Выбор остановился на Gigabyte GA-Z97-D3H, так как хотелось иметь интерфейсы для SSD «на вырост». M.2 и Sata Express обещают до 10 Гбит/с на порт, что не может не радовать на фоне стремительного роста скорости накопителей. Собрал, совершил обряд нанесения термопасты и торжественно окропил пивом системный блок, как положено и немедленно погрузился в волнующий мир граблей и загадочных багов.Виновник торжества.
Читать дальше →

Почему буфер должен расти экспоненциально

Reading time2 min
Views27K
Сотрудник Mozilla Николас Нетеркот опубликовал заметку с очень чётким объяснением, почему размер буфера памяти для программы нужно увеличивать экспоненциально, а не линейно.

Предположим, что у нас есть структура данных, для которой нужно всё больше памяти, например, строка или вектор. Если новые элементы не помещаются в буфере, то создаётся новый буфер, туда копируются всё содержимое из старого, а затем старый буфер освобождается. Обычное этим занимается realloc().

Так вот. Представим, что наш изначальный 1-байтный буфер растёт по 1 байту до тех пор, пока не достигнет размера 1 МиБ. Сколько памяти мы задействовали для него кумулятивно?

1 + 2 + 3 + … + 1,048,575 + 1,048,576 = 549,756,338,176 байт

Неслабо, да?
Читать дальше →

Почему будущее за удалённой работой (часть 2)

Reading time5 min
Views61K


Немногим менее года назад я написал первую часть этой статьи, пообещав, что вторая будет посвящена рассмотрению самых частых возражений. Конечно, если кто-то и ждал продолжения, вероятно успел уже прочно забыть за это время. Утешая себя мыслью, что лучше всё-таки поздно, чем никогда, берусь наконец исправить ситуацию. Итак.
Читать дальше →

Звоним на мобильные телефоны из браузера с записью разговоров

Reading time6 min
Views80K


В сегодняшнем мире тонких клиентов, Интернета, продвинутых веб-интерфейсов появляется все больше задач, связанных с необходимостью совершения звонков из браузера/принятия звонков в браузер. Это, черт возьми, удобно! Сидит сотрудник перед монитором, выбирает клиента, нажимает позвонить — и, пока идет дозвон, на этой же странице просматривает его карточку, освежает в памяти последние договоренности и намеченные шаги.

Или другой сценарий — входящий в компанию звонок. Как здорово, когда ты в качестве клиента звонишь на безликий 8800 и девушка на том конце телефона отвечает тебе приятным голосом — здравствуйте, Алексей (подставить_свое_имя)! Это производит потрясающий эффект. Когда вместо «назовите себя, номер паспорта и имя кота, информация грузится — послушайте шестую симфонию Моцарта» оператор уже поднимая трубку знает, как вас зовут и видит по вам всю информацию. Сервис, что и говорить.

Но есть ли возможность реализовать такую систему без погружения в дебри настройки АТС — максимально быстро и минимальной кровью? Желательно еще, чтобы все разговоры записывались для целей контроля и обучения сотрудников. Ответ — конечно, погнали под кат.
Читать дальше →

EyeCare — снятие усталости глаз, лечение миопии, спазма аккомодации

Reading time2 min
Views84K
иконка приложения для лечения миопии и спазма аккомодации EyeCareВ России от 30 до 100 процентов населения имеют проблемы со зрением. При этом около 28% процентов детей страдают близорукостью (миопией). В государственных и частных клиниках нашей страны практикуют различные методы лечения близорукости у взрослых и детей — от выписывания витаминов для глаз или капель до лазерных операций. В последнее время врачи стали назначать комбинированное лечение на основе препаратов и работы в специальных сертифицированных медицинских программах-тренажёрах. Такое лечение не способно полностью восстановить зрение, но оно его временно улучшает за счёт снятия зрительного напряжения. Я сама в детстве проходила курс такого лечения. Существующие программы, используемые в таком лечении, стоят очень дорого, в государственных больницах их как-правило бесплатно нет, посещение сеансов в частных клиниках стоит ещё дороже, чем покупка программы.
Мы решили разработать собственную программу для лечения миопии, спазма аккомодации, снятия усталости с глаз и выложить её бесплатно.
Читать дальше →

Эстония позволит получить электронное гражданство за 50 евро

Reading time2 min
Views31K
E-estonian это не пародия на эстонский акцент, а вполне реальная возможность пользоваться привилегиями электронного гражданства европейской страны для иностранцев: вчера в Эстонии был единогласно принят закон, вводящий статус «электронного резидента» (e-residence), позволяющий любому иностранцу открыть счёт в эстонском банке, зарегистрировать компанию и воспользоваться электронной подписью, чтобы подписывать документы из любой точки мира.


Эстонский президент Тоомас Хендрик Ильвес (фото РИА)
Читать дальше →

Способ удобного шифрования данных в облаке (собственными средствами)

Reading time4 min
Views53K
Уважаемое сообщество!

Хочу поделиться способом удобного прозрачного шифрования данных, которые мы передаем/скачиваем из облака.

Но начать следует с обзора текущей ситуации.

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

Придерживающиеся точки зрения «мне нечего скрывать, пусть смотрят» — дальше могут не читать. Продолжайте наслаждаться утечками фоток из iCloud, произошедшими недавно, удалением из облака нелицензионного контента и т.п. Те же, кому кому важна конфиденциальность личной жизни и в целом неприятно подглядывание за вами в замочную скважину и запускание руки большого брата в ваши личные дела — читаем дальше.
Читать дальше →

markdown-it — парсер markdown / CommonMark на стероидах

Reading time2 min
Views14K
Не так давно было много шума об инициатике CommonMark по унификации маркдауна. Казалось бы, наконец-то в этой замечательной разметке наступит порядок. Но на практике не все так просто. Сейчас ведется работа над базовым синтаксисом, и до расширений дело дойдет не скоро. Ждать год с лишним могут не все. Но разработки спецификаций — это скорее научная работа. Нас же интересует практика — как приворачивать маркдаун к конкретным проектам.

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

Как же быть? К счастью, теперь у нас есть markdown-it!

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

Ультра-легкий переключатель раскладки клавиатуры

Reading time1 min
Views103K
От многой мудрости много скорби, и умножающий знание умножает печаль: чем глубже вникаешь в особенности мира IT, особенно той его части, которая про защиту информации, тем крепче паранойя. И это совсем не означает, что за тобой не следят. В очередном приступе тревоги за сохранность нажимаемых кнопок я удалил Punto Switcher. Однако без переключения раскладки после уже набранного слова, к которому я так привык, стало очень тоскливо. Никаких вменяемых альтернатив я так и не нашел, поэтому пришлось написать небольшую обертку над парой функций win api.

Возможно, результат нескольких дней тыканья веточкой в user32.dll понадобится еще нескольким людям, в виде самой программки, либо в качестве примера отправки сообщений окнам из .Net, так что вот: аналог punto switcher, без свистелок, перделок и яндекс бара.

К сожалению, в скайпе так и не работает. Буду благодарен, если кто-то опытный укажет мне на ошибки в коде.
Читать дальше →

ZeroNights 2014: запретных тем нет

Reading time5 min
Views9.3K
image

До старта конференции ZeroNights 2014 остается совсем немного времени. Скоро площадка для встречи специалистов-практиков по ИБ, исследователей, программистов, звезд хакерского мира, да и просто хороших друзей и знакомых откроет свои двери навстречу новому. В этом году мы постарались не только наполнить мероприятие качественным контентом и разнообразными активностями, но и раскрыть новые темы, имеющие практическое значение для всех, неравнодушных к проблемам ИБ.

На этот раз мы пригласили в качестве keynote-спикера Александра Песляка, также известного как Solar Designer! Он знаком всем как отличный специалист с широким диапазоном знаний во множестве областей, включая не только методы атак, но и методы защиты. Его доклад «Is infosec a game?» откроет конференцию 13 ноября и обещает быть особенным, совсем не таким, как все привыкли видеть.

Специально для посетителей Habrahabr мы сделали приблизительную разбивку докладов по темам. Так вы сможете заранее определить для себя, какие доклады вам близки по духу, специфике работы и т. д., в каких активностях вы хотите принять участие. Хотя, конечно, вы можете использовать подход нашего техдира AlexandrPolyakov, который, как правило, выбирает выступления на малознакомые темы – расширяет кругозор, получая инфу от продвинутых специалистов в своей области. Как он говорит, «В тех темах, в которых я разбираюсь, я разберусь и из слайдов».
Читать дальше →

Умей говорить «нет» и умей говорить «да»

Reading time7 min
Views272K

Умей говорить «нет»


Старший разработчик Валера работает в роли тимлида на большом и важном проекте для большого и важного заказчика. За окном шумит жаркое лето, по пыльным улицам бегут по своим делам прохожие, голуби крутят пируэты в необъятном казахстанском небе. Жизнь прекрасна – пилотный запуск намечен на конец ноября, команда набрала хороший темп и идет по графику. И тут Валера боковым зрением замечает, как на иконке Скайпа появилась желтая точка – кто-то о нем вспомнил и написал сообщение. Это руководитель проекта: «Зайди ко мне…»
Читать дальше →

Сбалансированная денежная единица и многосторонний клиринг

Reading time2 min
Views16K
В статье «Деньги, товар и немного статистики» я описывал метод построения диверсифицированного продукта (набора товаров с минимальной дисперсией относительной цены) и ввел понятие привязанной к нему СДЕ — сбалансированной денежной единицы.

Здесь я попробую описать модель международных расчетов, основанную на СДЕ.

В этой статье википедии можно найти данные по внешнему долгу всех государств. Суммарный долг всех стран составляет более 70.6 триллионов долларов США, или 98% ВВП планеты Земля.
Кому же все должны? Очевидно — друг другу.
Возникает вполне естественный вопрос — зачем?

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

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

Raspberry Pi — что можно сделать на основе «малинки»?

Reading time3 min
Views354K


Мини-ПК Raspberry Pi смог быстро стать популярной платформой для разного рода проектов — как коммерческих, так и не очень. Тому есть несколько причин, среди которых — низкая цена компьютера, его относительная универсальность и открытость.

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

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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity