PHP и побитовый сдвиг

PHP, как известно, язык не имеющий строгой типизации переменных, как, например, С или С++. Объявляете переменную, пихаете в нее данные, а интерпретатор сам решает, в каком виде их хранить. Однако так же присутствует и механизм, позволяющий специально преобразовать переменную из одного типа в другой – так называемое приведение типов.

Что касается целых чисел, интерпретатор может определить, что результат операции не поместится в переменную и конвертирует ее в другой тип. В PHP нет поддержки беззнаковых чисел (uint, unsigned integer) и результат операции может быть автоматически помещен в float (double).

Но во время операции побитового сдвига (bitwise shift) влево (<<) мы легко можем выйти за границы integer и неожиданно получить отрицательное число. Приведу пример кода:

Читать далее

Глюки в OS X App Store

На моем MacBook Pro установлено две OS X – El Capitan и Mavericks. Последняя была установлена при покупке и я решил ее оставить. В El Capitan в App Store у меня зависло одно обновление – El Capitan Recovery Update 1.0. Каким только боком я ни пытался его установить – ни в какую. При чем в списке обновлений оно числится установленным уже раз пять. Раньше я особо не парился, но в итоге надоело и я нагуглил тред с якобы решением данной проблемы. Автор поста рекомендует просто удалить следующий каталог:

/var/folders/zz

Ну, я так и сделал. Хотя нет, я же умный типа 🙂 , я не удалил, а переименовал его. И убил OS X El Capitan. Она перестала загружаться.

Дальше я полез сюда:

Читать далее

PythonDialogBug на FreeBSD в Letsencrypt

Многие наверняка слышали об инициативе по выдаче бесплатных сертификатов Let’s Encrypt (которую скоро переименуют и она будет жить на EFF). Выдаются они всего на 3 месяца, но обновление можно автоматизировать. Я тоже решил попробовать этого зверя, установил из портов и… обломался. Получил ошибку PythonDialogBug (полный лог см. ниже). Быстро найти решение не удалось, поэтому я забросил это дело на несколько месяцев. Когда снова “дошли руки”, начал гуглить информацию по питону. На одном форуме нашел предложение попробовать маленький скрипт:

Читать далее

Использование сетевых портов в Виндовс

Иногда возникает необходимость узнать, какие сетевые соединения установлены на  ПК с ОС Виндовс или какие порты “слушаются” теми или иными процессами. “Слушает порт” – означает, что программа ожидает сообщений на том или ином порту, например, стандартный веб-сервер слушает 80-й (HTTP) и/или 443 (HTTPS) порт.

Для просмотра подобной статистики можно использовать стандартную программу netstat.

netstat

Из всех опций используем ключи a и o:

netstat -ao
или
netstat -a -o

В начале выводятся порты в состоянии LISTENING (прослушивание) и ESTABLISHED (соединение установлено), затем порты в состоянии CLOSE_WAIT (ожидание закрытия соединения). Если у вас работает какая-нибудь программа, которая постоянно открывает/закрывает соединения, статистика может выводиться, пока вы не нажмете CTRL+C.

Читать далее

iPod vs Windows 10 (driver issue)

iTunes внезапно© не узнала мой iPod (после обновления с Windows 8 до Windows 10 я ни разу его не подключал). Любые советы, найденные в сети, не делали ровно ничего, устройство открывалось как флешка, но iTunes по-прежнему утверждал, что он не может узнать устройство. Подключил к MBP – без вопросов все работает.

Методом тыка нашел такое решение:
— в диспетчере устройств нужно среди USB-девайсов найти все девайсы Apple и… удалить. При удалении нужно поставить галочку удалить вместе с драйверами.
— когда iPod снова подключите, укажите драйвер по этому пути:
C:\Program Files\Common Files\Apple\Mobile Device Support\Drivers
В принципе, думаю, можно после удаления драйверов просто зайти туда и запустить *.inf-файл и произойдет то же самое, т.е. по-новой установится драйвер. Такие дела.

Краудфандинг и читеры (мошенники)

На платформах Indiegogo и Kickstarter регулярно появляются все новые и новые интересные гаджеты, вы вносите деньги и ждете, пока разрабочик “доработает” продукт и выкатит на публику. Если вы в числе early birds, вы получите гаджет одним из первых. Но не торопитесь разбрасываться деньгами, перед тем, как влить финансы в новообразованное предприятие, проведите небольшое исследование рынка. Иногда результаты такого исследования могут приподнести сюрприз.

Dolfi: Next Gen Washing Device

Жители бывшего СССР прекрасно помнят рекламу такого чудо-устройства, как “Ретона” – ультразвуковая “стиральная машинка”, которая работает так же, как и обычное замачивание. По легендам, в некоторых случаях, немного лучше. “Долфи” стоит как 2 с лишним “Ретоны”. Производство стоит как 0,1 “Ретона”, т.о. навар у “изобретателя” весьма солидный.

ZAPTIP: The World’s First Magnetic Super Charger

К сожалению, и этот продукт не “world’s first”, уже существуют аналогичные зарядки и их можно купить вагон и тележку всё у тех же китайцев. Здесь, здесь и еще у нескольких продавцов на сайте AliExpress. Думаете “изобретатель” будет производить их в США? Ага, сейчас.

MagMount

Та же история. Можно потратить 35 долларов или всего 3.75$

Так изобрели или не изобрели?

Некоторые “изобретатели” берут готовый (существующий) продукт, заказывают “фирменную” упаковку, нанесение логотипа на ОЕМ-продукт и – вуаля, новый “бренд”, зал аплодирует, все довольны. Но продукт делается на том же китайском заводе, что и китайские “аналоги”. А некоторые берут существующий продукт, вносят небольшие изменения/улучшения и… опять же, заказывают на тех же китайских заводах производство, но по своим образцам.

В любом случае, выбор за вами.

Загрузка Windows 10 в безопасный режим

windows 10 background

Метод 1. Системные настройки

Вы можете запустить утилиту «Конфигурация системы» с помощью встроенного в панель задач поиска. Просто введите запрос msconfig и щёлкните по самой верхней строке в результатах поиска. В появившемся окне перейдите на вкладку «Загрузка» и отметьте пункт «Минимальная». Подтвердите свой выбор нажатием на кнопку «ОК». Перед вами появится диалоговое окно с вопросом, желаете ли вы перезагрузить компьютер прямо сейчас. После вашего согласия операционная система Windows 10 загрузится в безопасном режиме.

Метод 2. Командная строка

Пользователи со стажем должны помнить, что загрузить систему в безопасном режиме можно, удерживая клавишу F8 при старте запуска компьютера. Однако в Windows 10 эта функция была отключена для ускорения старта системы. Чтобы исправить это «усовершенствование», необходимо ввести в командной строке всего одну команду.

  1. Щёлкните правой кнопкой мыши по «Пуску» на панели задач и выберите в появившемся меню пункт «Командная строка (администратор)».
  2. Введите в окне командной строки следующую команду:
    bcdedit /set {default} bootmenupolicy legacy
  3. Нажмите «Ввод». Закройте окно терминала и перезагрузите компьютер. Теперь при нажатии клавиши F8 во время запуска системы должен снова появиться диалог выбора способа загрузки.

Если вы в будущем захотите вернуть всё как было, то это можно сделать с помощью следующей команды:

bcdedit /set {default} bootmenupolicy standard
Метод 3. Особые варианты загрузки

Откройте меню «Пуск», щёлкните по ссылке «Параметры», а дальше проследуйте по адресу: «Обновление и безопасность» → «Восстановление»«Особые варианты загрузки». Щёлкните по кнопке «Перезагрузить сейчас». После этого вы попадёте на экран «Выбор действия». На нём предложено три варианта, из которых нас интересует пункт «Диагностика».

На следующем экране нажимаем кнопку «Дополнительные параметры», а затем «Параметры загрузки». В конце этого длинного пути нас ждёт искомая опция под названием «Включить безопасный режим». Кстати, значительно сократить это путешествие можно, если просто удерживать кнопку Shift при клике по команде «Завершение работы» в меню «Пуск».

Надеюсь, что эта небольшая инструкция пригодится вам в трудную минуту и поможет загрузить Windows 10 в безопасном режиме. А чтобы долго не разыскивать её по всему интернету, не забудьте занести её в закладки и поделиться с друзьями.

(via)