Организация Yorba Foundation, основной сферой деятельности которой является разработка бесплатных приложений для рабочего стола GNOME, объявила о выпуске третьей версии почтовика Geary.
Архив автора: admin
Включаем SSH доступ в VmWare ESXi

Подключаемся при помощи VmWare vSphere client к нужному хосту, далее Читать

Декоративные бабочки из фетра
Вот и долгожданная весна наступает, а нам хочется еще больше тепла, еще больше солнца, еще больше цветов, еще больше зелени, птиц и, конечно же, бабочек. Именно с их появлением приходит восторженное ощущение: наконец-то, вот оно, лето! А мы не будем ждать, пока лето постучится и в нашу дверь, а будем создавать летнюю атмосферу у себя дома своими силами. Предлагаем сделать эти превосходные декоративные бабочки из фетра и украсить ними ваш дом.
Документация South — Перевод. Часть 4: Пользовательские поля
Наше поле
from django.db import models
class TagField(models.TextField):
description = "Stores tags in a single database column."
__metaclass__ = models.SubfieldBase
def __init__(self, delimiter="|", *args, **kwargs):
self.delimiter = delimiter
super(TagField, self).__init__(*args, **kwargs)
def to_python(self, value):
# If it's already a list, leave it
if isinstance(value, list):
return value
# Otherwise, split by delimiter
return value.split(self.delimiter)
def get_prep_value(self, value):
return self.delimiter.join(value)
Именованные аргументы
South знает все эти правила для стандартных полей Django, но Вам необходимо объяснить все это касательно своих полей. Хорошая новость состоит в том, что South может отследить цепочку наследования, так что о полях, определённых в родительских классах говорить заново в дочерних классах не надо (или надо сообщить только о тех дополнительных именованных аргументах, которых не было в родительском классе).
В нашем примере мы определяем только один дополнительный именованный аргумент — delimiter. Вот код, который мы добавляем для того, чтобы South мог обработать наше новое поле. Чуть позже мы его объясним:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([
(
[TagField], # Класс(ы) к которым это применимо
[], # позиционные аргументы (не используется)
{ # именованные аргументы
"delimiter": ["delimiter", {"default": "|"}],
},
),
], ["^southtut.fields.TagField"])
Как Вы можете видеть, для того, чтобы рассказать South о вашем новом поле Вам нужно вызвать функцию south.modelsinspector.add_introspection_rules. Вы должны разместить этот код рядом с определением вашего поля. Так как последнее, что Вы хотели бы — это импортировать поле, но чтобы этот код не был выполнен.
add_introspection_rules принимает два аргумента: список правил и список регулярных выражений. Список регулярных выражений используется South для того чтобы понять, можно ли исследовать это поле. Просто иметь правило, которое подходит для поля недостаточно, так как наследование правил подразумевает, что любой пользовательский класс поля будет иметь хотя бы одно правило, под которое он подпадает (
опять — «(as they will inherit from «Field«, if not something more specificlike «CharField«), and some custom fields can get by with only those inherited rules (more on that shortly)«).
Первый аргумент — список правил. Каждое правило — это кортеж (или список) с тремя элементами:
- Список классов к которым применимы эти правила. Практически наверняка у Вас будет тут только одно поле, например, то, про которое мы сейчас говорим.
- Спецификация позиционных аргументов. Практически наверняка будет пустым списком — []
- Спецификация именованных аргументов: это словарь, где ключ — имя аргумента, а значение — список или кортеж (имя_аргумента, опции)
Простые наследования
class UpperCaseField(models.TextField):
"Убеждаемся, что содержимое всегда в верхнем регистре."
def to_python(self, value):
return value.upper()
def get_prep_value(self, value):
return value.upper()
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^southtut.fields.UpperCaseField"])
Больше информации
Автор: Ishayahu Lastov
Увеличить скорость работы браузера в Ubuntu
В данной инструкции я вам расскажу про замечательный способ увеличения быстродействия браузера (любого) за счёт переноса его профиля в оперативную память. В начале я сам был достаточно скептически был настроен к данному способу, однако после того, как я его попробовал — я сильно удивился. Скорость браузера (я тестировал на Chrome и Firefox) действительно ощутимо выросла. Заранее отмечу, что способ не слишком подходит обладателям малого количества RAM. Да, можно самому выставить все символьные ссылки профилей браузера из домашней папки в tmpfs, однако это будет долго и неинтересно. Тут на помощь приходит утилита Profile Sync Daemon. С её помощью настройка занимает минут пять, не больше. Кстати, если вы беспокоитесь за судьбу своего SSD — данная инструкция вам также будет полезна, ибо не будут тратиться сильно ограниченные ресурсы накопителя. Другие инструкции для лучшей работы SSD: оптимизация работы и статья про TRIM. Список поддерживаемых браузеров впечатляет: Chromium, Google Chrome, Firefox (stable, beta, aurora и firefox-trunk), Conkeror, Midori, Opera (включая Opera Next) и Qupzilla. Многие знают, что при перезагрузке вся информация с оперативной памяти стирается. Вот тут то опять поможет Profile Sync Daemon! Данная утилита автоматически синхронизирует профили с жёстким диском используя символические ссылки и rsync. Но учтите, при внезапной перезагрузке некоторые данные могут быть потеряны. Поэтому используйте утилиту на свой страх и риск! Установка Profile Sync Daemon Для установки утилиты Profile Sync Daemon воспользуйтесь следующими командами (перед установкой сделайте бекапы профилей своих браузеров!):sudo add-apt-repository ppa:graysky/utils sudo apt-get update && sudo apt-get install profile-sync-daemon
Настройка Profile Sync Daemon По умолчанию Profile Sync Daemon активен для всех браузеров, установленных в системе. Многим это покажется удобным, но не всем. У меня у самого установлено несколько браузеров, но пользуюсь я только Chrome и Firefox. Поэтому во время настройки Profile Sync Daemon данный нюанс мы также исправим. Итак, для начала откроем файл /etc/psd.conf:
sudo gedit /etc/psd.conf
После чего найдите следующую строчку: USERS=»» И в кавычках впишите имя своего пользователя. Можно вписать несколько пользователей, главное поставьте между ними пробел. Сохраните файл, но не закрывайте его, если вы хотите сделать так, чтобы Profile Sync Daemon был активен только для нужных вам браузеров. Откройте новое окно в терминале и выполните следующую команду:
profile-sync-daemon parse
У вас в терминале должен отобразится список тех браузеров, которые установлены у вас в системе и с которыми Profile Sync Daemon может работать. Выберите нужные вам, перейдите к редактированию файла /etc/psd.conf и найдите следующую строку: #BROWSERS=»» Уберите решётку в начале строки (#), а между кавычек впишите нужные вам браузеры через пробел. У меня получилось следующее:
BROWSERS=»chrome firefox»
Всё, теперь вам осталось только сохранить файл и закрыть все браузеры. Запустим Profile Sync Daemon: sudo service psd start Вот и всё. Теперь откройте браузер и насладитесь быстрой работой.
Автор: ГАЗЕНВАГЕН™
Жирорастворимые витамины

Некоторые витамины, такие как А, D, Е и К являются жирорастворимыми витаминами, это означает, что они растворяются в липидах и жирах. Человеческий организм не может самостоятельно их синтезировать и получает их только с пищей после переработки ее в желудочно-кишечном тракте. Эти вещества накапливаются и хранятся в печени и в жировой ткани. Жирорастворимые витамины выполняют различные функции в организме, они полезны для глаз, кожи, волос, костей и крови. Читать

