Ты наверное замечал, что при загрузке файлов, например в Chrome, в Finder рядом с файлом показывается некий круговой индикатор загрузки.

Для этого используется специальный атрибут файла com.apple.progress.fractionCompleted
, а также есть небольшая (но неочевидная) хитрость: нужно выставить дату создания файла равной 1984-01-24 08:00:00 +0000
а соотвественно, чтобы скрыть индикатор вернуть файлу актуальную дату и убрать атрибут.
Читать далее →
Возникла специфическая задача: добавить программно папку в раздел «Избранное» на боковой панели Finder в macOS. Эта и другая подобная информация хранится в *.sfl файлах, в ~/Library/Application Support/com.apple.sharedfilelist/
. Работать с ними напрямую не получится, для этого существует системная утилита sfltool.
Читать далее →
Некоторое время язык Swift был доступен только для операционной системы OS X, в составе среды разработки Xcode, но недавно на официальном сайте стали доступны сборки и для последних версий Ubuntu. Практической пользы от такого шага не очень много: большинство библиотек так и не были портированы, и разрабатывать для iOS на альтернативных платформах всё еще невозможно. Хотя существует призрачная возможность писать серверный код на том же языке, что и код приложения, но пока инструментарий развит слабо, использование языка от Apple на Ubuntu будет представлять скорее академический интерес. С другой стороны, доступного функционала хватит, чтобы изучить основы языка и писать несложные консольные утилиты, не приобретая дорогостоящие устройства, что может оказаться для многих плюсом.
Читать далее →
После обновления в Xсode 8.3 исчезло окно управления provisioning profile проекта. Им было удобно пользоваться для принудительного удаления и скачивания профайлов. Например, когда добавляешь на Developer Portal новые устройства для ad-hoc установки, профайл в Xcode обновляется далеко не сразу и не всегда. Чтобы решить эту проблему, можно было зайти в настройки аккаунта, открыть окно управления профайлами и сертификатами, нажать правой кнопкой мыши на профайле, выбрать «Move to trash», после чего заново скачивался новый.
Читать далее →
SwiftLint — это статический анализатор Swift-кода, разработанный компанией Realm, который проверяет его на соответствие стилю и соглашениям принятым в сообществе разработчиков. Главным образом он базируется на Swift style guide от Github. Почему это важно? Наличие соглашений и стандартов всегда лучше их отсутствия: код написанный в едином стиле, проще читать при командной разработке, а также косвенно анализаторы кода способны улучшить и стабильность приложения, так как распознают заведомо плохие практики. Начинающим изучать Swift разбор ошибок и предупреждений анализатора поможет разобраться в особенностях языка, а также избежать использования устаревших конструкций, которые могли быть скопированы с сайтов вроде Stack Overflow.
Читать далее →
CocoaPods — менеджер пакетов, сделанный по образу и подобию RubyGems, позволяющий легко скачивать и подключать сторонние библиотеки к Swift и Objective-C проектам.
Читать далее →
Примечание от 28.05.2017: Начиная с версии Ubuntu 16.04 проблему с тачпадом наконец-то починили, но тем не менее этот пост всё ещё остаётся актуальным для многих дистрибутивов.
Уже почти год моим основным компьютером является ноутбук Asus X550LN. За это время я неоднократно менял на нем операционные системы, даже пытался жить на Windows, но все время возвращался к излюбленным мной Debian-based дистрибутивам Linux. К сожалению, в 2015 году проблемы с поддержкой аппаратного обеспечения под альтернативными ОС никак не заканчиваются. Так, практически на всех испробованных мной дистрибутивах, не работает тачпад. Проблема проявляется следующим образом: при касании тачпада, в зависимости от дистрибутива, либо не происходит ничего, либо курсор двигается, но невозможно совершить клик, либо же система намертво зависает.
Читать далее →
Сегодня передо мной встала довольно простая, но интересная задача: восстановить несколько файлов в репозитории Git, которые были удалены некоторое время назад в разных коммитах. Задача простая, потому что решение легко найти в соотвествующих ответах на Stack Overflow. Мне лишь осталось слегка адаптировать приведенные примеры команд для своих нужд.
Читать далее →
Эта статья была впервые опубликована в журнале "Хакер", здесь публикуется исходная версия, до отправки в редакцию. Вся информация предоставлена исключительно в образовательных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Счет встроенных модулей в Metasploit перешел на тысячи, но, рано или поздно, любой, кто плотно работает с фреймворком, сталкивается с необходимостью расширить его функционал собственными эксплойтами и вспомогательными модулями. Сегодня мы рассмотрим все необходимые аспекты создания модуля с нуля, а также особенности языка Ruby, которые нужно учитывать при написании.
Читать далее →
Эта статья была впервые опубликована в журнале "Хакер", здесь публикуется исходная версия, до отправки в редакцию. Вся информация предоставлена исключительно в образовательных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Говоря об анализе информационной безопасности сложно не упомянуть Metasploit. Мощный, открытый инструмент с продуманной архитектурой, сотнями контрибьюторов, включающий в себя тысячи модулей, обеспечивающих автоматизацию эксплуатации огромного количества уязвимостей. При этом оставаясь простым в использвании, он позволяет проводить аудиты не только профессиональным пентестерам, но и любому разработчику или администратору, обеспокоенным уровнем безопасности своего проекта.
Читать далее →