[macOS] Узнаем подпись приложения

Узнать информацию о подписи приложения можно, используя команду «codesign» (в примере три «v» дают третий, самый подробный, уровень детализации):

codesign -dvvv /Applications/Twitter.app

Будет выведено:

Executable=/Applications/Twitter.app/Contents/MacOS/Twitter
Identifier=com.twitter.twitter-mac
Format=bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20100 size=15592 flags=0x200(kill) hashes=771+5 location=embedded
Hash type=sha1 size=20
CDHash=55d15f9348e457a572f687c77c1d166dbde27156
Signature size=4169
Authority=Apple Mac OS Application Signing
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Info.plist entries=32
Sealed Resources rules=5 files=152
Internal requirements count=1 size=224

[macOS] Установка неподдерживаемого сканера

Сегодня занялся подключением своего принтера и сканера к новому iMac’у. С подключением и настройкой принтера проблем не возникла (все таки он у меня еще довольно современный и в составе Mac OS X есть необходимые драйвера), а вот со сканером Epson Perfection 660 (модель 6650) пришлось повозиться. При подключении к компьютеру он никаким образом не опознавался. Гугление показало, что для таких ситуаций, когда ни в составе OC, ни на сайте производителя нет соответствующих драйверов, можно воспользоваться решением под названием SANE (переводится побуквенно как Scanner Access Now Easy).

И так, что нужно: зайти на страницу загрузки, и поочередно загрузить, а затем установить следующие бинарные файлы: libusb, SANE backends, TWAIN SANE Interface и SANE Preference Pane.

После чего нужно зайти в «Системные настройки» и убедиться, что появился пункт «SANE» (если нет, то, возможно, потребуется перезайти в систему). Щелкаем по пункту «SANE», и на вкладке «Драйвера» убеждаемся, что драйвер «snapscan» активен (если нет, то делаем его таковым).

Теперь идем на сайт Epson и загружаем Win-драйвер. В архиве находим файл «TAIL_061.BIN» и копируем его в директорию /usr/local/share/sane/snapscan.

Теперь в терминале выполняем команду:

sudo nano /usr/local/etc/sane.d/snapscan.conf

и указываем путь до нашего драйвера:

# firmware upload is needed by the scanner
firmware /usr/local/share/sane/snapscan/TAIL_061.BIN

Если сканер уже был до этого подключен к компьютеру, то перетыкаем USB-кабель и следующей командой проверяем, что сканер обнаружился:

sane-find-scanner

Она мне показала следующее:

...
found USB scanner (vendor=0x04b8 [EPSON], product=0x0114 [EPSON Scanner]) at libusb:001:004-04b8-0114-ff-ff
...

Отлично, сканер обнаружен и готов к работе.

Теперь осталось найти программу для сканирования. Я, лично, воспользовался VueScan, который без проблем при старте подключился к сканеру и был готов начать свою непосредственную работу.

Если не отображаются найденные обновления

Сегодня столкнулся с интересным багом в Windows 7: при попытке открыть список доступных обновлений ОС показывается… пустота. Да-да, список пуст, хотя сама система показывает, что обновления есть. Решение проблемы элементарное — нужно всего лишь перезагрузить компьютер. Либо можно воспользоваться официальным решением.

windows_update_empty

Про SQA Days 13. Постскриптум.

В прошлую пятницу сходил на конференцию SQA Days 13. Сие мероприятие проходило в конференц-залах гостиницы «Прибалтийская».  Организаторы явно не прогадали, устроив конференцию именно здесь: во-первых, иногородним участникам не пришлось искать место, где бы поселиться на время проведения, во-вторых, залы обустроены весьма недурно (просторные кондиционируемые помещения, стабильный Wi-Fi), в-третьих, т.к. это гостиница, то тут есть и рестораны и места, где можно просто посидеть и отдохнуть. Правда, в эти дни шел какой-то небольшой ремонт парадного входа, поэтому пробираться вовнутрь гостиницы приходилось через строительные  стремянки.

Что понравилось из организационных моментов:

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

— бесплатные печеньки/плюшки/чай/кофе и обеды (все организовано в виде шведского стола). К слову, из-за большой очереди в столовую, мне пришлось отказаться от обеда и перейти только на печенюшки.

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

— присутствовала фан-составляющая, т.е. гостям мероприятия по идеи не должно было казаться, что они находятся в чужой среде, и уж тем более в скучной обстановки. Были разыграны два приза от Microsoft и T-Systems (книги по Visual Studio + планшет на базе Windows RT и iPad min соответственно) и ряд других подарков от организаторов.

Что не понравилось:

— для каждого участника был подготовлен традиционный сертификат, свидетельствующий о посещении конференции. Только вот почему-то свой сертификат уже приходилось искать самим (лежали на столе), и они уже не были разложены по алфавиту. Мне не понятно, почему их сразу не положили в «джентльменский набор»? Разве это было так сложно? Однако же к моему счастью мне пришлось перебрать всего лишь две стопки сертификатов из десятка предложенных.

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

В целом, лично у меня SQA Days оставил весьма хорошие впечатления. Жаль, что следующей остановкой Петербург будет еще не скоро.

sqa_days_13

О покупке elePHPants

Талисманом языка программирования PHP является очаровательный слоненок, который прозвали elePHPants. Есть слоненки большие (50×20 см), а есть маленькие (20×10 см), есть розовые, а есть синие. К сожалению, в свободной продаже их нет, поэтому приобрести слоненка крайне затруднительно. Тем не менее был найден один загуборный сайт, на котором можно заказать игрушку. Отправил заявку на покупку маленького синего слоненка за 10 евро. Надеюсь, что в скором времени он станет моим =)

big-and-small-elePHPant

О качестве перевода

Имеется фраза следующего содержания: «I’m new to your site, at least as a member…»

Google предлагает следующий перевод:

> Я новичок на вашем сайте, по крайней мере в качестве члена…

Яндекс перевел также, а вот PROMT уже намного лучше:

> Я плохо знаком с вашим сайтом, по крайней мере как участник…

Про sh404SEF и 500 Internal Server Error

На одном из своих сайтов использую компонент sh404SEF для генерации ЧПУ. Сегодня, после редактирования одной из ссылок из админ-панели, сайт стал выдавать 500 ошибку (Internal Server Error). Пошел смотреть логи, обнаружил следующее:

Parse error: syntax error, unexpected '<' in /site.com/components/com_sh404sef/cache/shCacheContent.cce254c742.php on line 5

Открыл этот файл и что вижу в самом начале:

<php // shCache : URL cache file for sh404SEF
// version 2.5.0.1040
if (!defined('_JEXEC')) die('Direct Access to this location is not allowed.');
$shURLCacheCreationDate = 1360827879;
<php // shCache : URL cache file for sh404SEF
// version 2.5.0.1040
if (!defined('_JEXEC')) die('Direct Access to this location is not allowed.');
$shURLCacheCreationDate = 1360827879;

По непонятной причине в этот файл добавились строки-дубликаты вместе с «<php», из-за чего и возникала ошибка парсинга. Удалил и все заработало.

Прозрачный фон для Twitter-виджета

Чтобы установить прозрачный фон для Twitter-виджета (который выводит ленту твитов), необходимо указать background: 'none':

theme: {
    shell: {
      background: 'none',
      color: '#ffffff'
    },
    tweets: {
      background: 'none',
      color: '#ffffff',
      links: '#ff0088'
    }