понедельник, 28 апреля 2014 г.

SWAP MacOS 10.9 (обратное включение) неактуальность отключения файла подкачки

Если вы намудрили с оптимизациями, а потом у вас зависает компьютер после аптайма в 2-4 недели, то явно проблема в SWAP файле.

SWAP (файл подкачки) включается командой
sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Но я сперва думал, что своп у меня не включается. У меня 8 гиг оперативки, я запустил виртуальную машину, выделив ей 8 гиг, далее запустил Chrome, Safari, FireFox, Opera и в каждом браузере начал открывать ютуб, для этого я зажал кнопку CMD и кликал по ссылкам видяшек, я открыл графические и видео редакторы, открыл все утилиты, которые только мог, и только через 10 минут бурных стараний смог задействовать файл подкачки.


На скриншоте видно, что программы скушали почти 18 гигов оперативки, т.е. памяти используется на 10 гигов больше, чем есть на самом деле, но в файле подкачки только 2.79Гб, всё из-за хитрой оптимизации памяти, она сжимается до тех пор, пока может, и только потом использует своп.

Советую вам не выключать swap на MacOS 10.9, даже если у вас 16Gb оперативной памяти, на работе у меня на MacMini именно столько, в итоге приходится перезагружать компьютер примерно раз в 2-3 недели из-за мертвых зависаний, там запущен SSH, Apache+PHP+MySQL, куча скриптов и редакторов, несколько браузеров и еще много программ, в итоге спустя пару недель в каких то программах происходит утечка памяти и оперативки совсем не хватает, это вызывает мертвое зависание либо отключение всего управления (мышка, клавиатура).

В общем swap не включается, если не заполнена оперативка, поэтому отключать подкачку не нужно в новой MacOS.

вторник, 22 апреля 2014 г.

Чистка(Разбор) клавиатуры Apple Wireless Keyboard после заливки чаем/кофем/пивом

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

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

Пришлось делать всё "снаружи", цифровой блок работает прекрасно, глючат только буквы, поэтому я сделал вот так

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

Кнопки расставляем по столу рядами, чтобы не перепутать их местоположение, при обратной операции будем ставить их на место слево-направо по рядам.

Для промывки нам понадобится тюбик с чистой водичкой или изопропиловым спиртом, например жидкость для протирки мониторов вполне подойдет.

Нужно равномерно распылять жидкость по открытым кнопочным механизмам (при пшикании двигать быстро рукой), после распыления подождем 20-30 секунд, подвигаем аккуратно каждый ножничный механизм и аккуратно протираем каждое отвертие (вокруг обычно налипает липкий чай), протираем всю клавиатуру, ненадолго продуваем феном и следим чтобы клавиатура не нагревалась, иначе можно повредить пластиковые механизмы.



Теперь протираем каждую кнопочку по периметру и изнутри и устанавливаем обратно, нужно просто поставить кнопку в нишу и аккуратно на нее надавить и продавить по всем углам.

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



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

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

Кстати на прошлой клавиатуре, которую я отнес на работу - я слегка смазывал периметр пробела и рычажок в месте его соприкосновения с металлом, это избавило меня от скрипа.

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

Но при этом я бы советовал компании Apple делать немного более качественные устройства и стабильные операционки, часто надежность и эргономика уступает внешнему виду устройств (например мышка).

Хотя справедливости ради стоит заметить, что все эти яблочные гаджеты в США стоят почти как аналогичные произведения от конкурентов, а аксессуары дак вообще у нас сильно задраны, в некоторых магазинах фирменные наушники могут стоить около 3000-4000 руб, а в США примерно раза в 4 дешевле, клавиатуры тоже на том же Avito я находил по цене выше чем новая в "специальных местах", у меня просто есть друзья, которые привозят девайсики от различных поставщиков без лишних наценок))) Когда я покупал роутер AirPort Express за 3400, то в некоторых "брендовых" магазинах города цена доходила до 5900.



Расчет комиссии при платежах

Представьте, у вас в магазине стоит терминал, на котором вы оплачиваете сотовую связь.
Допустим у этого терминала комиссия 10%, нам нужно пополнить баланс ровно на 100 рублей, мы закидываем на баланс 100 рублей - а у нас только 90, ну на первый взгляд прибавляем 10% к сумме и получается 110 рублей - закидываем 110 рублей, а на балансе только 99 руб (10% от 110руб это 11руб). Бывают и более сложные ситуации, когда например нужно проплатить через яндекс-деньги какую то услугу на сумму 1345.67 руб, а комиссия составляет 1.7%, а у нас на счету денег не хватает и хотим занять у друга ровно ту сумму, которая достаточна для оплаты услуги с комиссией.

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



В общем если 
B - конечная сумма
S - начальная сумма
P - комиссия в %

Тогда S = B/(1 - P/100)