Pull to refresh
0
0
Максим @Droy

User

Send message

Обновление Mac OS X 10.10.4 и TRIM на SSD сторонних производителей

Reading time2 min
Views18K
На прошедшей недавно конференции разработчиков WWDC 2015 анонсировали следующую версию Mac OS X 10.11 El Capitan. При более глубоком знакомстве с новинкой оказалось, что Apple предусмотрела возможность принудительного включения TRIM для SSD сторонних производителей. Ура! Правда выхода новой ОС придется ждать до осени. Но к всеобщей радости уже в текущем обновлении 10.10.4 есть команда trimforce.

Недавно я вдохновившись вот этим постом geektimes.ru/post/200362 соорудил себе Fusion Drive. Диск выбрал Samsung 850 Pro на 128 ГБ. Эффект от добавления SSD был невероятный (70 МБ/с -> 260 МБ/с). Единственное, чего я не стал делать на Mac OS X 10.10 — не стал использовать TRIM enabler для принудительного включения TRIM, ведь для этого пришлось бы вмешиваться в системную политику безопасности. Понадеялся, что в какой-то степени хватит возможностей SSD over-provisioning. С over-provisioning тоже интересная история. У бытовых дисков под эти цели зарезервировано всего 7 % места в отличие от серверных моделей, где резервируется примерно треть объема. Как вариант, можно на бытовом диске создать раздел меньшей ёмкости, высвободив нужное пространство под over-provisioning. Проблема в том, что я не настолько силён в командной строке и по алгоритму создания Fusion Drive не знаю где и что нужно конфигурировать таким образом, чтобы выделить только часть диска.

Месяца через 2-3 отзывчивость компьютера заметно уменьшилась. Запускаю тест и вижу ожидаемую картину:

image

SSD заполнился, команда TRIM не включена, всё плохо.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments27

Сервисы для проверки навыков тестирования на проникновение

Reading time3 min
Views88K


В прошлом топике я опубликовал обзор дистрибутива PentestBox со ссылками и описанием входящих в него утилит. Надеюсь вам хватило времени ознакомиться с ними и изучить функционал. Сегодня я предлагаю вам несколько сервисов для тестирования своих навыков на практике. Это специализированные сервисы, абсолютно легальные и позволяющие всем желающим проверить свои знания и умения.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments3

Безопасность сетевой инфраструктуры. Расширенные методы взлома и защиты. Видео

Reading time1 min
Views64K
Мы решили продолжить нашу традицию публиковать записи наших предыдущих вебинаров для всех желающих с целью повышения уровня осведомленности в ИБ.
Программа курса:

Первое занятие — «Инструментарий пентестера»
Это занятие представляет из себя небольшой обзор истории появления и развития дистрибутива BackTrack и превращением его в Kali Linux.


Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments6

Эффективный JSON с функциональными концепциями и generics в Swift

Reading time14 min
Views12K
Это перевод статьи Tony DiPasquale «Efficient JSON in Swift with Functional Concepts».

Предисловие переводчика


Передо мной была поставлена задача: закачать данные в формате JSON с Flickr.com о 100 топ местах, в которых сделаны фотографии на данный момент, в массив моделей:
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments4

Функциональное программирование в Swift. Начало

Reading time15 min
Views25K


Предисловие переводчика.


Отмечая окончание 2014 года, известная Swift группа SLUG из Сан-Франциско выбрала 5 наиболее популярных Swift видео за 2014 с организованных ею встреч. И среди них оказалось выступление Chris Eidhof «Функциональное программирование в Swift».
Сейчас Chris Eidhof — известная личность в Swift сообществе, он — автор недавно вышедшей книги «Functional programming in Swift», один из создателей журнала objc.io, организатор конференции «Functional Swift Conference», прошедшей 6-го декабря в Бруклине и будущей конференции UIKonf.
Но я открыла его, когда он, один из первых, опубликовал очень простую элегантную статью об эффективности функционального подхода в Swift к JSON парсингу.
В этой статье нет недоступных для понимания концепций, никаких мистических математических «химер» типа «Монада, Функтор, Аппликативный функтор», на которых Haskell программисты клянутся перед оставшимся миром, закатывая глаза.
Там нет и таких нововведений Swift, как дженерики (generics) и «вывод типа» (type inference).
Если вы хотите плавно «въехать» в функциональное программирование в Swift, то вы должны познакомиться с его статьей «Parsing JSON in Swift» и выступлением на SLUG «Functional Programming in Swift».
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments7

О сертификации межсетевых экранов

Reading time8 min
Views23K

Инструмент защиты от нежелательного трафика


Будучи заинтересованным человеком в области сертификации СЗИ, решил изложить некоторые мысли по сертификации межсетевых экранов. В статье уделено внимание проблемам, которые почему-то очень неохотно решаются в настоящий момент. Если эта тема вам тоже интересна и вы хотите ее обсудить, добро пожаловать под кат.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments20

Почему свет движется со скоростью света?

Reading time5 min
Views84K
(Прим. пер. ― см. прим. пер. в конце поста)

Почему свет движется со скоростью света? Почему он просто не стоит на месте? Что приводит его в движение (тем более, такое быстрое)?

image

Всё и везде, просто по факту своего существования, «движется» со скоростью света (которая на самом деле не имеет ничего общего со светом). Да, это касается и вас тоже. Вот прямо сейчас.

Люди в основном воспринимают «вселенную» как «пространство», нечто отдельное от «времени», и честно говоря, они неправы. Пространство и время — не отдельные штуковины. Вселенная сделана из «пространствовремени», прямо так, без пробела. Вы, наверное привыкли к тому, что «год» — это единица времени, а «световой год» — единица расстояния, то есть это разные вещи; но с точки зрения физика это ровным счетом одно и то же (ну, конечно, смотря каким видом физики вы занимаетесь).

В нашей будничной жизни мы исходим из того, что движение — это некое расстояние (пространство), преодоленное за некое время. Однако, если мы решили, что это одно и то же, наше определение движение внезапно становится полной ерундой. «Я прохожу километр за каждый километр, который я прохожу» — кошмар какой-то!

Читать дальше →
Total votes 217: ↑199 and ↓18+181
Comments303

Заземление. Что это такое и как его сделать (часть 1)

Reading time12 min
Views579K


Мой рассказ будет состоять из трёх частей.

1 часть. Заземление
(общая информация, термины и определения)


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


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


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

Если читатель обладает теоретическими знаниями и интересуется только практической реализацией — ему лучше пропустить первую часть и начать чтение со второй части.

Если читатель обладает необходимыми знаниями и хочет познакомиться только с новинками — лучше пропустить первые две части и сразу перейти к чтению третьей.

Мой взгляд на описанные методы и решения в какой-то степени однобокий. Прошу читателя понимать, что я не выдвигаю свой материал за всеобъемлющий объективный труд и выражаю в нём свою точку зрения, свой опыт.

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

Читать дальше →
Total votes 199: ↑183 and ↓16+167
Comments217

Как работает инжектор?

Reading time10 min
Views185K
В заметке пойдет речь о работе «мозгов», управляющих двигателем вашего автомобиля или мотоцикла. Попытаюсь на пальцах и в общем объяснить что же и как происходит.

Чем занимаются те самые «мозги» и для чего они нужны? Электроника — альтернатива другим системам, выполняющим те же функции. Дозированием топлива занимался карбюратор, зажиганием управлял механический или вакуумный корректор угла опережения зажигания. В общем не электроникой единой возможно реализовать все это и достаточно продолжительное время именно так и было. На автомобилях, мотоциклах, бензопилах, бензогенераторах и во многих многих других местах работали и продолжают работать те самые системы, которые призван заменить инжектор.
Зачем же понадобилось что-то менять? Зачем сносить существующие проверенные и весьма надежные системы? Все просто — гонка за экономичностью, экологичностью и мощностью. Точность работы описанных выше систем недостаточна для обеспечения желаемого уровня экологичности и мощности, а сами по себе электронные системы управления двигателем начали появляться достаточно давно.
Читать дальше →
Total votes 200: ↑184 and ↓16+168
Comments101

Что такое «Эшелон-ГП»?

Reading time7 min
Views13K

Intro


Этот рассказ был написан пять лет назад, на спор, для какого-то конкурса рассказов про IT. Написан был за вечер, ради забавы, но ВНЕЗАПНО™ занял призовое место в конкурсе из нескольких тысяч подобных рассказов, а имейл автора оказался завален просьбами написать продолжение и даже поступила пара запросов от потенциальных издателей. Вот, пять лет спустя, решил вынести на суд строгого, но справедливого хабрасообщества :)

Автор рассказа — хабраюзер mifa.

Читать дальше →
Total votes 96: ↑75 and ↓21+54
Comments28

Установка и работа с менеджером пакетов для Maс OS X (MacPort и Homebrew)

Reading time3 min
Views52K
Менеджер пакетов в Mac OS X позволит нам легко работать с пакетам посторонних разработчиков. В этом топике рассмотрим два таких менеджера: MacPort и Homebrew.
Читать дальше →
Total votes 12: ↑7 and ↓5+2
Comments12

Использование Table View

Reading time6 min
Views27K
Доброго времени суток!

Уже достаточно давно пытаюсь заставить себя изучить очередной язык/платформу для программирования под Mac OS X/iOS. Интересует именно разработка приложений с нативным GUI, так как консольные приложения можно разрабатывать на чем угодно, начиная с C и C++ и заканчивая модным сейчас Nodejs. Как показала практика, кроссплатформенные фреймворки вроде Qt тут мало подходят, хотя бы потому что не обеспечивают нативный Look and Feel, к которому привыкли пользователи этой ОС.

На хабре есть достаточное количество материалов по языку Objective-C и фреймворку Cocoa. С точки зрения GUI, интерес представляет именно Cocoa, а тут большинство статей ограничивается кнопочками и текстовыми полями. Постараюсь исправить это недоразумение и описать работу с Table View на примере приложения, отображающего список процессов.

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

Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments27

Опыт составления резюме

Reading time5 min
Views33K

Проблема


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

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

Читать дальше →
Total votes 131: ↑107 and ↓24+83
Comments215

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

Кортежи в Swift

Reading time7 min
Views31K
В поиске информации о работе с Кортежами (Tuples) в Swift работая над своим приложением, я решил, что будет лучше объединить в одну статью всю информацию, которую я изучил или нашел, чтобы ее можно было легко использовать.

Кортежи в основном являются значением, которое может содержать несколько других значений. Составной тип может содержать также “именованные типы”, которые включают в себя классы, структуры и перечисления (также протоколы, но так как они не хранят значения непосредственно, я знал, что должен упомянуть их отдельно), а также другие составные типы. Это означает, что кортеж может содержать другие кортежи. Другой составной тип, который может содержать кортеж, является “функциональным типом”, который различным способом ссылаться на тип. Он описывает замыкания в частности стиля типа “() >() ”, чьи функции и методы соответствуют ему. Также функциональный тип может содержать другие составные типы, как кортеж, и замыкания, про которые Вы читали в моем предыдущем посте "Замыкание и Определение в Swift".
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments0

ZeroNights 2014 — hackquest

Reading time1 min
Views12K
image

ZeroNights — это конференция по практической информационной безопасности, которую мы проводим в этом году уже в четвертый раз! Мы не раз о ней рассказывали, а многие хабрахабровцы принимали в ней участие.

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

  • Квест идёт 7 дней, стартует 1 октября в 20:00 и заканчивается 8 октября в 20:00 (по Москве);
  • Каждый день — одно задание. Длительность каждого задания — 24 часа;
  • Всего заданий — 7;
  • Кто первый решает задание — получает инвайт (всего инвайтов: 7);
  • В некоторых ситуациях мы можем попросить участника рассказать как было решено задание (не стоит пытаться нас обмануть, мы за честные и равные соревнования!)

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments33

ИБ по-американски. Часть 1. Что такое NIST 800-53 и как выглядят контроли безопасности?

Reading time9 min
Views44K

*Виновен в разглашении конфиденциальной информации! Ваш ТЕЛЕФОН говорит только то, что говорите ВЫ...*

В последний раз я освещал вопрос обеспечения ИБ в США почти год назад в материале, посвящённом разработке Фреймворка управления рисками ИБ. Настало время более подробно рассказать о том, как устроена ИБ в Америке. По крайней мере на бумаге, изданной вполне авторитетной организацией NIST.
Стоит обратить отдельное внимание на то, что дальше речь пойдет о теоретической ИБ, так называемых best practices, которые, как известно большинству специалистов по практической безопасности, в жизни встречаются редко. Однако это не умаляет их значимости при построении реальной системы обеспечения ИБ.

Ссылки на все части статьи:
ИБ по-американски. Часть 1. Что такое NIST 800-53 и как выглядят контроли безопасности?
ИБ по-американски. Часть 2. А можно поподробнее о NIST 800-53 и причём тут управление рисками?
ИБ по-американски. Часть 3. Что из себя представляет базовый набор контролей и как определять критичность систем?
ИБ по-американски. Часть 4. Разбираемся с «подгонкой» и «перекрытиями» и завершаем этот обзор
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments6

Разбираем и собираем обратно стек USB

Reading time14 min
Views104K
Иллюстрированная проекция модели сетевого взаимодействия OSI на универсальную последовательную шину.

Три «замечательных» уровня стека USB


Меня не устроил вид стека USB, который можно встретить чаще всего на просторах сети:

Не сильно полезный стек USB

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

Если у читателя бывали сходные ощущения, предлагаю альтернативное, явившееся мне неожиданно ясно в перегретом мозгу видение стека USB, по мотивам любимой 7-уровневой модели OSI. Я ограничился пятью уровнями:



Я не хочу сказать, что весь софт и библиотеки уже сделаны или должны проектироваться, исходя из этой модели. Из инженерных соображений код c уровнями будет сильно перемешан. Но я хочу помочь тем, кто начинает своё знакомство с шиной USB, кто хочет понять протоколы обмена устройств и терминологию предметной области, подобраться поближе к готовым примерам, библиотекам и лучше ориентироваться в них. Эта модель не для загрузки в МК, но в ваши блестящие умы, дорогие друзья. А ваши золотые руки потом всё сами сделают, я не сомневаюсь:)
Разобрать стек USB
Total votes 72: ↑70 and ↓2+68
Comments23
1
23 ...

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Registered
Activity