Как-то пытался настроить подобное. Появился досадный «артефакт» — при копировании из веб-страницы в вим линии «съезжают» вправо. Кто-нибудь пытался побороть?
Вот пример:
1. Так выглядит скопированный в vim текст (.vimrc с конфигом из статьи):
import unittest
class TestStatisticalFunctions(unittest.TestCase):
>Воевать с властью бессмысленно. Они устанавливают правила игры.
Бессмысленно только в краткосрочной перспективе. В данном случае власть стоит на пути прогресса: «скопировать песню» прошло путь от «найти друга, у которого эта песня есть и притопать к нему с магнитофоном в гости на пару часов» до «вбить название в поисковике и нажать „скачать“. Идеология подходящая так же созрела: „Свободный обмен информацией“. Так что, как говаривали на уроках истории, налицо революционная ситуация :-) Верхи не могут, низы не хотят, броневичок и… имеем более лояльную к пиратам власть.
Настораживают некоторые моменты:
— Благодаря akonadi кеды приобрели новую зависимость — mysql
— Не смотря на то, что в названии базы данных присутствует SQL, приложения общаются с akonadi по IMAP
— Чем-то напоминает реестр windows
Представил себе частицу с отрицательной температурой, как частицу, которая по уши в долгах :-) Энергия у нее есть (она играет с другими частицами в биллиард и пьет сок на скамейке), но чужая и ее нужно будет вернуть другим частицам.
>Вы — провайдер и режете канал в соответствии с аккаунтами пользователей. И вам всеравно как тот или иной юзер использует выделенную ему полосу.
Нууу… Это так, если Вы честный, богатый и процветающий провайдер, канал Вам обходится дешево, клиенты платят много и нет конкурентов. Но наверняка в такой вселенной давно уже победил бы коммунизм.
Реально же многие (если не все) мелкие провайдеры продают больше полосы, чем имеют. Вот и приходиться шейпить все кроме веба, игр и VoIP.
ядро CentOS — 2 мб
grub — 150 кб
содержимое initrd:
busybox — 2 мб
nash (redhat-овский интерпретатор для init) — 2 мб
модули ядра, init, конфиги — 100 кб
Оверхед файловой системы тоже какой-то будет. Для маленького раздела — примерно 100 кб
Итого, примерно 6,5 мегабайт.
Нужно меньше? — выбросите nash (нужно будет переписать init-скрипт для busybox-овского ash. все нужные команды там есть). Выиграете 2 мб.
Нужно еще меньше? — пересобирайте ядро
Упс… Размером как-то не озаботился. Важным было получить линукс с как можно меньшим количеством компонент. Ну… и получить их нужно было не сильно вкладываясь. В итоге: ядро + grub + busybox.
P.S. Раньше выходило несколько дистрибутивов, которые влазили на дискетку. Куда уж современным ядрам гоняться за такими размерами.
Метод сам по себе не дропает. Письмо, которое является не_спамом может пройти или не пройти, в зависимости от того, как настроен почтарь. Spamassassin, например, использует некоторые черные списки: письму начисляется несколько баллов, если IP источника обнаружен в одном из них. Пороговые значения, по достижении которых заголовок письма изменяется на «Осторожно, спам» или все письмо дропается определяет администратор почтовика.
Сравним… Модули — библиотеки. Считываются с диска и загружаются в память процесса питона один раз. Утилитки — отдельные программы. Считываются каждый раз с диска, каждый раз им нужно выделять память, создавать пайпы для общения с ними…
Вот, к примеру:
facha@fuzzy:~$ time ./printtime.sh
real 0m2.226s
user 0m1.044s
sys 0m1.156s
facha@fuzzy:~$ time ./printtime.py
real 0m0.029s
user 0m0.020s
sys 0m0.008s
Дальше код этих мегаскриптов (дисклеймер: если хабр его покоцает — я не виноват):
printtime.sh
#!/bin/sh
for i in `seq 1000`; do echo `date +%s`; done
printtime.py
#!/usr/bin/env python
import time
for i in range(1000): print time.time()
>Если сможете показать задачу серверного администрирования которую нельзя решить на баше а можно только на питоне — я сожру свою шляпу
Говоря «на баше» Вы немного лукавите. На баше — это на баше + grep/awk/sed/cat… + специфические для задачи утилитки (например, snmpget). Каждая из утилиток — отдельный процесс со всеми вытекающими накладными расходами. В скрипте на питоне процесс будет всего один (если сами их не нафоркаете, конечно).
:>Но прямого следствия между IT и музыкальной грамотностью не наблюдаю.
А вот я наблюдаю. Не пойму, с чем это связано. Но по крайней мере среди программистов (да, знаю, что не все хаброчитатели — программисты, но все-таки) очень много музыкантов, и порой талантливых. Вот, решил спросить
Вот пример:
1. Так выглядит скопированный в vim текст (.vimrc с конфигом из статьи):
import unittest
class TestStatisticalFunctions(unittest.TestCase):
def test_average(self):
self.assertEqual(average([20, 30, 70]), 40.0)
self.assertEqual(round(average([1, 5, 7]), 1), 4.3)
self.assertRaises(ZeroDivisionError, average, [])
self.assertRaises(TypeError, average, 20, 30, 70)
2. Вот так выглядит этот текст в оригинале:
import unittest
class TestStatisticalFunctions(unittest.TestCase):
def test_average(self):
self.assertEqual(average([20, 30, 70]), 40.0)
self.assertEqual(round(average([1, 5, 7]), 1), 4.3)
self.assertRaises(ZeroDivisionError, average, [])
self.assertRaises(TypeError, average, 20, 30, 70)
Бессмысленно только в краткосрочной перспективе. В данном случае власть стоит на пути прогресса: «скопировать песню» прошло путь от «найти друга, у которого эта песня есть и притопать к нему с магнитофоном в гости на пару часов» до «вбить название в поисковике и нажать „скачать“. Идеология подходящая так же созрела: „Свободный обмен информацией“. Так что, как говаривали на уроках истории, налицо революционная ситуация :-) Верхи не могут, низы не хотят, броневичок и… имеем более лояльную к пиратам власть.
Сервер для развертывания. В презентации об этом упомянули.
>Планируется ли транспорт в старый добрый e-mail и обратно?
Пока ничего такого нет. Но вроде можно написать «робота». Думаю первые расширения будут как раз проксями к почте и всяким мессенджерам.
— Благодаря akonadi кеды приобрели новую зависимость — mysql
— Не смотря на то, что в названии базы данных присутствует SQL, приложения общаются с akonadi по IMAP
— Чем-то напоминает реестр windows
Нууу… Это так, если Вы честный, богатый и процветающий провайдер, канал Вам обходится дешево, клиенты платят много и нет конкурентов. Но наверняка в такой вселенной давно уже победил бы коммунизм.
Реально же многие (если не все) мелкие провайдеры продают больше полосы, чем имеют. Вот и приходиться шейпить все кроме веба, игр и VoIP.
ядро CentOS — 2 мб
grub — 150 кб
содержимое initrd:
busybox — 2 мб
nash (redhat-овский интерпретатор для init) — 2 мб
модули ядра, init, конфиги — 100 кб
Оверхед файловой системы тоже какой-то будет. Для маленького раздела — примерно 100 кб
Итого, примерно 6,5 мегабайт.
Нужно меньше? — выбросите nash (нужно будет переписать init-скрипт для busybox-овского ash. все нужные команды там есть). Выиграете 2 мб.
Нужно еще меньше? — пересобирайте ядро
P.S. Раньше выходило несколько дистрибутивов, которые влазили на дискетку. Куда уж современным ядрам гоняться за такими размерами.
Чем тогда объясняется столь высокая популярность С? Не знаю, насколько можно доверять этому источнику, но выглядит внушительно: www.langpop.com/
Вот, к примеру:
facha@fuzzy:~$ time ./printtime.sh
real 0m2.226s
user 0m1.044s
sys 0m1.156s
facha@fuzzy:~$ time ./printtime.py
real 0m0.029s
user 0m0.020s
sys 0m0.008s
Дальше код этих мегаскриптов (дисклеймер: если хабр его покоцает — я не виноват):
printtime.sh
#!/bin/sh
for i in `seq 1000`; do echo `date +%s`; done
printtime.py
#!/usr/bin/env python
import time
for i in range(1000): print time.time()
Говоря «на баше» Вы немного лукавите. На баше — это на баше + grep/awk/sed/cat… + специфические для задачи утилитки (например, snmpget). Каждая из утилиток — отдельный процесс со всеми вытекающими накладными расходами. В скрипте на питоне процесс будет всего один (если сами их не нафоркаете, конечно).
И каковы результаты?
А вот я наблюдаю. Не пойму, с чем это связано. Но по крайней мере среди программистов (да, знаю, что не все хаброчитатели — программисты, но все-таки) очень много музыкантов, и порой талантливых. Вот, решил спросить