воскресенье, 18 октября 2015 г.

Python: модуль SymPy. Пример символьных вычислений.

SymPy - это обширный Python модуль реализующий символные вычисления. В качестве примера будет разобрана реальная математическая задача.

четверг, 3 сентября 2015 г.

Как маленькая деталь "убила" мой смартфон

Недавно случилось беда, мой смартфон Lenovo P780 начал самопроизвольно выключаться. На вид это выглядело просто - в хаотичный момент времени жизнь в нем моментально гасла. Это могло быть и после пары минут работы и во время старта загрузки. Типичный алгоритм решения проблемы начинается с понимания источника проблемы - программной или аппаратной. Так как никаких обновлений, софта или иных действий программной направленности не производилось, то решено было переключиться на аппаратную сторону проблемы. В интернете легко нашлась статья как без лишних проблем разобрать корпус и добраться до электронной начинки. После снятия всех нужных панелек был обнаружен свободно болтающийся маленький болтик. Тут на памяти вспоминается, что уже с год-полтора внутри телефона при тряске что то явно болтается. Но как маленький болтик так упорно мешает работе телефона? Может быть он замыкает какие то контакты и коротит телефон? Но почему только сейчас и так явно и постоянно? Несколько поразмыслив, наряду с этой версией, я выдвинул и вторую. Внутри телефона присутствует кнопка аппаратного reset'а, вполне вероятно что болтик закатывается и нажимает ее. Какой бы не была правильная версия виной всему маленький болтик, который по какой то причине открутился и отправился в свободное плавание внутри корпуса телефона.

суббота, 23 мая 2015 г.

Еще один сервис тестирования на знание Python

mypythonquiz - Небольшая серия тестов на знание Python, которая может освежить в памяти некоторые тонкости языка. Надоедливая видео реклама сбоку успешно ликвидируется Adblock расширением вашего браузера.

четверг, 23 апреля 2015 г.

Python: как обойти ошибку cx_freeze при сборке с модулем obspy

Попытка сборка на ОС Windows заканчивается ошибкой при выполнении программы "Import error: could not load shared library from obspy.signal". Я расскажу как быстро преодолеть эту ошибку.

пятница, 21 ноября 2014 г.

Отслеживаем завершение процессом загрузки CPU (для задач pywinauto)

pywinauto - это Python модуль для автоматизации процессов над графическим интерфейсом Microsoft Windows. Другими словамия, модуль позволяет эмулировать действия мыши и клавиатуры над объектами окна.

Порой случается такая ситуация что приложение выполняет какое либо трудоемкое задание, при этом не выдает никаких "внешних" признаков по которым можно было бы отследить средствами pywinauto факт завершения выполнения задачи. Использование простой задержки time.sleep() черевато проблемами, если таймаут наступит, а процесс все еще будет занят.
Все что мы знаем в такой ситуации это то что процесс потребляет ресурсы CPU, так почему бы этим не воспользоваться?

понедельник, 20 октября 2014 г.

Android: неожиданный сюрприз от ES Explorer

Недавно я обнаружил что на моем Lenovo P780 закончилась память, та что зовется встроенной. При условии что я ее целенаправленно не забиваю, пользуясь картой памяти мне это показалось странным. Подключив смартфон к домашнему ПК на базе Linux и воспользовавшись программой Baobab я довольно красочно пронаблюдал картину что 73% памяти отведено сюда /Android/data/com.estrongs.android.pop/tmp/remoteimg. Оказывается ES Explorer после шаринга через sftp не подчищал за собой временные файлы. В чем дело и разбираться не стал, просто буду иметь ввиду. P.S. Вообще полезно проверять программами наподобие Baobab свои телефоны, жесткие диски и т.д. порой хлам скапливается в местах неожиданных.

понедельник, 13 октября 2014 г.

Плата расширения ODROID USB IO

Эта небольшая заметка демонстрирует некоторые возможности платы расширения ODROID USB IO Board. Ядром которой является микроконтроллер PIC18F45K50-QFN.