Показаны сообщения с ярлыком проекты. Показать все сообщения
Показаны сообщения с ярлыком проекты. Показать все сообщения

14 марта 2011 г.

Делимся Питоном с миром

Когда питоновские скрипты приобретают какую-то готовую форму, и ими хочется поделиться с другими, возникает вопрос: как это правильно и красиво сделать?

Стандартом для распространения программ на Python является Python Package Index, своего рода центральный Python-репозиторий. О процессе публикации много написано, покажу, как это делается, на своём примере.

7 марта 2011 г.

Реанимация данных

Жена с дочкой используют внешний USB-винт для хранения видео и всего такого. На днях прикупил новый, стал копировать данные со старого, и — бац! — I/O error! Битые сектора, они же бэд-блоки.

В итоге не удалось скопировать 4 видеофайла. Тут на помощь приходит старая добрая утилитка ddrescue — при ошибке ввода-вывода продолжает копировать посекторно, пропуская плохие участки, в итоге удаётся бóльшую часть данных вытащить; позволяет копировать как целое устройство, так и отдельный файл. Видео спасти получилось, благо небольшая доля мусора внутри файла не мешает его воспроизводить.

К сожалению, ddrescue не позволяет копировать целые директории рекурсивно. Тогда я написал простой скрипт на Python, rddr (Recursive DDRescue), копирующий каталог целиком с помощью того же ddrescue.

Но этот эпизод с винтом меня смутил — ведь есть же SMART, почему Ubuntu мне не сказал о непригодном состоянии диска? Оказалось, что состояние его "хорошее", но есть несколько плохих секторов. Есть у SMART такой атрибут, показывающий количество секторов, ожидающих замены из специальной дисковой зоны "хороших" секторов, причём замена происходит при попытке записи, а не чтения. Теперь на помощь приходит программа badblocks — она позволяет прогонять тесты чтения/записи по всему устройству. Тесты записи на винт заняли около одиннадцати часов, данные при этом затёрлись. 19 секторов из 20 восстановились из резервной области.

Вердикт: винчестер можно использовать для некритичных данных, видео хранить вполне годится.

P.S. Прекрасное руководство для восстановления данных с помощью Linux можно здесь почитать.

5 февраля 2010 г.

Delete your account

С ростом популярности соцсетей появляются и такие сервисы, как Delete Your Account. :)

11 августа 2009 г.

Программисты и путешественники

Объективно прекрасный проект — Tripster. Мало того, он написан на Django и ищет разработчика.



Сколько ещё мест не видел!