| Интересные факты о Xmarks |
[Oct. 10th, 2009|11:43 am] |
Xmarks - это плагин для FireFox, который позволяет созранять закладки на сервере my.xmarks.com и синхронизировать закладки между браузерами FireFox на разных компьютерах.
Факты о компании на 7 октября 2009 года- Основана в 2006
- 14 сотрудников
- 3.8 миллионов активных плагинов для браузеров (подключавшихся хотя раз за последние 28 дней)
- 160 миллионов поисковых страниц улучшено Xmarks за месяц
- 856 миллионов закладок хранятся в Xmarks
Детали облачной инфраструктуры Xmarks- число работающих серверов 60
- чисо ядер 320
- доступная оперативная память 600 Гб
- доступное дисковое пространство 40 Тб
- пиковая сетевая нагрузка 50 Мбит/с
- пиковое число транзакций плагина для браузера: 750 в секунду
- число транзакций плагина для браузера за день: 50 миллионов
Используемое ПО- Linux (Ubuntu+Debian)
- Apache
- Python
- Pylons (и немного Django)
- Genshi
- MySQL
- BerkeleyDB
- Memcache
|
|
|
| PHP shell |
[Feb. 9th, 2009|10:24 am] |
phpsh is an interactive shell for php that features readline history, tab completion, quick access to documentation. It was developed at Facebook and ironically, is written mostly in python. It is open source and released under a modified BSD license. © http://www.phpsh.org/
Написали бы они что-ли ещё дебаггер аналогичный pdb. |
|
|
| Почему мне не нравится PHP - 1 |
[Nov. 10th, 2008|10:54 am] |
<?php $arr=array(1=>1,'1'=>'one'); echo $arr[1]; one echo $arr['1']; one var_dump($arr); array(1) { [1]=> string(3) "one" }
То же самое на Питоне:
>>> arr = {1:1,'1':'one'}; >>> arr[1] 1 >>> arr['1'] 'one' >>> arr {'1': 'one', 1: 1} >>>
|
|
|
| Дорога ТВ - Видео Речного вокзала |
[Oct. 18th, 2008|11:08 am] |
Вдохновленный сообщением fucking_right
я сделал видео дорожного движения у Речного Вокзала длительностью 1:40 100 кадров с интервалом 6 секунд и частотой 1 кадр в секунду:
Использовавшиеся инструменты: сайт Дорога ТВ, OpenCV и Python 2.6. Инсталлятор OpenCV автоматически определил наличие Python 2.6 и установил swig bindings для него. Highgui модуль из библиотеки предоставляет высокоуровневые примитивы, с помощью которых проще простого создать видео файл из отдельных изображений. Правда, я бы предпочел лучшую интеграцию с Python, подразумевающую использование классов для работы с файлами, а не указание имен файлов в качестве аргументов. При большом количестве операция чтения/записи файлов придется разобраться с ramdisk под Windows XP. |
|
|
| Other notable frameworks |
[Oct. 17th, 2008|10:45 pm] |
With Zope 2.x having been known as rather un-pythonic, the newer Zope 3.x tries to change that and therefore gets more acceptance from Python programmers. These efforts already showed results, there is a project which connects Zope with WSGI called Repoze...©HOWTO Use Python 2.6 in the web |
|
|
| tracmerge+python+svn |
[Oct. 15th, 2008|09:00 pm] |
После объединения разрозненных SVN репозиториев в один, принялись за Trac. На Trac-Hacks хостится скрипт tracmerge.py. Он, конечно, слабодокументирован, но содержит пример использования, который пришлось подкрутить, т.к. стандартный csv модуль не поддерживает кодировок отличных от ascii. Правда дальше я все равно уперся в проблему, которую описал в открытом и закрытом мной тикете http://trac-hacks.org/ticket/3893.
Путь решения проблемы начался с описания причин отсутствия функции setdefaultencoding и закончился в сообществе ru_python.
Да, после мёржа пришлось ещё построить биндинги SVN для python, но здесь уже помогали старшие товарищи. |
|
|
| Google Treasure Hunt |
[May. 18th, 2008|10:10 pm] |
Отличный способ занять себя на пару часов. Ссылку на задачу я нашел в официальном блоге Google. Был приятно удивлен представлению целых чисел в Python (не ожидал, что получится вычислять настолько большие числа, например, 760401738905937245009910944207609328).
Позже, минут 15 пытался понять как ребята из Google умудрились зашифровать урл http://treasurehunt.appspot.com/ в aHR0cDovL3RyZWFzdXJlaHVudC5hcHBzcG90LmNvbS8=, но так и не понял. Видимо, надо ещё пару часов :) |
|
|
| Я здесь 0.1 |
[Feb. 6th, 2008|07:10 am] |
Кружок неумелых открывается. Вчера вечером народилась подобная картинка:
 Пока все это напоминает уроки труда в школе или детский конструктор дома. Учусь складывать кубики. |
|
|
| И что теперь со всем этим делать? |
[Dec. 18th, 2007|07:23 pm] |
В качестве эксперимента и желания интегрировать всевозможные контакт-листы в один список контактов GTalk, написался скрипт экспортирующий список друзей ЖЖ в XML файл, пригодный для импорта плагином Jabber для Miranda IM. Правда ответ на главный вопрос: как же сделать так, чтобы два моих Jabber профиля GTalk и LJTalk сосуществовали одновременно он-лайн, найти пока не удалось. Кажется, самое простое решение кроется где-то в поисках клиента, позволяющего одновременно зайти на 2 и более разных Jabber серверов. Зато узнал о механизме challenge/response авторизации на ЖЖ, а также познакомился с XML-RPC на примере того же ЖЖ. Под катом кроется Python скрипт, для запуска которого необходим интерпретатор питона. ( jabberLjFriends.py ) P.S. Загадкой также осталось как люди пользуются LJTalk например с Мирандой. Сколько не пробовал, зайти не удавалось. |
|
|
| Сканер сетевых ресурсов |
[Oct. 30th, 2007|06:34 pm] |
Написал на Python простой сканер сетевых ресурсов, который выводит список доступных в сети файлов в текстовый файл. Сканер работает на Windows платформе, т.к. использует net view для получения списка компьютеров и общих ресурсов на каждом из них. Ещё, как оказалось, dir /b /s намного быстрее выводит список каталогов, чем питоновская os.walk.
Впрочем, скорость работы сканера меня не удовлетворяла, пока я не добавил ему многопоточности. Использовал start_new, allocate_lock, acquire и release из модуля thread. Для каждого из компьютеров запускал поток, который сканировал все разделяемые ресурсы. Количество одновременно запущенных потоков ограничивал с помощью общего для них списка. Для простоты каждый из потоков записывал имена доступных в сети файлов в свой собственный файл.
Возможные пути развития программы в дальнейшем:- совершенствование алгоритма поиска
- поиск узких мест и ускорение сканирования методом "напролом"
- реализация веб-интерфейса для поиска доступных файлов вроде ffsearch или tss в Мере
|
|
|